USB HID mit Atmel AVR

Gast #122196
Hallo!

Ich möchte gerne ein eigenes Eingabegerät für den USB bauen. Dafür
existiert ja bereits die Geräteklasse HID (Human Interface Device).
Super fände ich es die App-Note 309 (IgorPlug) entsprechend umzuändern.
Allerdings blicke ich ehrlich gesagt noch nicht ganz durch was für eine
Geräteklasse Igor Cesko verwendet, wie ich das umstelle und die
entsprechenden Funktionen realisieren kann.

Leider finde ich mich in den vielen Beschreibungen, u.a. von usb.org
als auch von Igor Cesko nicht wirklich zurecht. Ist das Protokoll
ähnlich dem I2C Byte-orientiert und nur die Bytes machen die Funktion
aus? Scheint ja eher sehr große Pakete zu geben...

Wie ist der konzeptionelle Ablauf der Übertragung? Ich stecke das HID
ein und es meldet dem PC ja irgendwie was es übertragen kann. In meinem
Fall wäre das ein Standard XY-Achsen Joystick.

Ich kann bei Igor Cesko nicht die Unterteilung von
USB-Hardware-Emulation und der das USB-Interface bedienenden Software
ausmachen...

Ihr müsst euch nicht die Finger wund schreiben, ich nehme auch gerne
gute Links!

Vielen Dank
Robert
Gast #122198
Hallo,

daran habe ich mich vor ca. einem Jahr auch schon mal versucht und bin
gescheitert. Die Software von Igor trennt wohl aus
Geschwindigkeitsgründen nicht so klar zwischen physikalischem und
logischem USB Interface wie das die diversen USB-Controller tun. Ich
bin immerhin so weit gekommen, das der PC den AVR als HID erkannt hat
(dazu muss man nur einige Descriptoren ändern bzw. hinzufügen). Da
Igors Software aber nur Control-Transfers kann und keine
Interrupt-Transfers, wie für HID-Geräte notwendig, wäre es nötig
gewesen, dem AVR eben diese noch beizubringen. Für meinen ersten Ansatz
war aber der AVR zu langsam und dann habe ich es aufgegeben. Es ist
wesentlich einfacher, einen externen USB-Controller oder einen
USB-fähigen uC zu nehmen. Habe als HID erfolgreich einen AVR + PDIUSB11
und einen AN2131 ans Laufen gebracht. Da der PDIUSB11 aber wegen
Problemen mit USB 2.0 abgekündigt ist, werde ich mich demnächst mal mit
dem USBN9603 auseinandersetzen.

Gruß,

Axel

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.