GPS-Maus Falcom Navi-S-1

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Technische Daten

Chipsatz: SiRF2
Versorgungsspannung: 5V (3,5 bis 7V)
Schnittstelle: Seriell, 3,3 Volt

Anschlussbelegung

Wenn man das angebrachte Kabel abmantelt, findet man vier Adern vor. Die Belegung ist wie folgt:

Gelb: Vcc
Grün: GND
Rot: TX: Hier kommen die Daten raus, mit RX vom µC verbinden.
Weiß: RX

Software

Um die Funktion und den Empfang der Module zu testen, ist das Programm SiRFDemo nützlich. Weiterhin kann man mit diesem Programm die Module konfigurieren.
Firmwareupdates können mit dem Programm SiRFflash durchgeführt werden.

Standardeinstellungen

Nach dem Einschalten werden folgende NMEA-Daten mit 38400 Baud ausgegeben:

$PSRFTXT,Version: 2.4.13.00-XTrac2.0.1-C3PROD1.0 0000003721 *17
$PSRFTXT,TOW:  0*25
$PSRFTXT,WK:   1255*66
$PSRFTXT,POS:  6378137 0 0*2A
$PSRFTXT,CLK:  96250*25
$PSRFTXT,CHNL: 12*73
$PSRFTXT,Baud rate: 38400  System clock: 24.553MHz*45

Danach folgen nur noch RMC-Nachrichten.

Features

Schnittstelle

Die GPS-Mäuse senden in der Ausgangskonfiguration Daten im SiRF-Binary Protokoll. Man kann die Module aber auch auf NMEA mit beliebigen Baudraten umstellen. Einstellbare Datensätze sind GPRMC, GPGGA, GPGSA, GPGSV, GPGLL, GPVTG und GPMSS. Die Umstellung kann über das Programm SiRFDemo erfolgen. Unter den Einstellungen sind auch die Datensätze User8, User9 und User10 aufgeführt. Beim JP7T versteckt sich hinter User9 der GPZDA-Datensatz.

Power-Management

Im Auslieferungszustand, also mit XTrac-Firmware, wird das Advanced Power Management von SiRF unterstützt. Damit sind Positionsraten von 10 bis 180 Sekunden möglich. Weiterhin kann man dem Modul vorgeben, wie viel % der Zeit es eingeschaltet sein soll, und ob die Positionsrate oder der Stromverbrauch Priorität besitzt.

Die JP7T-Firmware dagegen bietet die Modi Trickle-Power und Push-to-Fix an. In Trickle-Power sind Positionsraten zwischen 1 und 10 Sekunden möglich. Im Modus Push-to-Fix schaltet das Modul sich in einen Energiespar-Modus, Positionsupdates können über den Pin "RESET_N" angefordert werden. Die GPS-Maus muss dazu natürlich aufgebrochen werden, um an das Modul dranzukommen... Laut Datenblatt lohnt sich Push-to-Fix erst ab einer Positionsraten von etwa 600 Sekunden.

Die Befehle zum Einschalten der Energiespar-Modi sind im Datenblatt beschrieben. SiRFDemo ist dazu ebenfalls in der Lage.

PPS-Timing

Die XTrac-Firmware unterstützt offenbar keinerlei Timing-Funktionen. Um diese nutzen zu können, muss die JP7T- oder JP7TH-Firmware aufgespielt werden.

SiRF Timing Message

Kann in SiRFDemo über Action / Set Message Rate eingeschaltet werden. Dort 0x34 PPS Timing auswählen und die Update-Rate auf 1 Sekunde einstellen.

GPZDA-Datensatz

Kann ausgewählt werden, wenn man das Modul in den NMEA-Modus umschaltet. Verbirgt sich hinter "User9", nachdem man die JP7-T Firmware aufgespielt hat.

1-PPS-Puls

Weiterhin ist beim JP7T der 1-PPS-Puls (1 PulsePerSecond) am GPS-Modul an Pin 29 abgreifbar. Laut Datenblatt hat der 1-PPS-Puls CMOS-Pegel und eine Länge von 100ms. Zeitreferenz ist die positive Flanke. Die Genauigkeit liegt unter 1µs im Vergleich zu einem Referenz PPS Puls.

1PPSPulse.jpg

Firmware

Die Firmware wird mit dem Programm SiRFflash (Download siehe Weblinks) auf das Modul aufgespielt. Einstellungen: "Baud rate" auf 38400 Baud verringern, "Target boot mode state setting" auf "External", "Programming options" auf "Erase whole chip". Dann per "Browse" die neue Firmware auswählen und mit "Execute" den Update-Prozess starten. Das Flashen funktioniert recht zuverlässig.

Sollte sich das Flashen dennoch als schwierig herausstellen, kann evtl. Folgendes helfen:

  • SiRFDEMO starten, in das SiRF-Protokoll wechseln und die Datenrate merken (z. B. 57.6kbd)
  • In SiRFDEMO eine Nachricht transmittieren, dort das einzelne HEX-Zeichen '94' als binary
  • die Lognachrichten sollten jetzt gestoppt sein
  • SiRFDEMO beenden
  • SiRFFlash ausführen mit den üblichen Optionen (external, evtl. half-duplex) und derselben Datenrate wie bei SiRFDEMO zuvor

JP7TX (XTrac)

Im Auslieferungszustand befindet sich eine SiRF XTrac-Firmware auf dem Modul. Die Module mit dieser Firmware nennen sich JP7TX, einen Hardware-Unterschied zu JP7T-Modulen gibt es laut Falcom nicht.

Erklärung XTrac

Hier findet sich eine gute Erklärung der Unterschiede zwischen XTrac und normaler Firmware.

Die wichtigsten sind:

  • XTrac ist viel empfindlicher
  • XTrac ist u.U. etwas langsamer
  • XTrac kennt keinen TricklePower-Modus

JP7T

Weiterhin ist eine Firmware für das JP7T vorhanden. Wenn man die Firmware aufspielt, werden beim ersten Start einige Debug-Meldungen ausgegeben. Teilweise verschwinden die von selbst, man kann sie aber auch über SiRFDemo abschalten. (Action / Set Message Rate, dort 0xFF auswählen, Rate auf 0s stehen lassen und "Send" klicken.) Die TTFF ist beim Cold Start etwas länger. Vereinzelt soll der Empfang damit besser als vorher sein.

Um die UNK-Meldungen in SiRFDemo wegzubekommen kann man unter Action/Transmit Serial Message die Payload "A6 00 62 00 00 00 00 00" mit Einstellung "Send as SirfBinary" abschicken.

JP7TH

Zusätzlich ist noch eine Firmware für Datenlogger vorhanden, genannt JP7TH. Die Firmware baut auf der des JP7T auf. Ein Handbuch dazu ist unter den Weblinks aufgeführt.

Ein kleines Tool für die Filtereinstellungen und das Auslesen der gespeicherten GPS Punkte ist hier zu finden (.NET 2.0 ist Voraussetzung, Programm noch im Alpha Stadium, voll funktionsfähig, aber nicht DAU sicher)

Nur das Programm

komplett mit Sourcecode

Firmwarewiederherstellung nach fehlgeschlagenem Update

Sollte nach einem Firmwareupdate das Modul nicht mehr reagieren (das Modul gibt weder Daten aus, noch ist es über SiRFFlash ansprechbar), kann man versuchen die Software mittels internen Bootloader des Moduls zu übertragen. Hierzu muss Pin 3 des Moduls (BOOT_SELECT)über einen Pull-Up-Widerstand (z. B. 1k) auf Vcc gezogen werden. Danach kann man mit SiRFFlash und der Einstellung Target boot mode state setting auf Internal die neue Firmware an das Modul übertragen (die restlichen Einstellungen sollten wie zuvor beschrieben gesetzt sein).

Hardware

Im Modul befindet sich eine Patchantenne, darunter eine weitere Platine mit dem GPS-Modul Falcom JP7TX.

Spannungsregler

Das Modul wird über einen Linearregler MIC5205-3.3BM5 mit 3,3 Volt versorgt. Außerdem befindet sich noch eine kleine Lithiumzelle auf der Platine, die als Backup-Versorgung für das SRAM dient. Der Spannungsregler kann 150mA liefern, das GPS-Modul zieht ca. 60mA. Wenn man also ein Kabel an der 3.3V-Leitung anlötet kann man auch noch die eigene Schaltung damit versorgen. Aufpassen muss man lediglich mit der zulässigen Verlustleistung.

Laut Datenblatt:
[math]\displaystyle{ \theta_{JA} = 220 K/W }[/math]
mit [math]\displaystyle{ P = (U_{in}-U_{out}) * I }[/math]
und einer maximalen Chiptemperatur von 125°C und einer angenommen Umgebungstemperatur von 60°C (Sommer + Eigenerwärumg nach längerem Betrieb)
ergibt sich somit folgender Maximalstrom in Abhängigkeit von der Eingangsspannung:
[math]\displaystyle{ I_{max} =\frac{65 K}{220 K/W * (U_{in} - 3.3V)} = 0.3W / (U_{in} - 3.3V) }[/math]

Wertebeispiele:

  • 5V (USB): 174mA begrenzt durch die maximal erlaubten 150mA
  • 7V (Mitgelieferter Zigarettenanzünderstecker): 81mA
  • 12V: 30mA (zuwenig zum Betrieb des Moduls)

Alternativ kann man wenn ohnehin 3.3V in der Schaltung zur Verfügung stehen auch einfach den Spannungsregler ausbauen und das Modul direkt mit 3.3V speisen.

Pegelwandler

Auf der Platine ist noch Platz für einen Pegelwandler. Vorgesehen ist dafür ein ICL3221. Alternativ funktioniert aber auch der Baugleiche MAX3221 (im Handel besser verfügbar, z. B. Reichelt Bestellnummer: MAX 3221 ECAE). Zum Umbau auf RS232 müssen die beiden 0-Ohm-Widerstände entfernt werden und fünf 100nF - Kondensatoren bestückt werden (können auch begrenzt größer gewählt werden. Jedoch 'sollten' ALLE fünf den gleichen Wert haben -> s. Datenblatt!!).

Gps-maus-max3221.jpg

Weblinks