Forum: Mikrocontroller und Digitale Elektronik UBlox GPS Neo6M USART Übertragung Trouble


von Oli H. (lavalu)


Lesenswert?

Heisann Mennesker,

es ist soweit, bevor ich explodiere versuch ich nochmal ein paar Tipps 
zu erhaschen: Ich habe hier ein UBlox Neo6M GPS vor mir liegen das ich 
über den USART an einem PIC18 drangehängt habe. Im Prinzip funktioniert 
auch der Empfang vom Modul, allerdings werde ich nicht vom Modul ernst 
genommen wenn es von mir eine Sendung bekommt:

Gibt es evtl jemanden der mir einen Tipp geben kann wie eine Meldung 
aussehen müsste die man an das Modul schicken kann und die irgendwas an 
dem Datenstrom ändert den ich vom GPS bekomme.
Eigenltich möchte ich gerne 1. auf das UBX Protokoll umstellen, 2. würde 
ich das Modul gerne so konfigurieren das ich nur die Proprietary Message 
UBX,00  bekommen mit Longitude, Latitude usw. aber jede andere Meldung 
die ich benutzen kann wäre mir auch recht.

Im Datenblatt sucht man übrigens vergeblich nach einem Beispiel !

Grundlegend ist das Modul wie gesagt am USART2 des PICs angeschlossen, 
das Modul läuft auf 9600Baud, alle Boot-Time-Config-Pins sind 
unconnected und durch die internen Pullups auf 3,6V in meinem Falle.

Testverlauf:
- Empfang vom Modul zum PIC: Funktioniert ich bekomme erfolgreich die 
NMEA Datensätze eingelesen.
- Senden der CFG-PRT Message (0x06 0x00) zum umschalten auf das UBX 
Porotokoll mit dem Hex Werten 0xb5 0x62 0x06 0x00 0x14 0x00 0x02 0x00 
0x00 0x00 0xA0 0x08 0x00 0x00 0x80 0x25 0x00 0x00 0x03 0x00 0x01 0x00 
0x00 0x00 0x00 0x00 0x6d 0x9d: Funktioniert NICHT es werden keine UBX 
Daten ausgegeben, NMEA werden weiterhin gesendet, kein ACK oder NAK zur 
Bestätigung. Es passiert nix! Pfui sag ich!
- Da hab ich mir natürlich gedacht, das meine gesendeten Daten evtl. 
nicht am GPS ankommen und die TX Leitung vom Controller einfach mal an 
die RX Leitung vom Controller (ohne GPS): Funktioniert, ich bekomme die 
gesendeten Daten ohne Probleme wieder in den PIC, so dass ich mal davon 
ausgehe das RX und TX korrekt konfiguriert sind.

evtl ist auch nur die Checksumme falsch ( das sind die letzten beiden 
Hex werte) berechnet hab ich Sie wie im Protokolle-Datenblatt auf Seite 
78.

http://www.u-blox.com/images/downloads/Product_Docs/u-blox6_ReceiverDescriptionProtocolSpec_%28GPS.G6-SW-10018%29.pdf

allerdings bin ich mir unsicher mit dem C Beispiel den ich schreib in 
Assembler bzw. lass mir die checksumme von LabView erstellen.

Ihr seit allerherzlichst zur Diskossionsrunde eingeladen, jeder noch so 
banale Hinweis kann mir helfen, fragt mir Löcher in den Bauch, über 
USART, RX TX, Pins am GPS alles was euch einfällt, komm einfach nicht 
weiter !!!


LG Oli

von Oli H. (lavalu)


Lesenswert?

Keiner der schonmal mit Ublox gearbeitet hat??

von Chris (Gast)


Lesenswert?

Lade dir doch das ublox ucenter runter, dort kannst du es umschalten..
Dann einfach mal mit portmon mitschreiben :)

von Oli H. (lavalu)


Lesenswert?

Hallo Chris,

danke für die Antwort! Ich hab mit deinem Tipp versucht und
herausgefunden das man bei U-Center die HEX Ausgabe sichtbar machen
kann. Habe natürlich voller freudiger Erwartung ersteinmal geschaut ob
ich bei den Messages die selbe Checksumme habe, und tatsächlich wird
meine Checksumme richtig berechnet, das ist also nicht das Problem.

Ich hab dann den Befehl fürs Abfragen der Firmware Revision aus der
Software heraus "geklaut" und an meinem Modul probiert aber wieder nix,
keine Antwort, kein ACK oder NAK.

Schade der Tipp war dabei sehr gut, weil das natürlcih die perfekte
Referenz-Message-Quelle ist. Aber es will immer noch nicht.

Wenn das so weiter geht ruf ich bei der Telefonseelsorge an!?!?

von Fabian (Gast)


Lesenswert?

etwas spät aber ich habe genau das selbe Problem hast du es gelöst?

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.