Das GPS-System hat mich schon sehr lange fasziniert. Irgendwann kommt man an dem Punkt an, das die reine
Benutzung einen selber nicht mehr glücklich macht. Man möchte wissen WIE es funktioniert. Die
Dokumente im Internet sind schnell gesucht (ICD200), aber wie kommt man z.B.
an die gesendeten Daten der GPS-Satelliten heran ?

ubloxgps 0

Leider geben die herkömmlichen Hand-GPS-Geräte keine Rohdaten aus. Deshalb habe ich hier auf ein
OEM-Modul von uBlox http://www.u-blox.com/ zurückgegriffen. Dieses ist mit dem SiRF-Chipsatz bestückt
und ist mit guter Dokumentation zu bekommen. Das Modul läßt sich in einen PLCC84 Sockel hereindrücken
und mit etwas Hardware aussenrum als GPS-Empfänger betreiben. Es besitzt insgesamt 4 serielle
Schnittstellen, wobei ich auf eine Schnittstelle das NMEA-Protokoll und auf die andere das
SiRF-Binary-Protokoll gelegt habe.

Das MS1-Modul hat eine Betriebsspannung von 3,3V und 5V, wobei die 5V nur auf die
Antennenbuchse zur Fernspeisung gegeben werden:

ubloxgps 3 

Zusätzlich benötigen wir noch Pegelkonverter um die 3,3V Logik an die RS232 anzuschliessen.
Da ich leider keinen MAX3232 hatte, hab ich das ganze kurzerhand mit dem MAX232 aufgebaut. Die
Eingänge sind mit 680k so beschaltet, das der max. Eingangsstrom des uBlox-Moduls nicht
überschritten wird durch die internen Pullup-Quellen des MAX232. Am Ausgang wird einfach
der 5V Pegel auf 3,3V gebracht:

ubloxgps 2 

Das Modul selber passt wie schon beschrieben hervorragend in einen PLCC 84 Sockel
hinein. Wir verschalten das ganze und schon kanns losgehen:

ubloxgps 1 

Mit den 4 Schalter läßt sich das Modul noch zusätzlich steuern, wobei ich die Schalter immer in
folgender Stellung lasse:

Schalter 1
Wakeup (offen)
Schalter 2
Flash (offen)
Schalter 3
Reset (offen)
Schalter 4
Antenne 5V (geschl.)

Damit funktioniert unser GPS auch schon. Nach dem ersten Einschalten dauert es eine Weile bis
sich das Modul alle erforderlichen Daten zur Positionsberechnung geholt hat (15min liegen lassen)
und den 1 Farad-Goldcap aufgeladen hat.
Am Port A kommt nach dem Einschalten das NMEA-Protokoll mit 9600Baud heraus.

ubloxgps 4 

Um an die Rohdaten des uBlox-Moduls heranzukommen, muss ein Port auf das sogenannte
SiRF-Protokoll umgestellt werden. Für die Grund-Funktion als reines GPS für Kartenanwendungen
wird ein zweiter Port als NMEA-Ausgabe programmiert.

Dazu sind folgende Schritte in der u-Center Software von uBlox nötig:

a) Ausgangsvorraussetzung : Port A ist auf 9600Baud und NMEA eingestellt.

b) Port A auf SiRF stellen

   - u-Center starten
   - mit "F4" in die Messages View wechseln
   - NMEA Protocol Input öffnen
   - Bei $PSRF100 - Set Serial Port öffnen, dort SiRF und 38400 Baud einstellen
   - Send drücken
  
Damit haben wir den Port A auf SiRF mit 38400 Baud umgestellt.

c) Port A und C neu belegen

   - mit "F4" in die Messages View wechseln
   - SiRF Protocol Input öffnen
   - Message 165 - Change Uart einstellen wie folgt:

   Port A : SiRF, 38400
   Port B : <NO I/O>
   Port C : NMEA, 9600
   Port D : <NO I/O>

   - Send drücken
  
Am Port A ist nun das SiRF Protokoll mit 38400 Baud und am Port C NMEA mit 9600 Baud verfügbar.

d) Umstellen auf vollen Datenausgabe

   - Mit "F4" in die Messages View wechseln
   - SiRF Protocol Input öffnen
   - Message 128 - Initialize Data Source folgende Checkboxen aktivieren:

   Hotstart, Enable raw track data, Enable debug data

   - Send drücken
  
Damit wird zusätzlich zu dem 50Baud Rohdaten-Frames alle anderen Infos des Trackers
mit ausgegeben.

 

Damit steht dem Forscherdrang nichts mehr im Wege - mit vollem Zugriff auf alle Daten !