Samstag, 23. April 2011
Erster Holzweg USB Flight Controll 1.0 und 1.1
Da ich mich davor drücken wollte das USB Protokoll selbst zu auf einem AVR zu implementieren, da es doch ziemlich anspruchsvoll ist, hatte ich mir überlegt die USB-kommunikation von einem eigenen und vorallem fertigen IC übernehmen zu lassen. Zuerst sollte es ein FTDI werden doch der schied ziemlich schnell wieder aus, da dieser einen eigenen Treiber auf dem PC benötigt der die ankommenden Daten aufbereitet und sie Windows als Gamecontrollerdaten serviert. Da ich das schreiben von Treibern vermeiden wollte, fiel meine wahl auf den CP2110 von SILabs.
Bei diesem Chip handelt es sich um eine "USB-HID to UART bridge" also eigentlich genau das was ich gesucht habe. Einen Chip der sich über ein bereits im AVR vorhandenes Protokoll ansprechen lässt und sich am PC als HID anmeldet. was will man mehr...
Die Sache hat nur zwei Hacken:
1. Der Chip schein in Deutschland nicht zu bekommen zu sein wenn man nicht bereit ist horrende Versandkosten dafür zu zahlen.
2. Der Chip wird nur im QFN 24 Gehäuse Hergestellt. Dieses Gehäuse ist extrem klein und besitz noch zu allem übel keine nach ausen geführten beinchen, was das löten mit einem normalen Lötkolben fast unmöglich macht. Zum Vergleich, ein Bild des ICs auf meinem Daumennagel:


Nachdem ich Schaltung und Layout erstellt hatte und der Chip endlich beschafft war hat mir der Support von SILabs mitgeteilt:

"The CP2110 has built-in HID descriptors that it uses during USB enumeration. Those descriptors were designed specifically for HID-to-UART control, and cannot be changed to emulate a mouse or a game controller etc."

Ok das ist mies gelaufen aber man hätte sich ja vorher auch besser informieren können.
Da ich das Gerät gleich als HID Gamecontroller anmelden wollte ohne Treiber wird mir jetzt wohl nichts anderes übrig bleiben als das Protokoll jetzt doch komplett zu verstehen und es selbst auf den AVR Controller zu schreiben.

... link (0 Kommentare)   ... comment


Feste Größen des Projekts
Die Verwirklichung wird mittels eines AVR Controllers von Atmel erfolgen. Für die ersten Prototypen habe ich mich für den "AtMega 8535" entschieden. zuerst im DIL Package und wenn die schaltung was taugt auch im TQFP Package um auf einer geätzten Platine platz zu sparen.
Die Verbindung zum PC soll über USB erfolgen.
Es ist geplant das sich das Gerät gleich nach der Verbindung als HID Gamecontroller anmeldet und somit ohne Treiber verwendet werden kann.

... link (0 Kommentare)   ... comment