NMEA0183

NMEA 0183 ist ein Standard für serielle Datenübertragung in der Schifffahrt. Es definiert ein Format für die Übertragung von GPS-Informationen, Geschwindigkeits- und Kursdaten, sowie anderen Navigationsdaten zwischen Navigationsgeräten und anderen elektronischen Geräten auf Booten.

Vorteile von NMEA 0183:

  • Verbreitet: NMEA 0183 ist ein weit verbreiteter Standard, der von vielen alten Geräten unterstützt wird
  • Einfache Implementierung: Es ist einfach, ein Gerät für NMEA 0183 zu entwickeln, da es einfache Protokolle und eine gut dokumentierte Spezifikation gibt. Die Daten werden in ASCII übertragen und lassen sich einfach lesen, so dass die Funktionalität ohne großen Aufwand überprüft werden kann.
  • Kompatibilität: Geräte, die NMEA 0183 unterstützen, können miteinander kommunizieren, was es einfacher macht, Systeme zu integrieren und Informationen auszutauschen.
  • Erweiterbarkeit und Offenheit: Das NMEA0183-Protokoll kann durch eigene Datensätze erweitert werden und benötigt keine Zertifizierung der Implemetierung. Über XDR-Sentences lassen sich beliebige Datensätze in NMEA0183 einbinden.
  • Einfache Umsetzung: Durch die geringe Datenrate können einfache Zweidraht-Verdrahtungssysteme verwendet werden, die die Umsetzung erleichtern. Zudem werden keine speziellen teuren Steckersysteme verwendet und könne mit einfachen Schraubklemmen realisiert werden.
  • Lange Leitungen: Die Leitungslängen können bis zu 1000 m betragen.

Nachteile von NMEA 0183:

  • Alte Technologie: NMEA 0183 ist ein älteres Protokoll und wird möglicherweise von moderneren Technologien wie NMEA 2000 oder NMEA OneNet überholt.
  • Beschränkte Datenkapazität: NMEA 0183 hat eine beschränkte Kapazität für die Übertragung von Daten, insbesondere im Vergleich zu moderneren Protokollen. Der Standard sah anfänglich nur Geschwindigkeiten von 4800 Bd vor, wurde aber schrittweise für einige spezielle Anwendungen bis auf 115200 Bd erhöht.
  • Verbindungsfähigkeit: NMEA0183 ist ein serielles Punkt zu Punkt Kommunikationsprotokoll. Dabei wird immer ein Daten-Sender mit einem oder mehreren Datenempfängern verbunden. Die Kommunikation ist immer unidirektional. Es kann nicht gleichzeitig gesendet und empfangen werden.
  • Bussysteme: NMEA0183 kann auf verschiedenste Weise als Bussystem implementiert sein (RS232, RS422, RS485, RS232-TTL). Die Vielzahl der Möglichkeiten erhöht die Komplexität bei der Verbindung mit anderen Systemen. Oft ist nicht ersichtlich, um welche Implementierung es sich handelt. Daraus entstehende Verbindungsfehler, die schwierig zu erkennen und zu beheben sind.
  • Datensicherheit: NMEA 0183 hat keine fehlertolerante Sicherheitsfunktionalität, was es anfälliger für Datenverluste macht. Die Telegramme werden zwar mit einer Prüfsumme versehen und es können Fehler erkannt werden, jedoch eine fehlerhafte Übertragung nicht erneut ausgesendet werden.

Insgesamt ist NMEA 0183 ein nützlicher Standard für die Übertragung von Navigationsdaten auf Booten, aber es hat seine Beschränkungen und kann nicht in allen Einsatzfällen mit moderneren Technologien mithalten. Um Daten von mehreren Datenquellen wie z.B. Sensoren zu einem Datenstrom zusammenfassen zu können, gibt es sogenannte Multiplexer.

Abb.: NMEA0183 Gateway mit WiFi-Umsetzer (Ship Modul)

Der Multiplexer empfängt verschiedene Datentelegramme an unterschiedlichen Ports und gibt den zusammengefassten Datenstrom mehrerer Sensoren an einem neuen Datenport aus. So lassen sich mehrere Sensorsignale über eine Leitung an ein Datenendgerät wie z.B. ein Plotter oder Multifunktionsdisplay übertragen. Viele Multiplexer bieten auch die Möglichkeit, bestimmte Datentelegramme im Datenstrom mit einer Filterfunktion zu unterdrücken. So können z.B. nur die wirklich notwendigen Daten an einen Autopiloten übertragen oder Mehrdeutigkeiten durch mehrere GPS-Empfänger vermieden werden.

Aufgrund der Einfachheit des NMEA0183-Protokolls kann es auch über TCP/IP- oder UDP-Telegramme versendet werden und ist damit in LAN- oder WiFi-Netzwerken nutzbar. Dadurch werden einige Nachteile wie die  geringe Datenkapazität und Datensicherheit ausgeglichen und NMEA0183 schließt somit zu moderneren Übertragungstechniken auf. NMEA0183 über TCP/IP oder UDP hat sich unter anderem zum Quasi-Standard der Datenanbindung bei Drittanbietersoftware etabliert.

Hardware

NMEA0183 verwendet eine serielle Übertragung. Die Hardware-Schnittstelle kann verschiedenartig ausgeführt sein:

Geschwindigkeit

Die Datenübertragungsraten liegen zwischen 4800…115200 Bd. Als Standard wurde für eine Zweidraht-Leitung eine Geschwindigkeit von 4800 Bd festgelegt. Aus heutiger Sicht ist diese Geschwindigkeit zu langsam für anspruchsvolle Anwendungen. Daher wurde die Datenrate auf 9600 Bd oder höhere Datenraten erhöht. So können auch GPS- und AIS-Empfänger umfangreichere Datenmengen übertragen. Die Sendehäufigkeit der Telegramme liegt zwischen 1…10 Hz. Es ist jedoch zu beachten, dass die tatsächliche Übertragungsgeschwindigkeit von verschiedenen Faktoren beeinflusst werden kann, wie z.B. der Anzahl der Geräte im Netzwerk, der Art der Daten, die übertragen werden, und der Länge und Qualität der Netzwerkkabel. Daher kann es in bestimmten Umgebungen notwendig sein, durch Filterung und Aufteilung in Teilnetze die Datenströme anzupassen, um die bestmögliche Übertragungsgeschwindigkeit zu erreichen.

Verbindung und Stecker

An die Verbindungstechnik und Steckverbinder für NMEA0183 gibt es keine genaue Spezifikation. Durch das robuste Übertragungsverfahren können einfache ungeschirmte Zweidrahtleitungen verwendet werden. Als Anschlusstechnik haben sich Schraubklemmen durchgesetzt.

Einsatzszenarien und Grenzen

NMEA0183 wird hauptsächlich bei älteren Sensorgeräten verwendet. Aufgrund der geringen Datenübertragungsrate ist der Einsatz auf Sensoren mit geringen Datendurchsatz beschränkt. Die Punkt zu Punkt-Kommunikation macht die Verwendung von Multiplexern erforderlich, wenn mehrere Sensoren eingesetzt werden. Dadurch das viele Hardwareschnittstellen zulässig sind und mit unterschiedlichen Signalpegeln arbeiten, entstehen in der Praxis oft Verbindungsprobleme, da oft nicht klar ist, um welche Hardwareschnittstelle es sich handelt. In modernen Produkten kommt NMEA0183 kaum noch vor und wurde durch NMEA2000 fast vollständig ersetzt.

Open Source

NMEA0183 wird in vielen Open Source Anwendungen benutzt, da es ein sehr einfaches ASCII-Protokoll ist.  Es gibt eine große Anzahl von DIY-Projekten die NMEA0183 unterstützen. Durch die einfache Erweiterbarkeit über XDR-Sentences können beliebige weitere Sensordaten hinzugefügt werden. NMEA0183 eignet sich auch zum Übertragen von NMEA2000 Informationen. Dazu gibt es eine Protokollerweiterung mit dem Namen SeaSmart. Bei SeaSmart werden NMEA2000 PGNs als HEX-Daten über spezielle NMEA0183 Telegramme übertragen. Es erfolgt so zu sagen eine Tunnelung der NMEA2000 Daten in einem anderen Protokoll. Damit können NMEA2000 Daten auch über Ethernet und WiFi übertragen werden. Timo Lappalainen untestützt in seiner NMEA2000 Lib das SeaSmart-Protokoll.