Ich stehe vor der Aufgabe über den Mikrocontroller eine Ausgabe am PC wie eine Tastatur zu realisieren. Dazu steht noch die Überlegung das ganze mit einer SD-Karte zuerweitern, so dass der Mikrocontroller seine Einstellungen aus einer SD-Karte einlesen kann. Zunächst frage ich mich, ob ich den USB-Device vom Mikrocontroller benutzen sollte oder lieber selbst als HID realisiere? Es wird ausschließlich Windows als Betriebssystem genutzt. Ich muss zugeben, dass das ganze absolut Neuland für mich ist. Soweit ich durch das Internet recherchieren konnte, sind HID natürlich sehr flexibel und individuell. Dazu brauchen sie im Gegensatz zu USB Device, keine zusätzliche Treiber am PC selbst. Mir ist wichtig, dass die Verbindung zum PC zuverlässig funktioniert und zwar schnell. Danke für eure Antworten im voraus :).
Elektrotiger schrieb: > Ich stehe vor der Aufgabe über den Mikrocontroller eine Ausgabe am PC > wie eine Tastatur zu realisieren. wie ist die Aufgabe?
Peter II schrieb: > wie ist die Aufgabe? Es werden mittels Signale durch Lichtwellenleiter letztenendes mit dem Mikrocontroller "Buchstaben" als Ausgabe stimuliert. Sprich Schalter gedrückt führt zur Ausgabe "a" usw, wie als würde man auf der Tastatur a drücken.
Elektrotiger schrieb: > Sprich Schalter gedrückt führt zur Ausgabe "a" usw, wie als würde man > auf der Tastatur a drücken. dann spricht doch alles dafür sich als HID anzumelden.
Peter II schrieb: > dann spricht doch alles dafür sich als HID anzumelden. Und warum nicht USB Device?
Du definierst ein Composite-Device (<-Stichwort). Ein Interface stellt ein ganz normales Keyboard dar (Keyboard Descriptor [<-Stichwort]) das andere ein generic HID (<-Stichwort). Das ist aber nix für Anfänger. Gruß Peter
Elektrotiger schrieb: > Und warum nicht USB Device? Ein HID ist ein USB Device, was auch sonst? Da du aber eine Tastatureingabe simulieren sollst, gibt es nun wirklich keinen einzigen Grund, das nicht als HID vorzunehmen, denn genau für derartige Dinge ist das human interface device ja gedacht.
Peter schrieb: > Das ist aber nix für Anfänger. Muss ich durch ;). Bachelorarbeit ist nicht geschenkt. Jörg Wunsch schrieb: > Ein HID ist ein USB Device, was auch sonst? Der ATxmega256A3BU besitzt einen fertigen USB Device, daher die Frage ob dennoch HID.
Elektrotiger schrieb: > Der ATxmega256A3BU besitzt einen fertigen USB Device, daher die Frage ob > dennoch HID. Du hast es immer noch nicht begriffen: das ist kein Widerspruch in sich, kein entweder-oder. Selbstverständlich kannst du mit dem USB-PHY deines ATxmega256A3BU ein HID anfertigen, und genauso selbstverständlich kannst du auch ein Mehrzweckgerät damit bauen, das neben dem HID noch ein mass storage device beinhaltet. Beispiele dafür sollten sich finden lassen, zum Beispiel bei LUFA.
1: Was würde gegen ein seperates USB Perpheral sprechen? 2: Und was würde für eine einfache USB Verbindung mittels Spannungsregler an zwei I/O Pins sprechen? 1: Mittels low USB 1.0 Dazu wird kein USB Chip benötigt, sondern nur ein Spannungsregler MCP1700 0,382€ und zwei normale Pins am Mikrocontroller (Geringere Hardware-Ressourcen) Mehr Freiheit bei der Wahl der USB-Deskriptoren. V-USB unterstützt (kostenlose, fertige Programme) 2: Separates USB Perpheral USB Chip von nöten: FT232RL 3€.
Wenn schon ein ATxmega256A3BU benutzt wird, würde ich dessen USB-Schnittstelle verwenden und damit die USB "HID" Geräteklasse implementieren. Atmel hat dafür scheinbar sogar schon passenden Beispielcode: http://asf.atmel.com/docs/latest/common.services.usb.class.hid.device.keyboard.example.stk600_atxmega256a3bu/html/index.html V-USB halte ich persönlich eher für Pfusch (wenn es auch irgendwie interessant ist) Der ft232rl spricht kein HID, dann müsste erst eine Zusatzanwendung auf dem Rechner die Daten in Pseudo-Tastatureingaben umwandeln.
bluppdidupp schrieb: > Der ft232rl spricht kein HID, dann müsste erst eine Zusatzanwendung auf > dem Rechner die Daten in Pseudo-Tastatureingaben umwandeln. Deswegen ist es ja auch ein FT232RL (eine RS232 zu UART Bridge) und kein z.B. MAX3420E (USB Interface Controller)
:
Bearbeitet durch User
bluppdidupp schrieb: > V-USB halte ich persönlich eher für Pfusch V-USB ist ganz gewiss kein Pfusch, sondern eine Variante, wie man Controller, die sonst gar keine USB-Funktionalität haben, trotzdem an den USB bekommen kann. Aber wenn man schon einen ATxmega256A3BU benutzt, dann gibt es natürlich absolut keinen Grund, warum man auf so einen Hack zurückgreifen soll.
Da gibt es eine ganz einfache Lösung: http://www.codemercs.com/index.php?id=38&L=0 KeyWarrior24D kann man mit 8 Bit Hex-Code füttern und der sendet dann den Key als Tastatur über den USB. Modifier-Keys gehen auch.
Guido Körber schrieb: > Da gibt es eine ganz einfache Lösung: Aha. Und daraus zimmert man dann eine Bachelor-Arbeit?
>Aha. Und daraus zimmert man dann eine Bachelor-Arbeit?
Na klar, gute Leute schauen erst mal was es so an funktionierenden
Lösungen gibt. Ich will nie wieder Projekte aufräumen, bei denen
Anfänger alles selbst erfunden haben.
Weiter so!
Noch einer schrieb: > Na klar, gute Leute schauen erst mal was es so an funktionierenden > Lösungen gibt. Dafür gibt es aber genügend andere Beispiele, auch für Kombi-Geräte (auf das es ja am Ende hinauslaufen soll). LUFA habe ich schon genannt, ich glaube, es gibt auch Appnotes von Atmel zum Thema. Das sollte genug Input sein, um das in einer derartigen Arbeit dann verwerten zu können.
V-USB würde ich nur einsetzen, wenn es billig-Schrott werden soll. Google nur mal nach USBASP, dann bekommst Du einen Eindruck davon, wie unzufrieden deren Besitzer sind.
Das Problem mit VUSB ist, dass es einfach sich nicht an die USB Specs hält. Funktionieren tut es meistens aber es ist eben nicht das Zuverlässigste. Da spricht nix dagegen.
stefanus schrieb: > V-USB würde ich nur einsetzen, wenn es billig-Schrott werden soll. Kommt doch mal wieder runter, Jungs. Keiner hat hier ernsthaft die Absicht, eine Mauer, ähem, eine Software-USB-Lösung zu implementieren, wenn von einem ATxmega256A3BU die Rede ist.
Elektrotiger schrieb: > 2: Und was würde für eine einfache USB Verbindung mittels > Spannungsregler an zwei I/O Pins sprechen? Lies Dich doch erst einmal die USB-Spezifikation und die HID-Spezifikationen vollständig durch und verstehe die Inhalte. Dann wird Dir hoffentlich klar werden, welchen Unsinn Du hier geschrieben hast. Um USB zu verstehen genügt es definitiv nicht, jemanden zu kennen, der schon einmal erfolgreich eine USB-Maus an seinem PC eingestöpselt hat, sondern die wichtigsten Informationen findet man in den offiziellen Spezifikationen. http://www.usb.org/developers/docs/usb20_docs/ http://www.usb.org/developers/hidpage/
Noch einer schrieb: >>Aha. Und daraus zimmert man dann eine Bachelor-Arbeit? > > Na klar, gute Leute schauen erst mal was es so an funktionierenden > Lösungen gibt. Gute Leute haben bei ihrer Ausbildung was gelernt, und das durch selber machen und nicht durch zusammenstöpseln von Fertiglösungen.
Rolf Magnus schrieb: > Gute Leute haben bei ihrer Ausbildung was gelernt, und das durch selber > machen und nicht durch zusammenstöpseln von Fertiglösungen. In der Ausbildung mag das stimmen, aber die Kunst daran ist das gesunde Mittelmaß zu finden. Sonst erfindet man das Rad jedes mal neu.
Rolf Magnus schrieb: > Gute Leute haben bei ihrer Ausbildung was gelernt, und das durch selber > machen und nicht durch zusammenstöpseln von Fertiglösungen. Dir ist schon bewusst, dass die Bachelorarbeit nicht bei jedem Pups alles herleitet? Es sei denn Du schreibst gerade zu diesem Thema eine Arbeit, wer allerdings sämtliche Mikrocontroller für umfangreichere Zwecke nutzt, hat für so einen Mist kein Platz in der Bachelorarbeit! Ganz im ernst, soll man die Maxwellschen Gleichungen wieder herleiten um die Ohmsche Gesetze nutzen zu dürfen? Soll man erklären wie ein Mikrocontroller aufgebaut ist nur weil man ihn zur Auswertung von z.B. Lichtwellensignalen nutzt und einen MRT Scanner Signal simuliert und so weiter ?...
:
Bearbeitet durch User
Rene Müller schrieb: > Dir ist schon bewusst, dass die Bachelorarbeit nicht bei jedem Pups > alles herleitet? Das is ja klar. Elektrotiger weiss das auch - er hat sich ja seit 4 Tagen nicht mehr geäusert. Der ist bestimmt schon fertig mit der Arbeit und macht jetzt Urlaub.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.