Forum: Mikrocontroller und Digitale Elektronik VDIP1 GPS Mouse -> UART


von Felix (Gast)


Lesenswert?

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).

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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).

von Benedikt K. (benedikt)


Lesenswert?

In den Navilock Teilen ist ein PL2023 verbaut. Der sitzt so ziemlich an 
der ungünstigsten Stelle zum Auslöten: Unter der Antenne.

von Felix (Gast)


Lesenswert?

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?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.

von Felix (Gast)


Lesenswert?

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 =)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> 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.

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.