NMEA 0183

NMEA 0183 ist ein Standard für die Kommunikation zwischen Navigationsgeräten auf Schiffen, der von der National Marine Electronics Association (NMEA) definiert wurde und auch für die Kommunikation zwischen GPS-Empfänger und PCs sowie mobilen Endgeräten genutzt wird. Er besteht aus einer RS422-Schnittstelle und einer Definition von Datensätzen.

Die erste Version des nicht öffentlichen Standards wurde im März 1983 freigegeben; aktuell ist die im November 2018 erschienene Version 4.11, sowie die High-Speed Erweiterung NMEA 0183-HS (High Speed) V 1.01, jedoch ist die Version 3.01 vom Januar 2002 nach wie vor weit verbreitet. Der Nachfolger NMEA 2000 setzt auf dem CAN-Bus auf.

Schnittstelle

Als Schnittstelle wird die RS422-Schnittstelle empfohlen, eine Benutzung der RS-232-Schnittstelle ist jedoch zulässig. Es sind folgende Parameter für die Schnittstelle definiert:

Seit der Version 3.01 umfasst der Standard die Erweiterung NMEA 0183-HS (Version 1.0). Sie definiert einen Hochgeschwindigkeitsmodus, der die Kommunikation zwischen Empfangseinheit und Endgerät mit 38.400 Baud erlaubt, und häufig für AIS-Daten verwendet wird.

Einige Geräte arbeiten jedoch auch mit 9600 Baud.

Datensätze

Bei den NMEA-Daten handelt es sich um ASCII-basierte Datensätze, die jeweils 80 druckbare Zeichen umfassen können. Jeder Datensatz wird durch eine Kombination aus Wagenrücklauf und Zeilenvorschub abgeschlossen (<CR><LF>).

Der Anfang eines Datensatzes wird durch ein „$“ oder „!“ markiert. Nach diesem Startzeichen folgt die Geräte-ID (normalerweise zwei Zeichen) und die Datensatz-ID (meist drei Zeichen) als eine Zeichenkette. Darauf folgen, jeweils durch Kommata getrennt, die Datenfelder gemäß der Datensatzdefinition. Optional kann zusätzlich eine durch ein „*“ abgetrennte hexadezimale Prüfzahl angehängt werden. Diese wird durch die XOR-Verknüpfung der ASCII-Werte aller Zeichen zwischen dem $ und dem * errechnet.

Beispiel:

$SDDBT,22.3,f,6.8,M,3.7,F*3F<cr><lf>

Geräte-IDs

IDBedeutung
AGAutopilot - General
APAutopilot - Magnetic
CCComputer - Programmed Calculator (veraltet)
CDCommunications - Digital Selective Calling (DSC)
CMComputer - Memory Data (veraltet)
CSCommunications - Satellite
CTCommunications - Radio-Telephone (MF/HF)
CVCommunications - Radio-Telephone (VHF)
CXCommunications - Scanning Receiver
DEDECCA Navigation
DFDirection Finder
ECElektronische Seekarte (ECDIS)
EPEmergency Position Indicating Beacon (EPIRB)
EREngine Room Monitoring Systems
GAGalileo
GBBeidou (Satellitennavigation)
GLGLONASS
GNkombinierte Positionslösung mehrerer GNSS
GPGlobal Positioning System (GPS)
GQQuasi-Zenit-Satelliten-System (QZSS)
HCHeading - Magnetic Compass
HEHeading - North Seeking Gyro
HNHeading - Non North Seeking Gyro
IIIntegrated Instrumentation
INIntegrated Navigation
LALoran A
LCLoran C
MPMicrowave Positioning System (veraltet)
OMOMEGA Navigation System
IDBedeutung
OSDistress Alarm System (veraltet)
Pproprietäre Erweiterungen
PFFLARM
RARADAR and/or ARPA
SDSounder, Depth
SNElectronic Positioning System, other/general
SSSounder, Scanning
TITurn Rate Indicator
TRTRANSIT Navigation System
VDVelocity Sensor, Doppler, other/general
DMVelocity Sensor, Speed Log, Water, Magnetic
VWVelocity Sensor, Speed Log, Water, Mechanical
WIWeather Instruments
YCTransducer - Temperature (veraltet)
YDTransducer - Displacement, Angular or Linear (veraltet)
YFTransducer - Frequency (veraltet)
YLTransducer - Level (veraltet)
YPTransducer - Pressure (veraltet)
YRTransducer - Flow Rate (veraltet)
YTTransducer - Tachometer (veraltet)
YVTransducer - Volume (veraltet)
YXTransducer
ZATimekeeper - Atomic Clock
ZCTimekeeper - Chronometer
ZQTimekeeper - Quartz
ZVTimekeeper - Radio Update, WWV (Zeitzeichensender) oder WWVH

Die ID „P“ wird für proprietäre Erweiterungen verwendet. Auf das „$P“ folgt ein aus drei Zeichen bestehender Herstellercode[1], die herstellerspezifischen Daten und die Prüfzahl mit vorgestelltem „*“. Letztere wird, entgegen der Festlegung im NMEA Standard, oft auch nicht verwendet.

Beispiel:

$PSRFTXT,WAAS Enable<cr><lf>

Einheiten und Datenformate

Dezimalzahlen
Dezimaltrennzeichen ist der Punkt (".")
Position
Die von NMEA 0183 verwendeten Positionsdaten basieren auf dem World Geodetic System 1984 (WGS84). Bei WGS84 handelt es sich um ein der Erdoberfläche angenähertes Referenzellipsoid, das die geodätische Grundlage des Global Positioning Systems (GPS) darstellt.
NMEA 0183 benutzt eine Darstellung aus Grad und Minuten. Für die geographische Breite "XXYY.ZZZZ" und für die geographische Länge "XXXYY.ZZZZ"; mit "X" für Grad, "Y.Z" für Minuten (inklusive Nachkommastellen). Die Anzahl der Dezimalstellen für die Minutenangabe kann variieren.
Die erste Minuten-Nachkommastelle entspricht auf dem Großkreis einer Genauigkeit von etwa 185 Meter. Die dritte Nachkommastelle entspricht 1,8 Meter. Alle weiteren Stellen liegen außerhalb der Messgenauigkeit von normalen GPS-Geräten.
Die Achsenrichtung der geographischen Koordinate (E, W, N oder S für östliche bzw. westliche Länge oder nördliche bzw. südliche Breite) wird durch das dem Positionsdatum folgende Datenfeld angezeigt.
Zeit
Uhrzeiten werden in UTC angegeben, jeweils zweistellig die Werte für Stunde, Minute und Sekunde aneinandergereiht: HHMMSS
Sekunden können auch mit Dezimalstellen angegeben werden: HHMMSS.ss
Datum
Das Datum wird immer mit Tag, Monat und Jahr angegeben, jeweils zweistellig und in dieser Reihenfolge: DDMMYY

Umrechnung der Positionsdarstellung: Entsprechend der oben beschriebenen Darstellung kann die Umrechnung nach Grad, Minuten und Sekunden folgendermaßen durchgeführt werden: XXYY.ZZZZ ⇒ XX°YY'(0.ZZZZ * 60)". Zum Erhalt von Grad-Werten: XXYY.ZZZZ ⇒ XX° + (YY.ZZZZ / 60)°.

Recommended Minimum Sentence C (RMC)

Jeder GNSS-Empfänger muss mindestens den Recommended Minimum Sentence C (empfohlener Mindestdatensatz C, RMC) Datensatz ausgeben können, maximal alle zwei Sekunden. Er folgt folgendem Aufbau:

Seit NMEA In 2.3 wurden folgende Sätze um ein Feld erweitert (APB, BWC, BWR, GLL, RMA, RMB, RMC, VTG, WCV und XTE) das die Signalintegritätsinformation laut FAA darstellt. ("F" in untenstehender Tabelle)

$GPRMC,162614,A,5230.5900,N,01322.3900,E,10.0,90.0,131006,1.2,E,A*13
$GPRMC,HHMMSS,A,BBBB.BBBB,b,LLLLL.LLLL,l,GG.G,RR.R,DDMMYY,M.M,m,F*PP
SymbolBedeutung
HHMMSS
oder
HHMMSS.SSS
Zeit (UTC)
AStatus (A für OK, V bei Warnungen)
BBBB.BBBBBreitengrad
bAusrichtung (N für North, nördlich; S für South, südlich)
LLLLL.LLLLLängengrad
lAusrichtung (E für East, östlich; W für West, westlich)
GG.GGeschwindigkeit über Grund in Knoten
RR.RKurs über Grund in Grad bezogen auf geogr. Nord
DDMMYYDatum (Tag Monat Jahr)
M.Mmagnetische Abweichung (Ortsmissweisung)
mVorzeichen der Abweichung (E oder W)
FSignalintegrität:
A = Autonomous mode, 
D = Differential Mode, 
E = Estimated (dead-reckoning) mode
M = Manual Input Mode
S = Simulated Mode
N = Data Not Valid
PPhexadezimale Darstellung der Prüfsumme
(Die Prüfsumme ergibt sich durch eine XOR-Verknüpfung aller Daten-Bytes zwischen (jeweils exklusive) dem Dollar-Zeichen '$' und dem Stern '*'.)

Datum Reference (DTM)

$GPDTM,GGG,R,BBBB.BBBB,b,LLLLL.LLLL,l,H,D*PP
SymbolBedeutung
GGGGeodätisches Datum (Bezugssystem) der Positionsdaten:
  • W84 – WGS84
  • W72 – WGS72
  • S85 – SGS85
  • P90 – PE90
  • 999 – Benutzerdefiniert
  • IHO Format
RRegionales Datumsformat
BBBB.BBBBBreitengrad
bAusrichtung des Breitengrades
LLLLL.LLLLLängengrad
lAusrichtung des Längengrades
HHöhe (immer leer bzw. null)
DDatum im angegebenen Bezugssystem
PPPrüfsumme

Global Positioning System Fix Data (GGA)

Dieses Format enthält die wichtigsten Angaben zur Position und deren Genauigkeit (beispielsweise die Anzahl der Satelliten), Höhe über Meeresoberfläche und andere Informationen.

$GPGGA,HHMMSS.ss,BBBB.BBBB,b,LLLLL.LLLL,l,Q,NN,D.D,H.H,h,G.G,g,A.A,RRRR*PP
SymbolBedeutung
HHMMSS.ssUhrzeit des Position Fix (UTC)
BBBB.BBBBBreitengrad in Grad und Minuten (ddmm.mmmmmm)
bAusrichtung des Breitengrades (North=Norden oder South=Süden)
LLLLL.LLLLLängengrad in Grad und Minuten (dddmm.mmmmmm)
lAusrichtung des Längengrades (East=Osten oder West=Westen)
QGPS-Qualität:
  • 0 für ungültig
  • 1 für GPS fix
  • 2 für DGPS fix
  • 6 für geschätzt (nur bei NMEA-0183 ab Version 2.3)
NNAnzahl der benutzten Satelliten (00 − 12)
D.Dhorizontale Abweichung (dilution of precision)
H.HHöhe der Antenne über Geoid oder MSL (mean sea level)
hEinheit der Antennenhöhe (Meter)
G.Ggeoidal separation
gEinheit der geoidal separation (Meter)
A.AAlter des DGPS-Datensatzes
RRRRDGPS-Referenzstation (0000 bis 1023)
PPPrüfsumme

Alternativen

Weblinks

  • GPS Simulator, NMEA Datensätze mit einer Software generieren
  • Website der NMEA (englisch)
  • Peter Bennett: The NMEA FAQ (Fragen und Antworten zu NMEA). 15. September 1997, archiviert vom Original am 15. Februar 2014; abgerufen am 21. Oktober 2013. (englisch)
  • Alle NMEA 0183 Datensätze (englisch)

Einzelnachweise

  1. https://www.nmea.org/Assets/011309-0183_manufacturer_codes.pdf