NMEA 0183
aus Wikipedia, der freien Enzyklopädie
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 Januar 2002 erschienene Version 3.01. NMEA 2000 ist wenig verbreitet und setzt auf dem CAN-Bus auf.
Inhaltsverzeichnis |
[Bearbeiten] Schnittstelle
Als Schnittstelle wird die differenzielle 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 (d7=0)
- 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.
Einige Geräte arbeiten jedoch auch mit 9600 Baud, wie z.B. FGPMMOSL1 von f-tech.
[Bearbeiten] 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 '$' markiert. Nach dem '$' folgt die Geräte-ID (normalerweise zwei Zeichen) und die Datensatz-ID (meist drei Zeichen) als eine Zeichenkette. Anschließend werden jeweils durch Kommata abgetrennt die Datenfelder gemäß der Datensatzdefinition angehängt. Optional kann an die Daten durch ein '*' abgetrennt eine hexadezimale Prüfziffer angehängt werden, die sich durch die XOR-Verknüpfung der ASCII-Werte aller Zeichen zwischen dem $ und dem * errechnet.
[Bearbeiten] Einheiten
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
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.YYYY => XX° + (YY.YYYY / 60)°
Uhrzeiten können mit oder ohne Angabe von Bruchteilen von Sekunden erfolgen, wobei in jedem Fall jeweils zweistellig die Werte für Stunde, Minute und Sekunde aneinandergereiht werden:
HHMMSS
Bruchteile von Sekunden können als Nachkommastelle an die Sekundenangabe angehängt werden:
HHMMSS.ss
[Bearbeiten] 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 |
| GP | Global Positioning System (GPS) |
| GL | GLONASS |
| 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) |
| 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" ist für proprietäre Erweiterungen reserviert. Auf das P folgt ein aus drei Zeichen bestehender Herstellercode[1] und eine (meist) aus einem Zeichen bestehende Datensatz-ID.
[Bearbeiten] Beispiel: Recommended Minimum Sentence C
Jedes NMEA-Gerät muss mindestens den Recommended Minimum Sentence C (empfohlener Mindestdatensatz C, RMC) Datensatz ausgeben können. Er folgt folgendem Aufbau:
$GPRMC,162614,A,5230.5900,N,01322.3900,E,10.0,90.0,131006,1.2,E*13 $GPRMC,HHMMSS,A,BBBB.BBBB,b,LLLLL.LLLL,l,GG.G,RR.R,DDMMYY,M.M,m*PP
| Symbol | Bedeutung |
|---|---|
| HHMMSS | 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) |
| PP | hexadezimale Darstellung der Prüfsumme |
[Bearbeiten] Beispiel: Datum Reference
$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 |
[Bearbeiten] Beispiel: Global Positioning System Fix Data
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 | aktuelle Uhrzeit (UTC) |
| BBBB.BBBB | Breitengrad |
| b | Ausrichtung des Breitengrades |
| LLLLL.LLLL | Längengrad |
| l | Ausrichtung des Längengrades |
| Q | GPS-Qualität:
|
| NN | Anzahl der benutzten Satelliten |
| D.D | horizontale Abweichung (dilution of precision) |
| H.H | Höhe der Antenne über Geoid |
| h | Einheit der Antennenhöhe (Meter) |
| G.G | geoidal separation |
| g | Einheit der geoidal separation |
| A.A | Alter des DGPS-Datensatzes |
| RRRR | DGPS-Referenzstation (0000 bis 1023) |
| PP | Prüfsumme |
[Bearbeiten] Referenzen
[Bearbeiten] Weblinks
- Website der NMEA (englisch)
- Alle NMEA 0183 Datensätze (englisch)
- 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)

