NMEA0183 Sentences auf einem Garmin GPSMap620

NMEA0183 – Funkgerät an GPS: bitte melde Dich!

Über die Sinnhaftigkeit von Funk habe ich mich ja bereits im Detail ausgelassen. Richtig gut wird das erst, wenn ein GPS-Empfänger per NMEA0183 an das Funkgerät angeschlossen wird – hier steht, warum und wie.

wozu GPS am Funkgerät?

Reden wir über ein zulassungsfähiges Funkgerät, das auch im Seebereich funktioniert, verfügt es auch über DSC: Digital Selective Calling. Im Klartext bedeutet dies, dass das Funkgerät, wenn der notleidende Skipper die rote Distress-Taste drückt, automatisch einen Notruf mit der eigenen Funkrufnummer (MMSI) sowie Uhrzeit und Position aussendet – und zwar wiederholt und unermüdlich, bis eine quittierende Antwort kommt (oder der Strom ausfällt).

Um Uhrzeit und Position im Notfall versenden zu können, benötigt das Funkgerät diese. Die Uhrzeit ruft das Funkgerät ggfs. von einer internen Quarzuhr ab (die dazu richtig gestellt sein sollte), die Position gibt der Skipper von Hand ein – bei einigen Geräten alle zwei Stunden, denn spätestens dann quengeln sie, weil sie – oft nicht ganz zu Unrecht – annehmen, dass sich das Boot in diesen zwei Stunden möglicherweise bewegt hat. In Kombination führt das dazu, dass die DGzRS gegebenenfalls an einer fundamental falschen Stelle zu retten versucht.

Eleganter und sicherer ist es daher, ein GPS-Gerät an das Funkgerät anzuschließen. (GPS – das „Global Positioning System“ – ist seit ca. 1985 ein satellitengestütztes Ortungssystem des US-Verteidigungsministeriums, das es dem GPS-Empfänger erlaubt, seinen eigenen Standort metergenau zu berechnen. GPS ist heute die technische Basis nahezu aller Navigationssysteme und bekommt gerade Konkurrenz durch das europäische Galileo.)

Der GPS-Empfänger überträgt dann sekündlich die GPS-genaue Uhrzeit und die aktuelle Position an das Funkgerät, und dieses kann dann im Notfall auch tatsächlich die richtige Position übertragen – und der SAR-Heli sucht gleich an der richtigen Stelle. Oft ist das nicht einmal mit einer zusätzlichen Investition verbunden, denn ein GPS-Empfänger ist heute selbst auf kleinen Booten häufig an Bord. Doch wie genau geht dieses Anschließen? Dazu ein wenig (Nachrichtentechnik-)Theorie.

NMEA0183 – der (alte) Standard

Es gibt einen Standard zum Austausch von marine-bezogenen elektronischen Nachrichten, NMEA (= National Marine Electronics Association). NMEA0180 und 0182 sind historisch, aktuell relevant sind NMEA0183 und NMEA2000. NMEA 2000 ist eine Erweiterung des aus dem Kfz-Bereich bekannten CAN-Bus und setzt auf ein HF-Bussystem – das ist die Zukunft, aber heutzutage ist NMEA0183 deutlich weiter verbreitet. Hier ein schönes Foto von NMEA2000-Komponenten.

SeaTalk und SeaTalk NG (Raymarine), Simnet (Simrad, verlinkte Seite ist in englisch) und Furuno Navnet (Furuno) sind proprietäre Systeme der jeweiligen Hersteller, die oft an die NMEA-Standards anlehnen, aber i.d.R. nicht kompatibel sind.

Hier will ich nur auf NMEA0183 eingehen. Haben das GPS und das Funkgerät NMEA-Schnittstellen und bestehen diese aus offenen Litzen oder Mini-DIN-Steckern (auch bekannt als „PS/2-Stecker“ aus der PC-Welt), handelt es sich um NMEA0183. Eine grobe Taxanomie von GPS-Empfängern und ihrer Eignung als NMEA-Quelle findest Du hier.

NMEA0183 in der Praxis

NMEA0183 regelt im Wesentlichen zwei Aspekte: was wird wie übertragen. Fangen wir mit dem „wie“ an:

RS422

Die technische Kommunikation in NMEA0183 erfolgt per RS422-Schnittstelle – und nicht, wie oft fälschlicherweise behauptet, per RS232, also der aus der PC-Welt bekannten seriellen oder auch COM-Schnittstelle. Richtig ist aber, dass diese beiden Schnittstellen (unter Dehnung einiger Spezifika) kompatibel sind: man kann also den GPS-Empfänger auch an den PC anschließen und Datensätze empfangen und auch gespeicherte Datensätze an ein an den PC angeschlossenes Funkgerät senden – und sei es nur zum Funktionstest.

Ohne auf die Details von RS422 eingehen zu wollen: im Kern ist das eine Zweidrahtleitung, also Plus und Minus, zwischen der Spannungen von max. 12V bei niedrigen Strömen ausgetauscht werden, also vollkommen ungefährlich und ohne hohe Ansprüche an die Leitung und den Leitungsquerschnitt. Ein geschirmtes Kabel reduziert die Fehlerquote und vor allem Störungen der NMEA-Leitungen in andere, analoge Leitungen (Sprechfunk, Radio) hinein, aber theoretisch reicht beliebiger Klingeldraht. Eigentlich konzipiert als Punkt-zu-Punkt-Verbindung (ein Sender, ein Empfänger), erlaubt RS422 dabei auch den Anschluss mehrerer NMEA-Empfänger an einen NMEA-Sender. Man kann also bspw. zwei Funkgeräte und einen Kartenplotter ohne eigenen GPS-Empfangsteil (Datensenken) an einen GPS-Empfänger (Datenquelle) anschließen. Sender darf es aber natürlich – highlandermäßig! – nur einen geben.

So sehen die NMEA0183-Schnittstellen in der Praxis oftmals aus:

Beispiel: der NMEA0183-Ausgang eines Lowrance-Plotters

Beispiel: der NMEA0183-Ausgang eines Lowrance-Plotters

Beispiel: Lowrance Funkgerät (mit einem zweiten NMEA0183-Ausgang)

Beispiel: Lowrance Funkgerät (mit einem zweiten NMEA0183-Ausgang)

NMEA über RS422 kann man messen: wenn Du ein Multimeter auf Gleichstrom bis 20 V stellst und an einem (eingeschalteten!) NMEA-Ausgang zwischen Plus und Minus misst, wirst Du etwa im Sekundentakt Spannungspitzen zwischen 5V und 12V (je nach Trägheit Deines Multimeters) messen. Das sind die NMEA-Nachrichten (s.u.).

der elektrische Anschluss von NMEA0183

Elektrisch ist das Anschließen trivial: den (oder einen – manche Geräte haben zwei Ausgänge!) NMEA-Ausgang des GPS-Empfängers = NMEA-Senders (oft mit „NMEA OUT +“ oder auch „Tx“ für englisch Transmit = Senden oder anderweitig vergleichbar bezeichnet) verbindest Du mit dem NMEA-Eingang des oder der NMEA-Empfänger, also bspw. dem Funkgerät (oft mit „NMEA IN +“ oder auch „Rx“ für englisch Receive = Empfangen bezeichnet). Die mit „+“ bezeichnete Leitung ist die eigentliche Datenleitung, sie muss von +-Sender an +-Empfänger angeschlossen werden. Gibt es korrespondierende Minusleitungen (NMEA OUT / IN -, NMEA Tx / Rx – o.ä.), verbindest Du sie ebenfalls miteinander; fehlen sie, verwendest Du ersatzweise die Masseleitung (auch, wenn sie nur auf einer Seite fehlt). Zum Verbinden reicht theoretisch eine Lüsterklemme, an Bord ist sicherlich besser ein Quetschverbinder mit Schrumpfschlauch drumherum o.ä. geeignet. Willst Du mehrere Empfänger anschließen, werden alle Eingänge mit dem Ausgang und alle Masseleitungen verbunden:

  • NMEA Out/Tx + des Senders an alle NMEA In/Rx + der Empfänger
  • NMEA Out/Tx – des Senders an alle NMEA In/Rx – der Empfänger, ersatzweise an Masse

Kommunikationsparameter

Das war die elektrische Ebene. Folgt das „Was“ – was wird hier ausgetauscht. RS422 transportiert Daten seriell, also quasi ein Bit nach dem anderen. Serielle Schnittstellen haben konfigurierbare Parameter:

  • Datenrate (1.200 .. 38.400 bit/s)
  • Anzahl Datenbits (6, 7 oder 8 )
  • Paritätsbit (keins (N = none), gerade (E = even), ungerade (O = odd))
  • Anzahl Stoppbits (1 oder 2)

Typisch für NMEA0183 ist 4800 bit/s bei 8 Datenbits, ohne Paritätsbit und mit einem Stoppbit:

  • 4800 8N1

Abweichungen finden sich am ehesten bei der Geschwindigkeit (bspw. 9.600 bit/s bis hoch zu 38.400 bit/s), seltener bei den Paritäts- und Stoppbits.

Sender und Empfänger müssen die gleichen Einstellungen haben, sonst wird das nichts: dann kommt beim Empfänger nur Bitmüll an, und der wird – dank der Prüfsumme (s.u.) – mit Sicherheit verworfen werden.

NMEA0183 Sentences

Jetzt können NMEA-Daten vom GPS-Empfänger zum Funkgerät übertragen werden. Ein solcher NMEA-Datensatz ist immer gleich aufgebaut:

$ssttt,p1,p2,p3, ..... pn,*CS

Dabei bedeutet:

  • $: universelles Startzeichen eines NMEA0183 Sentence
  • ss: Sendertyp, bei GPS-Empfängern: immer „GP“
  • ttt: Nachrichtentyp, zum Beispiel RMC (recommended minimum)
  • p1, p2, …: Parameter; Anzahl und Inhalt abhängig vom Nachrichtentyp
  • *: universelles Endezeichen eines NMEA0183 Sentence
  • CS: zweistellige, hexadezimale Prüfsumme über den gesamten Sentence

Ein Sentence kann dabei maximal 80 Zeichen lang sein; es gibt Nachrichtentypen (wie bspw. $GPGSA), die über mehrere Sentences gestreckt werden, wenn mehr Informationen übertragen werden müssen, als in 80 Zeichen unterzubringen sind.

Ein typischer RMC-Datensatz sieht z.B. wie folgt aus:

$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A

Das Internet ist voll mit nützlichen Seiten, die den Inhalt im Detail beschreiben, daher spare ich mir das hier. Bei Interesse schau mal hier oder hier (englisch).

Lange nicht jeder GPS-Empfänger überträgt alle Nachrichtentypen; etwa 20% der möglichen Typen werden von allen Geräten unterstützt, darüber trennt sich bald die Streu vom Weizen. Für das Funkgerät sind aber ohnehin nur die NMEA0183 Sentences relevant, die die Position und/oder Uhrzeit enthalten. Das sind:

Nicht jedes Funkgerät interpretiert jeden Nachrichtentyp, da aber das RM in $GPRMC für „Recommended minimum“ steht, wird es in der Praxis von jedem GPS-Empfänger erzeugt und von den meisten Funkgeräten verstanden. Manchmal muss der GPS-Empfänger und/oder das Funkgerät hinsichtlich der Nachrichtentypen, die er übertragen soll, konfiguriert werden – $GPRMC ist immer eine gute Idee.

NMEA0183 Sentences auf einem Garmin GPSMap620

NMEA0183 Sentences auf einem Garmin GPSMap620

Die Position in NMEA wird immer im Kartendatum WGS84 übertragen (Ausnahme: manche Garmin-Empfänger, die verwenden das aktuell konfigurierte Kartendatum, was aber i.d.R. auch WGS84 sein wird), und das ist genau auch das Kartendatum, das im DSC-Call übertragen werden muss.

Zusammenfassung

NMEA0183 zwischen GPS und Funkgerät ist also keine Wissenschaft. Hätte ich es in drei Sätzen erklären müssen, würde das vermutlich so aussehen:

  • Ausgang (des GPS-Empfängers) an den Eingang (des Funkgeräts), und zwar Plus an Plus, Minus an Minus, bei letzterem ersatzweise Masse.
  • Gleiche Kommunikationsparameter auf beiden Seiten, i.d.R. 4800 8N1.
  • Sofern konfigurierbar: gleiche Nachrichtentypen auf beiden Seiten, vorzugsweise mindestens $GPRMC.

Voila!

(Danke an Piet für die Erlaubnis, die Fotos zu verwenden.)