 |
|
|
|
|
|
Date: December 30, 2007 |
|
The National Marine Electronics Association
|
|
|
|
|
|
The National Marine Electronics Association (NMEA) is the unifying force behind the entire marine electronics industry, bringing together all aspects of the industry for the betterment of all in our business. It is a non-profit association composed of manufacturers, distributors, dealers, educational institutions, and others interested in peripheral marine electronics occupations
NMEA 0183 standard is the communication protocol (set of rules) by which GPS units communicate with other devices. It uses a simple
ASCII (American Standard Code for Information Interchange), serial communications protocol that defines how data is transmitted in a "sentence" from one "talker" to one "listener" at a time. NMEA-0183 data is sent at 4800-baud rate. Its implementations vary, but can often interoperate with RS-232, RS-423, and RS-422.
The NMEA 0183 data stream consists of a series of "sentences" delimited by a new line character. Each sentence begins with a six character identifier, the first character of which is always "$" followed by a two letter "talker ID", a three letter "sentence ID”, a number of data fields separated by commas, and terminated by an optional checksum, and a carriage return (CR)/line feed (LF). A sentence may contain up to 82 characters including the "$" and CR/LF.
The NMEA 0183 standard defines dozens of sentences, but only a fraction applies directly to GPS devices.
The most useful sentences include:
$GPAAM - Waypoint Arrival Alarm
$GPBWW - Bearing, Waypoint to Waypoint
$GPGGA - Global Positioning System Fix Data
$GPGLL - Geographic Position, Latitude/Longitude
$GPGSA - GPS DOP and Active Satellites
$GPGSV - GPS Satellites in View
$GPRMB - Recommended Minimum Navigation Information
$GPRMC - Recommended Minimum Specific GPS/TRANSIT Data
$GPRTE - Routes
$GPVTG - Track Made Good and Ground Speed
$GPWNC - Distance, Waypoint to Waypoint
$GPWPL - Waypoint Location
$GPZDA - UTC Date/Time and Local Time Zone Offset
|
| |

|
|
For understanding let’s will take $GPGGA - Global Positioning System Fix Data
Eg1. $GPGGA, 170834,4124.8963,N, 08151.6838,W, 1,05,1.5,280.2,M, -34.0,M, *75
|
|
|
Name
|
Example Data
|
Description
|
|
Sentence Identifier
|
$GPGGA
|
Global Positioning System Fix Data
|
|
Time
|
170834
|
17:08:34 UTC
|
|
Latitude
|
4124.8963, N
|
41d 24.8963' N or 41d 24' 54" N
|
|
Longitude
|
08151.6838, W
|
81d 51.6838' W or 81d 51' 41" W
|
|
Fix Quality:
- 0 = Invalid
- 1 = GPS fix
- 2 = DGPS fix
|
1
|
Data is from a GPS fix
|
|
Number of Satellites
|
05
|
5 Satellites are in view
|
|
Horizontal Dilution of Precision (HDOP)
|
1.5
|
Relative accuracy of horizontal position
|
|
Altitude
|
280.2, M
|
280.2 meters above mean sea level
|
|
Height of geoid above WGS84 ellipsoid
|
-34.0, M
|
-34.0 meters
|
|
Time since last DGPS update
|
Blank
|
No last update
|
|
DGPS reference station id
|
Blank
|
No station id
|
|
Checksum
|
*75
|
Used by program to check for transmission errors
|
|
Courtesy of Brian McClure, N8PQI
Global Positioning System Fix Data. Time, position and fix related data for a GPS receiver.
Eg2. $GPGGA, hhmmss.ss, ddmm.mmm, a, dddmm.mmm, b, q, xx, p.p, a.b, M, c.d, M, x.x, nnnn
Hhmmss.ss = UTC of position
ddmm.mmm = latitude of position
a = N or S, latitude hemisphere
dddmm.mmm = longitude of position
b = E or W, longitude hemisphere
q = GPS Quality indicator (0=No fix, 1=Non-differential GPS fix, 2=Differential GPS fix, 6=Estimated fix)
xx = number of satellites in use
p.p = horizontal dilution of precision
a.b = Antenna altitude above mean-sea-level
M = units of antenna altitude, meters
c.d = Geoidal height
M = units of geoidal height, meters
x.x = Age of Differential GPS data (seconds since last valid RTCM transmission)
nnnn = Differential reference station ID, 0000 to 1023
When reading NMEA 0183 data, it is important that the code be flexible enough to gather similar data from multiple sources.
The new standard, NMEA 2000, accommodates several "talkers" at a higher baud rate, without using a central hub. NMEA 2000 can be considered a successor to the NMEA 0183 standard. It has a significantly higher data rate (250k bits/second vs. 4.8k bits/second for NMEA 0183).
More
cab be found on:
http://www.nmea.org
http://en.wikipedia.org/wiki/NMEA_0183
http://vancouver-webpages.com/peter/nmeafaq.txt
-Author
TroSys
Team
|
|
|
|
|
|