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 Juni 2012 erschienene Version 4.10, 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. NMEA 2000 ist wenig verbreitet und setzt auf dem CAN-Bus auf.
Inhaltsverzeichnis
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:
- 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
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
ID | Bedeutung |
---|---|
AG | Autopilot - General |
AP | Autopilot - Magnetic |
CC | Computer - Programmed Calculator (outdated) |
CD | Communications - Digital Selective Calling (DSC) |
CM | Computer - Memory Data (outdated) |
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 |
GL | GLONASS |
GN | kombinierte Positionslösung mehrerer GNSS |
GP | Global Positioning System (GPS) |
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 (outdated) |
OM | OMEGA Navigation System |
ID | Bedeutung |
---|---|
OS | Distress Alarm System (outdated) |
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 (outdated) |
YD | Transducer - Displacement, Angular or Linear (outdated) |
YF | Transducer - Frequency (outdated) |
YL | Transducer - Level (outdated) |
YP | Transducer - Pressure (outdated) |
YR | Transducer - Flow Rate (outdated) |
YT | Transducer - Tachometer (outdated) |
YV | Transducer - Volume (outdated) |
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<ref name="NMEA 0183 Herstellercodes">http://www.nmea.org/Assets/011309-0183_manufacturer_codes.pdf</ref>, 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 folgende Positionsdaten-Notation innerhalb der Datensätze:
XXYY.ZZZZ für die geographische Breite und XXXYY.ZZZZ für die geographische Länge
Das einem Positionsdatum folgende Datenfeld enthält die Achsenrichtung der geographischen Koordinate (E, W, S oder N für östliche bzw. westliche Länge oder südliche bzw. nördliche Breite). Die Anzahl der Dezimalstellen für die Minutenangabe kann variieren. Die Überführung der NMEA-Notation in Grad, Minuten und Sekunden erfolgt nach folgendem Schema:
XXYY.ZZZZ ⇒ XX°YY'(0.ZZZZ * 60)"
Zum Erhalt von Grad-Werten kann folgende Formel verwendet werden:
XXYY.ZZZZ ⇒ XX° + (YY.ZZZZ / 60)°
- 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
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
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)
$GPDTM,GGG,R,BBBB.BBBB,b,LLLLL.LLLL,l,H,D*PP
Symbol | Bedeutung |
---|---|
GGG | Geodätisches Datum (Bezugssystem) der Positionsdaten: |
R | Regionales Datumformat |
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)
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 | aktuelle Uhrzeit (UTC) |
BBBB.BBBB | Breitengrad in Grad und Minuten (ddmm.mmmmmm) |
b | Ausrichtung des Breitengrades (Nord oder Süd) |
LLLLL.LLLL | Längengrad in Grad und Minuten (dddmm.mmmmmm) |
l | Ausrichtung des Längengrades (East oder West) |
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
Weblinks
- Website der NMEA (englisch)
- Alle NMEA 0183 Datensätze (englisch)
- GPS Simulator, NMEA Datensätze mit einer Software generieren
- Erklärungen zu NMEA-0183-Daten
- Fragen und Antworten zu NMEA (englisch)
- LGPL NMEA C-Bibliothek auf SourceForge.net
- List of NMEA 0183 sentences (englisch)
Einzelnachweise
<references />