NMEA2000

Abb.: NMEA2000 Verbindungstechnik (Busse Yachtshop)

NMEA2000 (National Marine Electronics Association 2000) ist ein Bussystem für die Kommunikation in Booten. Es wurde entwickelt, um eine einheitliche Schnittstelle für die Übertragung von Daten von elektronischen Geräten in Booten bereitzustellen.

Funktionsprinzip

NMEA2000 ist ein Bussystem, das für die Übertragung von Daten zwischen elektronischen Geräten in Booten konzipiert ist. NMEA2000 verwendet eine einfache, aber leistungsstarke Kommunikationsmethode namens Controller Area Network (CAN). Die Datenübertragung erfolgt über ein zentrales Kabel, an das alle Geräte parallel angeschlossen sind. CAN ist eine Übertragungstechnologie, die für die Übertragung von Daten in eingebetteten Systemen entwickelt wurde.

NMEA2000 Vorteile:

  • Fehlerüberwachung: CAN verfügt über eine integrierte Fehlerüberwachung, die die Integrität der Datenübertragung sicherstellt. Es überwacht die Übertragung und kann Fehler erkennen, wie z.B. Übertragungsfehler oder Kollisionen, und die Übertragung gegebenenfalls neu starten.
  • Effizienz: CAN verwendet eine prioritätsbasierte Übertragung, die es ermöglicht, dass wichtigere Daten schneller übertragen werden als weniger wichtige Daten. Dies verbessert die Gesamteffizienz und Reaktionszeit des Systems. Mit NMEA2000 können wesentlich mehr Daten als mit NMEA0183 übertragen werden.
  • Skalierbarkeit: CAN ermöglicht es, dass mehrere Geräte an das gleiche Netzwerk angeschlossen werden, ohne dass die Übertragungsleistung beeinträchtigt wird. Dies ist besonders wichtig für Anwendungen, bei denen das Netzwerk mit der Zeit erweitert werden muss.
  • Niedrige Kosten: CAN ist eine kosteneffiziente Übertragungstechnologie, die aufgrund der Zweidraht-Übertragung mit differenziellen Signalen einfach zu implementieren und zu warten ist. Dies macht es besonders attraktiv für Anwendungen mit eingeschränktem Budget.
  • Zertifizierte Geräte: NMEA2000-Geräte entsprechen Mindest-Standards der NMEA, die durch eine Zertifizierung nachgewiesen ist. Damit wird ein höchst mögliches Maß an Kompatibilität und Sicherheit zwischen Geräten verschiedenen Herstellern garantiert.

NMEA2000 Nachteile:

  • Fixes Protokoll: Obwohl deutlich mehr Informationen als bei NMEA0183 übertragen werden können, sind die Anzahl der Telegramme (PGN) und deren Inhalt fest vorgegeben und können nicht erweitert werden.
  • Notwendige Zertifizierung: Jedes Gerät das NMEA2000 benutzt und vertrieben wird, muss von der NMEA zertifiziert werden. Für Open Source Entwicklungen ist das nachteilig, da dadurch hohe Kosten entstehen, die sich nicht decken lassen.
  • Begrenzung auf Sensordaten: NMEA2000 überträgt nur Sensordaten und kann keine Bilddaten wie Radarbilder, Wetterkarten, Videostrams oder ähnliches übertragen.
  • Teure Verbingungstechnik: NMEA2000 setzt auf teure Verbindungstechnik mit wasserdichten M12-Steckverbindern (A-kodiert), wie sie auch in der Industrie verwendet werden, dort aber deutlich günstiger angeboten werden.

Jedes Gerät im NMEA2000-Netzwerk hat eine eindeutige Geräte-ID, um Datenquellen und Datenanzeigegeräte zu identifizieren und zu adressieren. Daten werden in Parameter Group Numbers (PGN) organisiert. PGN sind eindeutige Daten-IDs, um bestimmte Typen von Daten zu beschreiben, wie beispielsweise Geschwindigkeit, Kurs, Temperatur usw. Alle Geräte können PGN empfangen und senden, und es kann entschieden werden, welche PGN von einem bestimmten Gerät gesendet oder empfangen werden. Dies ermöglicht eine flexible und skalierbare Übertragung von Daten zwischen Geräten. Die Verwendung von PGN ermöglicht es, Daten effizient und präzise zu organisieren und zu übertragen.

Gegenüberstellung mit anderen Bussystemen

NMEA2000 hat einige Ähnlichkeiten mit anderen Bussystemen wie SeaTalk NG, SIMnet, Raynet, C-Net 2000 und CANet. Es unterscheidet sich jedoch von diesen Systemen durch seine spezifische Auslegung für die Verwendung in Booten. SeaTalk NG und SIMnet sind teilweise kompatibel mit NMEA2000, was bedeutet, dass einige Geräte, die für SeaTalk NG und SimNet entwickelt wurden, auch mit NMEA2000-kompatiblen Geräten kommunizieren können. Obwohl sie teilweise kompatibel mit NMEA2000 sind, unterscheiden sie sich in einigen Aspekten, wie z.B. in der Art und Weise, wie sie Daten übertragen und verarbeiten. C-Net 2000 und CANet sind trotz der Verwendung von CAN proprietäre Technologien, die nur mit Geräten des gleichen Herstellers kompatibel sind. Raynet nimmt dabei eine Sonderrolle ein, da es nicht den CAN-Bus zur Datenübertragung benutzt, sondern auf eine proprietäre Ethernet-Übertagung setzt. Es ist daher wichtig zu überprüfen, ob Geräte, die für ein bestimmtes Bussystem entwickelt wurden, auch mit Geräten für ein anderes Bussystem kompatibel sind, bevor sie eingesetzt werden. Bei der Auswahl eines Bussystems muss sorgfältig überlegt werden, welche Anforderungen bestehen und welches System am besten geeignet ist, um die Integrität der Datenübertragung und die Interoperabilität der Geräte sicherzustellen.

Geschwindigkeit

Die Datenrate von NMEA2000 beträgt 250 kbps (Kilobits pro Sekunde). Diese Datenrate wurde gewählt, um eine ausreichend hohe Übertragungsgeschwindigkeit für eine Vielzahl von Anwendungen in Booten zu gewährleisten, während gleichzeitig eine möglichst effiziente Nutzung des Netzwerks sichergestellt wird. Mit einer Datenrate von 250 kbps können Sensordaten in Echtzeit übertragen werden, was für eine Vielzahl von Anwendungen wichtig ist, wie z.B. die Überwachung der Schiffsposition, der Navigations- und Kommunikationsgeräte sowie der Motor- und anderer Systeme an Bord.

Einsatzszenarien und Grenzen

NMEA2000 ist besonders sinnvoll in Booten, bei denen eine einfache Integration von elektronischen Geräten erforderlich ist. Diese Geräte können Navigationssysteme, Autopiloten, Kompasse, GPS-Empfänger, Tiefenmesser, Windmesser und andere Geräte sein. Die Verwendung von NMEA2000 ermöglicht es, diese Geräte zu verbinden und Daten zwischen ihnen zu übertragen, ohne dass eine separate Verbindung wie bei NMEA0183 für jedes Gerät erforderlich ist. Eine der Grenzen von NMEA2000 besteht darin, dass es nur für die Verwendung in Booten zur Übertragung von Sensordaten konzipiert ist. Es ist nicht für den Einsatz in bildgebenden Anwendungen, wie Radar- und Fischfinderansichten, sowie Karteninhalte gedacht. Ein weiteres Hindernis besteht darin, dass nicht alle Geräte mit NMEA2000 kompatibel sind und die Anzahl und Inhalte der PGN fest vorgegeben sind und nicht erweitert werden können. Es ist wichtig zu überprüfen, ob das gewünschte Gerät mit NMEA2000 kompatibel ist, bevor es eingesetzt wird. Zusammenfassend lässt sich sagen, dass NMEA2000 ein leistungsstarkes und einfaches Bussystem für die Verwendung in Booten ist, das eine einfache Integration von elektronischen Geräten ermöglicht. NMEA2000 wurde Ende der 80er Jahre eingeführt und wird aus heutiger Sicht nicht mehr allen Anforderungen moderner Datenverarbeitung gerecht. Der Trend geht eindeutig in Richtung Ethernet und ermöglicht deutlich höhere Datenraten und mehr Flexibilität.

Steckersystem

Für den NMEA2000-Bus gibt es genormte wasserdichte und geschirmte 5-polige Steckververbindungen im M12 Format mit A-Kodierung. Je nach Ausführung können sie vollständig aus Kunststoff oder teilweise aus Metall bestehen. Neben den Datenleitungen CAN-H und CAN-L gibt es noch zwei Leitungen für die Stromversorgung wie GND (V-) und +12V (V+) sowie einen Anschluss für den Schirm. Kabelanschlüsse von Sensoren sind meistens als Stecker (Male) ausgeführt und haben ein Außengewinde. Buchsen hingegen besitzen immer eine Überwurfmutter mit Innengewinde.

Abb. Draufsicht auf Kontaktseite

Abb. NMEA2000 Stecker zur Selbstmontage (Busse Yachtshop)

Wer wesentlich kostengünstigere Industrie-Steckverbinder außerhalb des Yacht-Zubehörhandels einkaufen möchte, achtet darauf 5-polige Steckverbinder mit A-Kodierung zu kaufen. Die Indexkerbe befindet sich dann zwischen Pin 1 und 2. Es gibt noch andere Kodierungen wo sich die Indexkerbe an anderer Position befindet.

SeaTalk NG, Simnet und Philippi P-Bus sind ähnliche Bussysteme die auf CAN-Bus als physischen Layer aufsetzen. Jedoch weichen sie in einigen Spezifikationen von NMEA2000 ab und sind nicht 100% kompatibel. Zudem benutzt jeder Hersteller noch eigene Steckverbinder die untereinander nicht zu NMEA2000 kompatibel sind. Mit entsprechenden Konverter-Kabeln kann aber ein Datenaustausch zwischen diesen Netzen vorgenommen werden. Grundsätzlich sollte eine Mischung verschiedener Bustechnologien vermieden werden.

Stromversorgung aus dem Bus

NMEA2000 Geräte mit geringem Stromverbrauch wie z.B. Sensoren können auch aus dem Bussystem mit Strom versorgt werden. So sind keine zusätzlichen Versorgungskabel notwendig. Die Einspeisung der 12V-Versorgungsspannung in den NMEA2000 Bus erfolgt entweder über ein Einspeisekabel oder einen Plotter mit Buseinspeisung. Allerdings ist darauf zu achten, dass aus dem NMEA2000 Bus nur eine begrenzte Leistung von bis zu 35W entnommen werden darf. Die NMEA2000 Geräte sind dazu mit Load-Werten gekennzeichnet, die die Stromentnahme aus dem Bus angeben. Die Load wird als Vielfaches von 50 mA angegeben.  Ein Gerät mit Load 3 würde demnach 150 mA an 12V benötigen und 1,8 W an Leistung verbrauchen. Die Einspeisung der 12V-Versorgungsspannung in den Bus sollte idealer Weise in der Mitte erfolgen, da so Leitungsverluste durch Leitungswiderstände minimiert werden.

Kabel

Als Buskabel sollten nur hochwertige, wasserdichte und geschirmte Industrie-Kabel verwendet. Wer eigene Buskabel herstellen möchte, sollte hochwertige Kabel wie z.B. Lapp Busleitung UNITRONIC 2 x 2 x 0.34 mm² verwenden.

Abb. CAN-Buskabel

Dabei sind 2x zwei Einzeladern paarweise verdrillt und zusätzlich mit einem äußeren Schirmgeflecht umgeben. Ein verdrilltes Aderpaar wird für CAN-H und CAN-L verwendet und das andere Aderpaar für GND und 12V. Das Schirmgeflecht wird mit GND einseitig verbunden. Damit erzielt man die besten Ergebnisse und hat eine sichere und langlebige Installation. Dünnere Kabel als 0.34 mm² sollten nicht verwendet werden, wenn die Versorgung aus den Bus erfolgen soll. Die Länge des Buskabels sollte in Summe 40 m nicht übersteigen.

Terminierung

Der physischen Layer des NMEA2000 Busses basiert auf dem CAN-Bus mit differenzieller Signalübertragung. Es werden jeweils zwei Signale mit entgegengesetzter Polarität vom Sender übertragen und im Empfänger durch Subtraktion aus den zwei Signalen ein Einzelsignal erzeugt. Störungen die sich in selber Weise auf beide Signalleitungen auswirken werden durch die Subtraktion eliminiert. Dadurch wird eine robuste und störunanfällige Signalübertragung ermöglicht.

Abb. Differenzielle Datenübertragung (rot CAN-H, blau CAN-L)

Ein CAN-Bus verwendet an den beiden Enden des Bussystems Abschluss-Widerstände von 120 Ohm zwischen den Leitungen CAN-H und CAN-L. Die beiden Abschluss-Widerstände entsprechen dem Leitungswiderstand von 120 Ohm und verhindern Signalreflexionen an den Leitungsenden bei hohen Datenübertragungsraten von 1 MBit/s. Der CAN-Bus besteht aus einem langen Busstrang mit kurzen Stichleitungen kleiner 1.5 m. Eine Sternstruktur des Bussystems ist nicht erlaubt. Die beiden Abschluss-Widerstände dürfen nur am Busende verbaut sein und dürfen sich nicht dazwischen befinden.

Abb. CAN Busstruktur (ohne Stromversorgung)

Einige Geräte besitzen eingebaute Abschluss-Widerstände, die durch entsprechende Schalter zu- oder abgeschaltet werden können. Vergewissern sie sich vor dem Einbau neuer Geräte ob integrierte Abschluss-Widerstände benutzt werden und wie sie konfiguriert sind. Falsch terminierte Busse können Übertragungsprobleme verursachen die schwer zu finden sind

Open Source

Unter Open Source gibt es eine Bibliothek zu NMEA2000 bei GitHub von Timo Lappalainen, die durch Reverse Ingeneering erstellt worden ist und große Teile von NMEA2000 unterstützt. Damit ist es relativ einfach eigene Projekte mit Mikrocontrollern unter C zu realisieren. Auf dieser Basis wurden einige DIY-Projekt wie z.B. das NMEA2000-Gateway oder der NMEA2000-Workshop umgesetzt.

NMEA2000 Daten lassen sich auch über Ethernet und WiFi übertragen werden. Dazu gibt es eine Protokollerweiterung für NMEA0183 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 im NMEA0183 Protokoll. Damit können NMEA2000 Daten auch über Ethernet und WiFi übertragen werden. Timo Lappalainen untestützt in seiner NMEA2000 Lib das SeaSmart-Protokoll.