|
| |
|
Date: December 30, 2007 |
| |
|
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 (Global Positioning System) 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
can be found on:
http://www.nmea.org
http://en.wikipedia.org/wiki/NMEA_0183
http://vancouver-webpages.com/peter/nmeafaq.txt
|
|
|
|
|