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 Bearbeiten
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:
- Symbolrate: 4800 Baud
- Data Bits: 8
- kein Parity Bit
- Stop Bits: 1 (oder mehr)
- kein Handshake
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 Bearbeiten
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 Bearbeiten
ID | Bedeutung |
---|---|
AG | Autopilot - General |
AP | Autopilot - Magnetic |
CC | Computer - Programmed Calculator (veraltet) |
CD | Communications - Digital Selective Calling (DSC) |
CM | Computer - Memory Data (veraltet) |
CS | Communications - Satellite |
CT | Communications - Radio-Telephone (MF/HF) |
CV | Communications - Radio-Telephone (VHF) |
CX | Communications - Scanning Receiver |
DE | DECCA Navigation |
DF | Direction Finder |
EC | Elektronische Seekarte (ECDIS) |
EP | Emergency Position Indicating Beacon (EPIRB) |
ER | Engine Room Monitoring Systems |
GA | Galileo |
GB | Beidou (Satellitennavigation) |
GL | GLONASS |
GN | kombinierte Positionslösung mehrerer GNSS |
GP | Global Positioning System (GPS) |
GQ | Quasi-Zenit-Satelliten-System (QZSS) |
HC | Heading - Magnetic Compass |
HE | Heading - North Seeking Gyro |
HN | Heading - Non North Seeking Gyro |
II | Integrated Instrumentation |
IN | Integrated Navigation |
LA | Loran A |
LC | Loran C |
MP | Microwave Positioning System (veraltet) |
OM | OMEGA Navigation System |
ID | Bedeutung |
---|---|
OS | Distress Alarm System (veraltet) |
P | proprietäre Erweiterungen |
PF | FLARM |
RA | RADAR and/or ARPA |
SD | Sounder, Depth |
SN | Electronic Positioning System, other/general |
SS | Sounder, Scanning |
TI | Turn Rate Indicator |
TR | TRANSIT Navigation System |
VD | Velocity Sensor, Doppler, other/general |
DM | Velocity Sensor, Speed Log, Water, Magnetic |
VW | Velocity Sensor, Speed Log, Water, Mechanical |
WI | Weather Instruments |
YC | Transducer - Temperature (veraltet) |
YD | Transducer - Displacement, Angular or Linear (veraltet) |
YF | Transducer - Frequency (veraltet) |
YL | Transducer - Level (veraltet) |
YP | Transducer - Pressure (veraltet) |
YR | Transducer - Flow Rate (veraltet) |
YT | Transducer - Tachometer (veraltet) |
YV | Transducer - Volume (veraltet) |
YX | Transducer |
ZA | Timekeeper - Atomic Clock |
ZC | Timekeeper - Chronometer |
ZQ | Timekeeper - Quartz |
ZV | Timekeeper - 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, 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 Bearbeiten
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) Bearbeiten
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
Symbol | Bedeutung |
---|---|
HHMMSS oder HHMMSS.SSS | Zeit (UTC) |
A | Status (A für OK, V bei Warnungen) |
BBBB.BBBB | Breitengrad |
b | Ausrichtung (N für North, nördlich; S für South, südlich) |
LLLLL.LLLL | Längengrad |
l | Ausrichtung (E für East, östlich; W für West, westlich) |
GG.G | Geschwindigkeit über Grund in Knoten |
RR.R | Kurs über Grund in Grad bezogen auf geogr. Nord |
DDMMYY | Datum (Tag Monat Jahr) |
M.M | magnetische Abweichung (Ortsmissweisung) |
m | Vorzeichen der Abweichung (E oder W) |
F | Signalintegrität: A = Autonomous mode, D = Differential Mode, E = Estimated (dead-reckoning) mode M = Manual Input Mode S = Simulated Mode N = Data Not Valid |
PP | hexadezimale 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) Bearbeiten
$GPDTM,GGG,R,BBBB.BBBB,b,LLLLL.LLLL,l,H,D*PP
Symbol | Bedeutung |
---|---|
GGG | Geodätisches Datum (Bezugssystem) der Positionsdaten: |
R | Regionales Datumsformat |
BBBB.BBBB | Breitengrad |
b | Ausrichtung des Breitengrades |
LLLLL.LLLL | Längengrad |
l | Ausrichtung des Längengrades |
H | Höhe (immer leer bzw. null) |
D | Datum im angegebenen Bezugssystem |
PP | Prüfsumme |
Global Positioning System Fix Data (GGA) Bearbeiten
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
Symbol | Bedeutung |
---|---|
HHMMSS.ss | Uhrzeit des Position Fix (UTC) |
BBBB.BBBB | Breitengrad in Grad und Minuten (ddmm.mmmmmm) |
b | Ausrichtung des Breitengrades (North=Norden oder South=Süden) |
LLLLL.LLLL | Längengrad in Grad und Minuten (dddmm.mmmmmm) |
l | Ausrichtung des Längengrades (East=Osten oder West=Westen) |
Q | GPS-Qualität:
|
NN | Anzahl der benutzten Satelliten (00 − 12) |
D.D | horizontale Abweichung (dilution of precision) |
H.H | Höhe der Antenne über Geoid oder MSL (mean sea level) |
h | Einheit der Antennenhöhe (Meter) |
G.G | geoidal separation |
g | Einheit der geoidal separation (Meter) |
A.A | Alter des DGPS-Datensatzes |
RRRR | DGPS-Referenzstation (0000 bis 1023) |
PP | Prüfsumme |
Alternativen Bearbeiten
Weblinks Bearbeiten
- Website der NMEA (englisch)
- Alle NMEA 0183 Datensätze (englisch)
- GPS Simulator, NMEA Datensätze mit einer Software generieren
- Peter Bennett: 15. September 1997, archiviert vom 15. Februar 2014; abgerufen am 21. Oktober 2013. am (englisch)
- LGPL NMEA C-Bibliothek auf SourceForge.net
- (Memento vom 27. August 2004 im Internet Archive) (englisch)