Mein Ziel ist es die Daten der GPS Mouse in einen Atmega16 zu bekommen.
Um dies zu erreichen, habe ich mir das VDIP1 Evaluation Board geleistet,
welches den USB Datenstrom einfach ins UART-Format wandeln können soll.
Das funktioniert aber nicht, daher wend ich mich an euch:
Wenn ich den VDIP1 (der Chip drauf ist ein VNC1L) mit Spannung versorge,
dann blinken abwechselend beide LEDs 3x, kurze Pause, und es beginnt
wieder von vorne. Am Oszi seh ich wie der Pegel nach oben gezogen wird,
aber nichts weiter damit passiert. USB-GPS-Mouse ist natürlich
angehängt, aber auch abhängen und wieder anstecken ändert nichts. Erst
beim Beenden der Stromversorgung, geht der Pegel zurück.
Das Datenblatt gibt sowohl vom VDIP1, als auch vom VNC1L nicht viel her,
die Jumper jedenfalls sind richtig - beide auf Pull-Up - gesetzt. Mit
meinem Latein steh ich hier an, vielleicht kann mir wer von euch
weiterhelfen.
Als GPS Mouse habe ich einen Navilock NL-302U sowie einen ubox Antaris 4
Empfänger zur Verfügung.
Brauche ich eventuell doch eine spezielle Firmware um diese auslesen zu
können? Momentan ist die drauf, die werkseitig ausgeliefert wird (VDAP).
Das funktioniert nur, wenn der GPS-Empfänger als USB-Interface einen
FT232 verwendet. Bereits die Verwendung eines vergleichbaren Bausteins
eines anderen Herstellers (Prolific, Silabs, TI) verurteilt das Projekt
zum Scheitern, denn die Firmware des VNC1L kennt diese Bausteine nicht.
Und ebenso kennt die Firmware des VNC1L irgendwelche anderen USB-Devices
außer ein paar USB-Standardgeräteklassen wie MSD (Mass Storage
Device).
Hey vielen Dank! Das hift mir schonmal großartig weiter.
Rufus, bei deinem letzten Satz fehlt ein "nicht", oder?
Wisst ihr auf die schnelle eine Möglichkeit, das GPS Signal, von einem
handelsüblichen GPS Empfänger mit USB Schnittstelle (es geht darum an
dieser Stelle so flexibel wie möglich zu sein), auf den µC zu übertragen
(vermutlich ist UART die einfachste Kommunikation - bin aber für andere
Möglichkeiten ebenso offen, bin bloß nicht erfahren, was das angeht)?
Oder ist so ein vorhaben sinnlos, da jede GPS USB Maus ein anderes USB
Interface verwendet, und es hier einfach nicht geht, halbwegs
unkompliziert eine einheitliche Schnittstelle zu schaffen?
Nein, kein nicht, ein "wenig" fehlt. Sorry:
> Und ebensowenig kennt die Firmware des VNC1L irgendwelche> anderen USB-Devices außer ein paar USB-Standardgeräteklassen> wie MSD (Mass Storage Device).
Das Problem hast Du korrekt erkannt, da nicht jeder USB-GPS-Empfänger
dieselbe USB-Hardware verwendet, ist eine standardisierte Lösung zum
Ansprechen der Empfänger nicht möglich. Ein Prolific-Chip verwendet ein
anderes USB-Protokoll als ein FTDI-Chip, auch wenn beide mehr oder
weniger dasselbe erzielen sollen.
Wenn man einen frei programmierbaren USB-Host hat, kann man eventuell
aus den Linux-Treiber-Sourcen alle Informationen ableiten, die
erforderlich sind, um "die üblichen Verdächtigen" anzusteuern. Nichts
aber hindert einen Hersteller von USB-GPS-Empfängern daran, einen
Empfänger herzustellen, der wieder eine andere Art von USB-Schnittstelle
verwendet. Es gibt halt leider keine Standardgeräteklasse für
GPS-Empfänger.
Zwar gibt es sogar eine Standardgeräteklasse für Kommunikationsgeräte
(CDC), die aber wird aus welchen Gründen auch immer von den üblichen
USB-Seriell-Bridges nicht verwendet, stattdessen setzen die Hersteller
auf ihre eigenen proprietären Implementierungen.
Naja, mit den bekannten Folgen. Am PC ist es wurscht, weil ja eh' eine
Treiber-CD für Windows beiliegt, auch für den Mac ist oft schon was
dabei, mit Linux wird dann die Luft schon dünner ...
Für Einzelstücke ist die Abhilfe das Abgreifen der seriellen Daten vor
der USB-Seriell-Bridge, wenn denn eine verwendet wird. Wenn nicht, dann
ist Fluchen angesagt, und ein anderer GPS-Empfänger zu verwenden.
Bleibt nur noch anzumerken, dass beide GPS Mäuse unter Linux ohne
zusätzliche Treiber auf Anhieb funktionierten, was man von Windows nicht
behaupten kann.
Rufus, danke für deine Ausführungen, bin jetzt ein Stückchen schlauer
geworden =)
> Bleibt nur noch anzumerken, dass beide GPS Mäuse unter Linux ohne> zusätzliche Treiber auf Anhieb funktionierten ...
Nun, dann wird bei Deinem Linux halt die erforderliche
Treiberunterstützung dabei sein.
> ... was man von Windows nicht behaupten kann.
Nö, im Lieferumfang von Windows sind nicht alle nur denkbaren Treiber
für alle nur denkbare Hardware enthalten.