Forum: Mikrocontroller und Digitale Elektronik Simpler USB Host an einem AVR


von Null C. (yah996)


Lesenswert?

Hallo,

ich möchte gerne eine USB Mouse an meinem AVR anschließen. Da ich mit 
mehreren Mäusen (vergleiche) arbeiten möchte, habe ich keine Lust mehr, 
die interne USB Bridge umzulöten.

Meine Frage: Gibt es fertiges Hardwaremodul? Ich brauche keinen 
komplexen USB-Stack, eigentlich nur ein serielles Port. Auch mit fixer 
Portrate.

Mein Ziel

AVR => TX/RX => [USB-Host Controller] =>  --- Kabel --- => USB (cp2102) 
=> RX/TX  => GPS Modul.


Die gängen Lösungen sind mir bekannt, wie gesagt mein Traum wäre ein 
Modul mit   2 Steck-Anschlüssen, Input > Rx/Tx und Output > USB (male) 
connector...

http://www.vinculum.com/ kenne ich.

Greets

K.

von Stefan (Gast)


Lesenswert?

Nehm halt PS/2 Mäuse...

von sven f (Gast)


Lesenswert?

ich glaub er meint gps-maus nicht pc maus!

von Der M. (steinadler)


Lesenswert?

Tja... wenn du Vinculum nicht möchtest, kannst du entweder mal nach 
USB-Hose-IC googlen oder aber, du implementierst nen USB-Stack selbst.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das Problem ist hier die in den (idiotisch benannten) "GPS-Mäusen" 
verbaute USB-Seriell-Bridge. Da deren USB-Protokoll nicht genormt ist 
(obwohl es mit CDC eine Norm dafür gibt), muss der USB-Host-Controller 
das spezifische USB-Protokoll dieser Bridges unterstützen.

Der Vinculum "kennt" natürlich keine USB-Seriell-Bridges von SiLabs oder 
Prolific ...

von Uwe Bonnes (Gast)


Lesenswert?

"Simple" und "USB-Host" wiedersprechen sich diametral...

von Null C. (yah996)


Lesenswert?

Sorry,

ja ich meine die GPS-Mäuse... Die "Mäuse" sind mit einen Standard GPS 
Modul versehen (RS232 Seriell-Interface)  und werden auf USB 
gebridged...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Die "Mäuse" sind mit einen Standard GPS
> Modul versehen (RS232 Seriell-Interface)  und werden auf USB
> gebridged...

Eben. Und genau DAS ist das Problem. Das, sofern die USB-Seriell-Bridge 
nicht mit einem FTDI-Controller aufgebaut ist, nicht ohne erheblichen 
Aufwand lösbar ist.

"Erheblicher Aufwand" würde bedeuten, einem frei programmierbaren 
USB-Host-Controller einen USB-Host-Stack und dann einen zur verwendeten 
USB-Seriell-Bridge passenden Treiber zu verpassen. Das würde 
voraussetzen, daß das von der jeweiligen USB-Seriell-Bridge verwendete 
USB-Protokoll bekannt ist. Da das aber von keinem der beteiligten 
Herstellern dokumentiert ist (und auch nicht das standardisierte 
CDC-Protokoll ist), ist hier eine ausführliche Sitzung mit einem 
USB-Analyzer und ausführlichem "reverse engineering" angesagt. Und das 
muss für jeden einzelnen USB-Seriell-Bridge-Baustein, der verbaut werden 
kann, erneut gemacht werden (FTDI, SiLabs, Prolific, TI etc.)

Es dürfte erheblich einfacher sein, das serielle Signal der 
GPS-Empfänger vor der USB-Seriell-Bridge darin abzugreifen.

von Null C. (yah996)


Lesenswert?

Erst mal vielen Dank...

Ist mir aber nicht ganz verständlich. Ich meine der Software Treiber auf 
dem PC wandelt doch "nur" ein Serielles Protokoll? Jede beliebiger 
USB/RS232 Treiber auf dem PC erkennt doch diese GPS Mäuse... Aber gut, 
sehe schon, sehr komplex....

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Jede beliebiger USB/RS232 Treiber auf dem PC
> erkennt doch diese GPS Mäuse

O nein, das tut er eben nicht.

Der Treiber muss zur USB-Seriell-Bridge passen. Ein SiLabs-Chip 
funktioniert nur mit einem SiLabs-Treiber, ein Prolific-Chip 
funktioniert nur mit einem Prolific-Treiber etc.

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
Noch kein Account? Hier anmelden.