rs422兼容nmea 01830183吗

STB-216 RS-422总线分配器(NMEA0183分配器)
STB-216为2路输入14输出的RS-422差分信号分配驱动器。输入信号由纽子开关选择。
两路GPS信号输入,选择一路扩展、光电隔离14路RS-422 输出;
兼容IEC 61221-1 / 61221-2标准,支持GPS、罗经,测深仪、计程仪、AIS等数据;
使用10.8-36VDC电源,并提供两个电源输出接口用于级联或者连接分显示设备。
地址:上海松江区莘砖公路258号35号楼3楼
电话:23016
传真:16778From Wikipedia, the free encyclopedia
This article may be too technical for most readers to understand. Please
to , without removing the technical details. (December 2011) ()
NMEA 0183 is a combined electrical and data specification for communication between
such as , , , , ,
and many other types of instruments. It has been defined by, and is controlled by, the . It replaces the earlier NMEA 0180 and NMEA 0182 standards. In marine applications, it is slowly being phased out in favor of the newer
The electrical standard that is used is , although most hardware with NMEA-0183 outputs are also able to drive a single
port. Although the standard calls for isolated inputs and outputs, there are various series of hardware that do not adhere to this requirement.
The NMEA 0183 standard uses a simple ,
protocol that defines how data are transmitted in a "sentence" from one "talker" to multiple "listeners" at a time. Through the use of intermediate expanders, a talker can have a unidirectional conversation with a nearly unlimited number of listeners, and using , multiple sensors can talk to a single computer port.
At the application layer, the standard also defines the contents of each sentence (message) type, so that all listeners can parse messages accurately.
There is a variation of the standard called NMEA-0183HS that specifies a baud rate of 38,400. This is in general use by
All transmitted data are printable
characters between 0x20 (space) to 0x7e (~)
Data characters are all the above characters less the reserved characters (See next line)
Reserved characters are used by NMEA0183 for the following uses:
Carriage return
Line feed, end delimiter
Start of encapsulation sentence delimiter
Start delimiter
Checksum delimiter
Field delimiter
TAG block delimiter
Code delimiter for HEX representation of ISO/IEC 8859-1 (ASCII) characters
Messages have a maximum length of 82 characters, including the $ or ! starting character and the ending &LF&
The start character for each message can be either a $ (For conventional field delimited messages) or ! (for messages that have special encapsulation in them)
The next five characters identify the talker (two characters) and the type of message (three characters).
All data fields that follow are comma-delimited.
Where data is unavailable, the corresponding field remains blank (it contains no character before the next delimiter – see
section below).
The first character that immediately follows the last data field character is an asterisk, but it is only included if a checksum is supplied.
The asterisk is immediately followed by a
represented as a two-digit
number. The checksum is the
codes of all characters between the $ and *. According to the official specification, the checksum is optional for most data sentences, but is compulsory for RMA, RMB, and RMC (among others).
ends the message.
As an example, a waypoint arrival alarm has the form:
$GPAAM,A,A,0.10,N,WPTNME*32
Another example for AIS messages is:
!AIVDM,1,1,,A,14eG;o@034o8sd&L9i:a;WF&062D,0*7D
The new standard, , accommodates several talkers at a higher baud rate, without using a central hub, or round-robin packet buffering.
The NMEA standard is proprietary and sells for at least US$250 (except for members of the NMEA) as of November 2017. However, much of it has been reverse-engineered from public sources.
Most GPS manufacturers include special messages in addition to the standard NMEA set in their products for maintenance and diagnostics purposes. Extended messages begin with "$P". These extended messages are not standardized.
NMEA 0183 is widely supported by navigation and mapping software. Notable examples include the following.
Device Management Platform
StreetFinder
GPS Daemon
Mobile Edition
- OpenStreetMap Map Editor
Street Atlas
- Open source navigation software
A sample file produced by a Tripmate 850 GPS logger. This file was produced in , , . The record lasts two seconds.
$GPGGA,,,N,,W,1,8,1.03,61.7,M,55.2,M,,*76
$GPGSA,A,3,10,07,05,02,29,04,08,13,,,,,1.72,1.03,1.38*0A
$GPGSV,3,1,11,10,63,137,17,07,61,098,15,05,59,290,20,08,54,157,30*70
$GPGSV,3,2,11,02,39,223,19,13,28,070,17,26,23,252,,04,14,186,14*79
$GPGSV,3,3,11,29,09,301,24,16,09,020,,36,,,*76
$GPRMC,,A,,N,,W,0.02,31.66,280511,,,A*43
$GPGGA,,,N,,W,1,8,1.03,61.7,M,55.3,M,,*75
$GPGSA,A,3,10,07,05,02,29,04,08,13,,,,,1.72,1.03,1.38*0A
$GPGSV,3,1,11,10,63,137,17,07,61,098,15,05,59,290,20,08,54,157,30*70
$GPGSV,3,2,11,02,39,223,16,13,28,070,17,26,23,252,,04,14,186,15*77
$GPGSV,3,3,11,29,09,301,24,16,09,020,,36,,,*76
$GPRMC,,A,,N,,W,0.06,31.66,280511,,,A*45
Note some blank fields, for example:
GSV records, which describe satellites 'visible', lack the SNR (signal–to–noise ratio) field for satellite 16 and all data for satellite 36.
GSA record, which lists satellites used for determining a
and gives a
of the fix, contains 12 fields for satellites' numbers, but only 8 satellites were taken into account—so 4 fields remain blank.
The checksum at the end of each sentence is the XOR of all of the bytes in the sentence, excluding the initial dollar sign. The following
generates a checksum for the string entered as "mystring" and prints it to the output stream. In the example, a sentence from the sample file is used.
#include &stdio.h&
#include &string.h&
int checksum(const char *s) {
int c = 0;
c ^= *s++;
int main()
char mystring[] = "GPRMC,,A,,N,,W,0.06,31.66,280511,,,A";
printf("String: %s\nChecksum: 0x%02X\n", mystring, checksum(mystring));
NMEA 0183 continued to be maintained separately: V4.10 was published in early May 2012, and an erratum noted on 12 May 2012. It is not clear whether there is any active development. The latest NMEA announcement on the subject is older than the V4.10 standard.
Peter Bennett (Sep 15, 1997). .
. NMEA. November 2008.
Raymond, Eric S. (January 2016). .
Dale DePriest. .
(PDF). NMEA.
(PDF). NMEA. March 2012.
from Excalibur Systems Inc.
Free software libraries for parsing or building NMEA sentences
: Hidden categories:Table of Contents
Disclaimer
This site is based on personal research and is believed to be
accurate but there is no guarantee that any of the information is
correct or suitable for any purpose. I have been told by the NMEA
folks that my information is old and out of date.
The current version of
NMEA at the time I wrote this is 3.01 which is not described
here. This site is for historical information and is not intended to
be used for any official purpose. For official data please contact the
web site. Please see the
bottom of this article for the sources of this data.
The National Marine Electronics Association (NMEA) has developed a specification
that defines the interface between various pieces of marine electronic
equipment.
The standard permits marine electronics to send
information to computers and to other marine equipment.
A full copy
of this standard is available for purchase at their web site.
the information on this site comes from this standard and I do not
have a copy. Anyone attempting to design anything to this standard
should obtain an official copy.
GPS receiver communication is defined within this specification.
Most computer programs that provide real time position information
understand and expect data to be in NMEA format. This data includes
the complete PVT (position, velocity, time) solution computed by the
GPS receiver. The idea of NMEA is to send a line of data called a
sentence that is totally self contained and independent from other
sentences.
There are standard sentences for each device category and
there is also the ability to define proprietary sentences for use by
the individual company.
All of the standard sentences have a two
letter prefix that defines the device that uses that sentence type.
(For gps receivers the prefix is GP.) which is followed by a three
letter sequence that defines the sentence contents.
In addition NMEA
permits hardware manufactures to define their own proprietary
sentences for whatever purpose they see fit.
All proprietary
sentences begin with the letter P and are followed with 3 letters that
identifies the manufacturer controlling that sentence.
For example a
Garmin sentence would start with PGRM and Magellan would begin with
Each sentence begins with a '$' and ends with a carriage
return/line feed sequence and can be no longer than 80 characters of
visible text (plus the line terminators).
The data is contained within
this single line with data items separated by commas.
The data itself
is just ascii text and may extend over multiple sentences in certain
specialized instances but is normally fully contained in one variable
length sentence.
The data may vary in the amount of precision
contained in the message.
For example time might be indicated to
decimal parts of a second or location may be show with 3 or even 4
digits after the decimal point.
Programs that read the data should
only use the commas to determine the field boundaries and not depend
on column positions. There is a provision for a checksum at the end of
each sentence which may or may not be checked by the unit that reads
the data. The checksum field consists of a '*' and two hex digits
representing an 8 bit exclusive OR of all characters between, but not
including, the '$' and '*'.
A checksum is required on some sentences.
There have been several changes to the standard but for gps use the
only ones that are likely to be encountered are 1.5 and 2.0 through
These just specify some different sentence configurations which
may be peculiar to the needs of a particular device thus the gps may
need to be changed to match the devices being interfaced to.
gps's provide the ability configure a custom set the sentences while
other may offer a set of fixed choices.
Many gps receivers simply
output a fixed set of sentences that cannot be changed by the user.
The current version of the standard is 3.01. I have no specific
information on this version, but I am not aware of any GPS products
that require conformance to this version.
The hardware interface for GPS units is designed to meet the NMEA
requirements.
They are also compatible with most computer serial
ports using RS232 protocols, however strictly speaking the NMEA
standard is not RS232. They recommend conformance to EIA-422.
interface speed can be adjusted on some models but the NMEA standard
is 4800 b/s (bit per second rate) with 8 bits of data, no parity, and
one stop bit.
All units that support NMEA should support this
speed. Note that, at a b/s rate of 4800, you can easily send enough
data to more than fill a full second of time.
For this reason some
units only send updates every two seconds or may send some data every
second while reserving other data to be sent less often.
In addition
some units may send data a couple of seconds old while other units may
send data that is collected within the second it is sent.
time is sent in some field within each second so it is pretty easy to
figure out what a particular gps is doing.
Some sentences may be sent
only during a particular action of the receiver such as while
following a route while other receivers may always send the sentence
and just null out the values. Other difference will be noted in the
specific data descriptions defined later in the text.
At 4800 b/s you can only send 480 characters in one second. Since
an NMEA sentence can be as long as 82 characters you can be limited to
less than 6 different sentences.
The actual limit is determined by the
specific sentences used, but this shows that it is easy to overrun
the capabilities if you want rapid sentence response. NMEA is designed
to run as a process in the background spitting out sentences which are
then captured as needed by the using program. Some programs cannot do
this and these programs will sample the data stream, then use the data
for screen display, and then sample the data again.
Depending on the
time needed to use the data there can easily be a lag of 4 seconds in
the responsiveness to changed data. This may be fine in some applications
but totally unacceptable in others. For example a car traveling at 60 mph
will travel 88 feet in one second. Several second delays could make the
entire system seem unresponsive and could cause you to miss your turn.
The NMEA standard has been around for many years (1983) and has
undergone several revisions.
The protocol has changed and the number
and types of sentences may be different depending on the
revision. Most GPS receivers understand the standard which is called: 0183
version 2.
This standard dictates a transfer rate of 4800 b/s. Some
receivers also understand older standards.
The oldest standard was
0180 followed by 0182 which transferred data at 1200 b/s.
An earlier
version of 0183 called version 1.5 is also understood by some
receivers.
Some Garmin units and other brands can be set to 9600 for
NMEA output or even higher but this is only recommended if you have
determined that 4800 works ok and then you can try to set it
faster. Setting it to run as fast as you can may improve the
responsiveness of the program.
In order to use the hardware interface you will need a cable.
Generally the cable is unique to the hardware model so you will need
an cable made specifically for the brand and model of the unit you
own. Some of the latest computers no longer include a serial port but
only a USB port.
Most gps receivers will work with Serial to USB
adapters and serial ports attached via the pcmcia (pc card)
adapter. For general NMEA use with a gps receiver you will only need
two wires in the cable, data out from the gps and ground.
wire, Data in, will be needed if you expect the receiver to accept
data on this cable such as to upload waypoints or send DGPS data to
the receiver.
GPS receivers may be used to interface with other NMEA devices
such as autopilots, fishfinders, or even another gps receivers.
can also listen to Differential Beacon Receivers that can send data using
the RTCM SC-104 standard.
This data is consistent with the hardware
requirements for NMEA input data. There are no handshake lines defined
NMEA consists of sentences, the first word of which, called a data
type, defines the interpretation of the rest of the sentence.
Data type would have its own unique interpretation and is defined in
the NMEA standard.
The GGA sentence
shows an example that provides essential fix data.
Other sentences
may repeat some of the same information but will also supply new data.
Whatever device or program that reads the data can watch for the data
sentence that it is interested in and simply ignore other sentences
that is doesn't care about.
In the NMEA standard there are no
commands to indicate that the gps should do something different.
Instead each receiver just sends all of the data and expects much of
it to be ignored.
Some receivers have commands inside the unit that
can select a subset of all the sentences or, in some cases, even the
individual sentences to send. There is no way to indicate anything
back to the unit as to whether the sentence is being read correctly or
to request a re-send of some data you didn't get.
Instead the receiving
unit just checks the checksum and ignores the data if the checksum
is bad figuring the data will be sent again sometime later.
There are many sentences in the NMEA standard for all kinds of devices
that may be used in a Marine environment.
Some of the ones that have
applicability to gps receivers are listed below: (all message start with GP.)
- Waypoint Arrival Alarm
- Almanac data
APA - Auto Pilot A sentence
- Auto Pilot B sentence
- Bearing Origin to Destination
- Bearing using Great Circle route
DTM - Datum being used.
- Fix information
- Lat/Lon data
GRS - GPS Range Residuals
- Overall Satellite data
GST - GPS Pseudorange Noise Statistics
- Detailed Satellite data
<a HDT - Heading, True
- send control for a beacon receiver
- Beacon receiver status information.
RMA - recommended Loran data
- recommended navigation data for gps
- recommended minimum data for gps
- route message
TRF - Transit Fix Data
STN - Multiple Data ID
VBW - dual Ground / Water Spped
- Vector track an Speed over the Ground
WCV - Waypoint closure velocity (Velocity Made Good)
- Waypoint Location information
XTC - cross track error
- measured cross track error
ZTG - Zulu (UTC) time and time to go (to destination)
- Date and Time
Some gps receivers with special capabilities output these
special messages.
- Compass output
- Remote Control for a DGPS receiver
In addition some GPS receivers can mimic Loran-C receivers by outputing
the LC prefix in some of their messages so that they can be used to interface
to equipment that is expecting this prefix instead of the GP one.
The last version 2 iteration of the NMEA standard was 2.3.
added a mode indicator to several sentences which is used to indicate
the kind of fix the receiver currently has. This indication is part of
the signal integrity information needed by the FAA.
The value can be
A=autonomous, D=differential, E=Estimated, N=not valid, S=Simulator.
Sometimes there can be a null value as well.
Only the A and D values
will correspond to an Active and reliable Sentence.
character has been added to the RMC, RMB, VTG, and GLL, sentences and
optionally some others including the BWC and XTE sentences.
If you are interfacing a GPS unit to another device, including a
computer program, you need to ensure that the receiving unit is given
all of the sentences that it needs.
If it needs a sentence that your
GPS does not send then the interface to that unit is likely to fail.
needs of some typical programs.
The sentences sent by some typical
receivers include:
GarminMagellanLowranceSiRFNotes:
NYYNAuto Pilot B
YNNNbearing, origin to
destination - earlier G-12's do not transmit this
YYYYfix data
GPGLL YYYY Lat/Lon data -
earlier G-12's do not transmit this
GPGSA YYYY overall
satellite reception data, missing on some Garmin models
GPGSV YYYYdetailed
satellite data, missing on some Garmin models
GPRMB YYYN minimum
recommended data when following a route
YYYY minimum recommended data
GPRTEYUU N route data,
there is an active route. (this is sometimes bidirectional)
waypoint data, only when there is an active route (this is sometimes
bidirectional)
NMEA 1.5 - some units do not support version 1.5.
Lowrance units
provide the ability to customize the NMEA output by sentences so that
you can develop your own custom sentence structure.
NameGarminMagellanNotes:
GPAPANYAutomatic Pilot A
GPBODYNbearing origin to destination -
earlier G-12's do not send this
GPBWCYYbearing to waypoint using great
circle route.
GPGLLYYlat/lon - earlier G-12's do not
GPRMCYNminimum recommend data
GPRMBYNminimum recommended data when
following a route
GPVTGYYvector track and speed over
GPWPLYNwaypoint data (only when active
GPXTEYYcross track error
The NMEA 2.3 output from the Garmin Legend, Vista, and perhaps some
others include the BWC, VTG, and XTE sentences.
The Trimble Scoutmaster outputs: APA, APB, BWC, GGA, GLL, GSA, GSV,
RMB, RMC, VTG, WCV, XTE, ZTG.
The Motorola Encore outputs: GGA, GLL, GSV, RMC, VTG, ZDA and a
proprietary sentence .
Units based on the SiRF chipset can output: GGA, GLL, GSA, GSV,
RMC, and VTG.
What is actually output is based on which sentences are
selected by the user or application program. See below for more details.
Some implementations have
enhanced the SiRF capabilities with other sentences as well by
changing the firmware.
For example, the u-blox receivers add ZDA and
some proprietary sentences to the above list of sentences. Check your
documentation for more details.
Garmin receivers send the following Proprietary Sentences:
(estimated error) - not sent if set to
(map datum)
(altitude)
(beacon receiver control)
Note that Garmin converts lat/lon coordinates to the datum chosen
by the user when sending this data.
This is indicated in the
proprietary sentence PGRMM.
This can help programs that use maps with
other datums but is not an NMEA standard.
Be sure and set your datum
to WGS84 on Garmin units when communicating to other NMEA devices.
Magellan also converts lat/lon coordinates to the datum chosen on
the receiver but do not indicate this in a message. Magellan units use
proprietary sentences for waypoint maintenance and other tasks. They
use a prefix of PMGN for this data.
Most other units always output NMEA messages in the WGS84 datum.
sure and check the user documentation to be sure.
It is possible to just view the information presented on the NMEA
interface using a simple terminal program.
If the terminal program can
log the session then you can build a history of the entire session into
More sophisticated logging programs can filter the messages to
only certain sentences or only collect sentences at prescribed intervals.
Some computer programs that provide real time display and logging actually
save the log in an ascii format that can be viewed with a text editor or
used independently from the program that generated it.
Some units also support an NMEA input mode. While not too many
programs support this mode it does provide a standardized way to
update or add waypoint and route data.
Note that there is no
handshaking or commands in NMEA mode so you just send the data in the
correct sentence and the unit will accept the data and add or
overwrite the information in memory.
If the data is not in the
correct format it will simply be ignored. A carriage return/line feed
sequence is required.
If the waypoint name is the same you will
overwrite existing data but no warning will be issued.
The sentence
construction is identical to what the unit downloads so you can, for
example, capture a
from one unit and
then send that same sentence to another unit but be careful if the two
units support waypoint names of different lengths since the receiving
unit might truncate the name and overwrite a waypoint accidently.
you create a sentence from scratch you should create a correct
Be sure you know and have set you unit to the correct
Many units support the input of WPL sentences and a few
support RTE as well.
On NMEA input the receiver stores information based on interpreting
the sentence itself.
While some receivers accept standard NMEA input this can
only be used to update a waypoint or similar task and not to send a
command to the unit.
Proprietary input sentences could be used to
send commands. Since the Magellan upload and download maintenance
protocol is based on NMEA sentences they support a modified WPL
message that adds comments, altitude, and icon data.
Some marine units may accept input for alarms such as deep or
shallow water based on the DPT sentence or MTW to read the water
temperature. For example the Garmin Map76 supports DPT, MTW
(temperature), and VHW (speed) input sentences. Other units may use
NMEA input to provide initialization data via proprietary sentences,
or to select which NMEA sentences to output.
The most important NMEA sentences include the GGA which provides the current
Fix data, the RMC which provides the minimum gps sentences information, and
the GSA which provides the Satellite status data.
$GPGGA,7.038,N,,E,1,08,0.9,545.4,M,46.9,M,,*47
Global Positioning System Fix Data
Fix taken at 12:35:19 UTC
Latitude 48 deg 07.038' N
Longitude 11 deg 31.000' E
Fix quality: 0 = invalid
1 = GPS fix (SPS)
2 = DGPS fix
3 = PPS fix
4 = Real Time Kinematic
5 = Float RTK
6 = estimated (dead reckoning) (2.3 feature)
7 = Manual input mode
8 = Simulation mode
Number of satellites being tracked
Horizontal dilution of position
Altitude, Meters, above mean sea level
Height of geoid (mean sea level) above WGS84
(empty field) time in seconds since last DGPS update
(empty field) DGPS station ID number
the checksum data, always begins with *
If the height of geoid is missing then the altitude should be
Some non-standard implementations report altitude with
respect to the ellipsoid rather than geoid altitude.
Some units
do not report negative altitudes at all.
This is the only
sentence that reports altitude.
- GPS DOP and active satellites. This sentence provides
details on the nature of the fix.
It includes the numbers of the
satellites being used in the current solution and the DOP. DOP
(dilution of precision) is an indication of the effect of satellite
geometry on the accuracy of the fix.
It is a unitless number where
smaller is better.
For 3D fixes using 4 satellites a 1.0 would be
considered to be a perfect number, however for overdetermined
solutions it is possible to see numbers below 1.0.
There are differences in the way the PRN's are presented which can
effect the ability of some programs to display this data.
example, in the example shown below there are 5 satellites in the
solution and the null fields are scattered indicating that the almanac
would show satellites in the null positions that are not being used as
part of this solution.
Other receivers might output all of the
satellites used at the beginning of the sentence with the null field
all stacked up at the end.
This difference accounts for some
satellite display programs not always being able to display the
satellites being tracked.
Some units may show all satellites that
have ephemeris data without regard to their use as part of the solution
but this is non-standard.
$GPGSA,A,3,04,05,,09,12,,,24,,,,,2.5,1.3,2.1*39
Satellite status
Auto selection of 2D or 3D fix (M = manual)
3D fix - values include: 1 = no fix
2 = 2D fix
3 = 3D fix
04,05... PRNs of satellites used for fix (space for 12)
PDOP (dilution of precision)
Horizontal dilution of precision (HDOP)
Vertical dilution of precision (VDOP)
the checksum data, always begins with *
- Satellites in View shows data about
the satellites that the unit might be able to find based on its
viewing mask and almanac data.
It also shows current ability to track
this data.
Note that one GSV sentence only can provide data for up to
4 satellites and thus there may need to be 3 sentences for the full
information.
It is reasonable for the GSV sentence to contain
more satellites than GGA might indicate since GSV may include
satellites that are not used as part of the solution.
a requirment that the GSV sentences all appear in sequence.
avoid overloading the data bandwidth some receivers may place
the various sentences in totally different samples since each
sentence identifies which one it is.
The field called SNR (Signal to Noise Ratio) in the NMEA standard
is often referred to as signal strength.
SNR is an indirect but more
useful value that raw signal strength.
It can range from 0 to 99 and
has units of dB according to the NMEA standard, but the various
manufacturers send different ranges of numbers with different starting
numbers so the values themselves cannot necessarily be used to
evaluate different units. The range of working values in a given gps
will usually show a difference of about 25 to 35 between the lowest
and highest values, however 0 is a special case and may be shown
on satellites that are in view but not being tracked.
$GPGSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75
Satellites in view
Number of sentences for full data
sentence 1 of 2
Number of satellites in view
Satellite PRN number
Elevation, degrees
Azimuth, degrees
SNR - higher is better
for up to 4 satellites per sentence
the checksum data, always begins with *
- NMEA has its own version of
essential gps pvt (position, velocity, time) data.
It is called RMC,
The Recommended Minimum, which will look similar to:
$GPRMC,123519,A,,N,,E,022.4,084.4,.1,W*6A
Recommended Minimum sentence C
Fix taken at 12:35:19 UTC
Status A=active or V=Void.
Latitude 48 deg 07.038' N
Longitude 11 deg 31.000' E
Speed over the ground in knots
Track angle in degrees True
Date - 23rd of March 1994
Magnetic Variation
The checksum data, always begins with *
Note that, as of the 2.3 release of NMEA, there is a new field in the RMC
sentence at the end just prior to the checksum.
For more information on
this field .
- Geographic Latitude and Longitude is
a holdover from Loran data and some old units may not send the time
and data active information if they are emulating Loran data. If a gps
is emulating Loran data they may use the LC Loran prefix instead of
$GPGLL,4916.45,N,12311.12,W,225444,A,*1D
Geographic position, Latitude and Longitude
Latitude 49 deg. 16.45 min. North
12311.12,W
Longitude 123 deg. 11.12 min. West
Fix taken at 22:54:44 UTC
Data Active or V (void)
checksum data
Note that, as of the 2.3 release of NMEA, there is a new field in the GLL
sentence at the end just prior to the checksum.
For more information on
this field .
- Velocity made good.
receiver may use the LC prefix instead of GP if it is emulating
Loran output.
$GPVTG,054.7,T,034.4,M,005.5,N,010.2,K*48
Track made good and ground speed
True track made good (degrees)
Magnetic track made good
Ground speed, knots
Ground speed, Kilometers per hour
Note that, as of the 2.3 release of NMEA, there is a new field in the VTG
sentence at the end just prior to the checksum.
For more information on
this field .
Receivers that don't have a magnetic deviation (variation) table built
in will null out the Magnetic track made good.
- Waypoint Location data provides
essential waypoint data.
It is output when navigating to indicate
data about the destination and is sometimes supported on input to
redefine a waypoint location.
Note that waypoint data as defined in
the standard does not define altitude, comments, or icon data.
route is active, this sentence is sent once for each waypoint in the
route, in sequence.
When all waypoints have been reported, the RTE
sentence is sent in the next data set. In any group of sentences, only
one WPL sentence, or an RTE sentence, will be sent.
$GPWPL,,N,,E,WPTNME*5C
With an interpretation of:
Waypoint Location
,E Longitude
Waypoint Name
The checksum data, always begins with *
- Waypoint Arrival Alarm is generated
by some units to indicate the Status of arrival (entering the
arrival circle, or passing the perpendicular of the course
line) at the destination waypoint.
$GPAAM,A,A,0.10,N,WPTNME*32
Arrival Alarm
Arrival circle entered
Perpendicular passed
Circle radius
Nautical miles
WPTNME Waypoint name
Checksum data
- Autopilot format B is sent by some
gps receivers to allow them to be used to control an autopilot unit.
This sentence is commonly used by autopilots and contains navigation
receiver warning flag status, cross-track-error, waypoint arrival
status, initial bearing from origin waypoint to the destination,
continuous bearing from present position to destination and
recommended heading-to-steer to destination waypoint for the active
navigation leg of the journey.
Note: some autopilots, Robertson in particular, misinterpret
"bearing from origin to destination" as "bearing from present position
to destination".
This is likely due to the difference between the APB
sentence and the APA sentence. for the APA sentence this would be the
correct thing to do for the data in the same field.
APA only differs
from APB in this one field and APA leaves off the last two fields
where this distinction is clearly spelled out.
This will result in
poor performance if the boat is sufficiently off-course that the two
bearings are different.
$GPAPB,A,A,0.10,R,N,V,V,011,M,DEST,011,M,011,M*3C
Autopilot format B
Loran-C blink/SNR warning, general warning
Loran-C cycle warning
cross-track error distance
steer Right to correct (or L for Left)
cross-track error units - nautical miles (K for kilometers)
arrival alarm - circle
arrival alarm - perpendicular
magnetic bearing, origin to destination
destination waypoint ID
magnetic bearing, present position to destination
magnetic heading to steer (bearings could True as 033,T)
- Bearing - Origin to Destination
shows the bearing angle of the line, calculated at the origin
waypoint, extending to the destination waypoint from the origin
waypoint for the active navigation leg of the journey.
$GPBOD,045.,T,023.,M,DEST,START*01
Bearing - origin to destination waypoint
bearing 045 True from "START" to "DEST"
bearing 023 Magnetic from "START" to "DEST"
destination waypoint ID
origin waypoint ID
- Bearing & Distance to Waypoint using
a Great Circle route.
Time (UTC) and distance & bearing to, and
location of, a specified waypoint from present position along the
great circle path.
$GPBWC,7.24,N,12309.57,W,051.9,T,031.6,M,001.3,N,004*29
Bearing and distance to waypoint - great circle
UTC time of fix 22:54:44
Latitude of waypoint
12309.57,W
Longitude of waypoint
Bearing to waypoint, degrees true
Bearing to waypoint, degrees magnetic
Distance to waypoint, Nautical miles
Waypoint ID
- The recommended minimum navigation
sentence is sent whenever a route or a goto is active.
systems it is sent all of the time with null data.
The Arrival alarm
flag is similar to the arrival alarm inside the unit and can be decoded
to drive an external alarm. Note the use of leading zeros in this
message to preserve the character spacing. This is done, I believe,
because some autopilots may depend on exact character spacing.
$GPRMB,A,0.66,L,003,004,4917.24,N,12309.57,W,001.3,052.5,000.5,V*20
Recommended minimum navigation information
Data status A = OK, V = Void (warning)
Cross-track error (nautical miles, 9.99 max),
steer Left to correct (or R = right)
Origin waypoint ID
Destination waypoint ID
Destination waypoint latitude 49 deg. 17.24 min. N
12309.57,W
Destination waypoint longitude 123 deg. 09.57 min. W
Range to destination, nautical miles (999.9 max)
True bearing to destination
Velocity towards destination, knots
Arrival alarm
A = arrived, V = not arrived
- RTE is sent to indicate the names of
the waypoints used in an active route.
There are two types of RTE
sentences. This route sentence can list all of the waypoints in the
entire route or it can list only those still ahead. Because an NMEA
sentence is limited to 80 characters there may need to be multiple
sentences to identify all of the waypoints.
The data about the
waypoints themselves will be sent in subsequent WPL sentences which
will be sent in future cycles of the NMEA data.
$GPRTE,2,1,c,0,W3IWI,DRIVWY,32CEDR,32-29,32BKLD,32-I95,32-US1,BW-32,BW-198*69
Waypoints in active route
total number of sentences needed for full data
this is sentence 1 of 2
Type c = complete list of waypoints in this route
w = first listed waypoint is start of current leg
Route identifier
Waypoint identifiers (names)
- Measured cross track error is a
small subset of the RMB message for compatibility with some older
equipment designed to work with Loran. Note that the same limitations
apply to this message as the ones in the RMB since it is expected to
be decoded by an autopilot.
$GPXTE,A,A,0.67,L,N*6F
Cross track error, measured
General warning flag V = warning
(Loran-C Blink or SNR warning)
Not used for GPS (Loran-C cycle lock flag)
cross track error distance
Steer left to correct error (or R for right)
Distance units - Nautical miles
- GPS Almanac Data contains GPS week
number, satellite health and the complete almanac data for one
satellite. Multiple messages may be transmitted, one for each
satellite in the GPS constellation, up to maximum of 32 messages.
Note that these sentences can take a long time to send so they are not
generally sent automatically by the gps receiver.
(Sorry I don't have
an exact example of the sentence.) Note that this sentence breaks the
80 character rule. Also note that this sentence is often accepted as
input so that you can preload a new almanac in a receiver.
$GPALM,A.B,C.D,E,F,hh,hhhh,...
Almanac Data being sent
Total number of messages
Message number
Satellite PRN number
GPS week number (0-1023)
Satellite health (bits 17-24 of message)
eccentricity
t index OA, almanac reference time
sigma index 1, inclination angle
OMEGADOT rate of right ascension
SQRA(A) root of semi-major axis
Omega, argument of perigee
Omega index 0, longitude of ascension node
M index 0, mean anomaly
a index f0, clock parameter
a index f1, clock parameter
- Compass output is used on Garmin
etrex summit, vista , and 76S receivers to output the value of the
internal flux-gate compass.
Only the magnetic heading and magnetic
variation is shown in the message.
$HCHDG,101.1,,,7.1,W*3C
Magnetic heading, deviation, variation
deviation (no data)
- Data and Time
$GPZDA,hhmmss.ss,dd,mm,yyyy,xx,yy*CC
$GPZDA,,04,07,*60
HrMinSec(UTC)
dd,mm,yyy Day,Month,Year
local zone hours -13..13
local zone minutes 0..59
- Control for a Beacon Receiver
$GPMSK,318.0,A,100,M,2*45
Frequency to use
Frequency mode, A=auto, M=manual
Beacon bit rate
Bitrate, A=auto, M=manual
frequency for MSS message status (null for no status)
- Beacon Receiver Status
$GPMSS,55,27,318.0,100,*66
signal strength in dB
signal to noise ratio in dB
Beacon Frequency in KHz
Beacon bitrate in bps
Proprietary sentences can either be output from the gps or used as input
to control information.
They always start with P which is followed by
a 3 character manufactures code and additional characters to define
the sentence type.
The following are Garmin proprietary sentences.
"P" denotes
proprietary, "GRM" is Garmin's manufacturer code, and "M" or "Z"
indicates the specific sentence type. Note that the PGRME sentence
is not set if the output is set to NMEA 1.5 mode.
$PGRME,15.0,M,45.0,M,25.0,M*1C
Estimated horizontal position error in meters (HPE)
Estimated vertical error (VPE) in meters
Overall spherical equivalent position error
$PGRMZ,93,f,3*21
Altitude in feet
Position fix dimensions 2 = user altitude
3 = GPS altitude
This sentence shows in feet, regardless of units shown on the display.
Note that for units with an altimeter this will be altitude computed
by the internal altimeter.
$PGRMM,NAD27 Canada*2F
Currently active horizontal datum
Proprietary sentences are used to control a Starlink differential
beacon receiver. (Garmin's DBR is Starlink compatible as are many
When the GPS receiver is set to change the DBR frequency
or b/s rate, the "J" sentence is replaced (just once) by (for
example): $PSLIB,320.0,200*59 to set the DBR to 320 KHz, 200 b/s.
$PSLIB,,,J*22
Status request
$PSLIB,,,K*23
configuration request
These two sentences are normally sent together in each group of
sentences from the GPS. The three fields are: Frequency, bit Rate,
Request Type.
The value in the third field may be: J = status request,
K = configuration request, or null (blank) = tuning message.
The correct values for frequency range from 283.5-325.0 KHz while the
bit rate can be set to 0, 25, 50, 100 or 200 bps.
Magellan uses proprietary sentences to do all of their waypoint and
route maintenance.
They use the MGN prefix for their sentences. This
use is documented in their interface specification and will not be
repeated here.
However, they also send proprietary sentences to
augment the gps data just like Garmin does.
Here is an example of a
sentence sent by the GPS Companion product:
$PMGNST,02.12,3,T,534,05.0,+
status information
Version number?
True if we have a fix False otherwise
numbers change - unknown
time left on the gps battery in hours
numbers change (freq. compensation?)
PRN number receiving current focus
A tracklog on a Meridian is made up of propretary sentences
that look like:
$PMGNTRK,,N,,W,00116,M,,A,,
$PMGNTRK,,N,,W,00090,M,,A,,.
North or South
East or West
Meters or Feet
Active or Void
Track Name
is used by Motorola Oncore receivers
to send a command to the receiver.
This command is used to set the
output of the sentence to a particular frequency in seconds (or to 0) or
to switch the output formula to motorola binary, gps, or loran.
$PMOTG,xxx,yyyy
the sentence to be controlled
the time interval (0-9999 seconds)
or $PMOTG,FOR,y
MPB=0, GPS=1, Loran=2
Rockwell International
The Rockwell chipset is used on a number of gps receivers.
outputs some proprietary sentences with the PRWI prefix and
accepts input from some special sentences similar to the approach used
by Magellan.
It can also be switched to a separate binary mode using
a proprietary sentence.
The input sentence most used to initialize
the unit is $PRWIINIT and one output sentence is $PRWIRID
$PRWIRID,12,01.83,12/15/97,0003,*42
12 channel unit
software version
software date
software options (HEX value)
Bit 0 minimize ROM usage
Bit 1 minimize RAM usage
An input sentence that will define which NMEA sentences are to be output
from the Rockwell unit is:
$PRWIILOG,GGA,A,T,1,0
type of sentence
A=activate, V=deactivate
every 1 second
The initialization sentence which can be input to speed up acquisition
looks like:
$PRWIINIT,V,,,,N,,W,100.0,0.0,M,0.0,T,503*77
INIT = initialization
V = reset, A = no reset
Reserved for future use
N = North, S = South
W = West, E = East
Altitude in meters
M = m/s, N = knots, K = km/hr
T = True, M = Magnetic
UTC time (hour, min, sec)
UTC date (day, month, year)
Note: Commas may be used to signify using existing data. If units
are supplied then the data must be present. Speed and direction must
be supplied together. Lat/Lon must be supplied together. UTC time and
date must be supplied together. If heading is magnetic then lat/lon
needs to be supplied along with UTC time and date.
The sentences available for the Rockwell Jupiter chipset are: GGA, GSA,
GSV, VTG, RMC and some proprietary sentences.
The SiRF line of chips support several input sentences that permit the
user to customize the way the chip behaves.
In addition SiRF has a binary
protocol that is even more powerful permitting different implementations
to behave entirely differently.
However, most applications do not attempt
to customize the behavior so a user will need to make sure that the
any customization is compatible with the application they are planning to
There are 5 input sentences defined that begin with $PSRF which is
followed by three digits.
Each sentence takes a fix amount of input fields
which must exist, no null fields, and is terminated with the standard
CR/LF sequence.
The checksum is required.
The sentences 100 and 102 set the serial ports. 100 sets the main
port A while 102 sets the DGPS input port B.
100 has an extra field
that can be used to switch the interface to binary mode. Binary mode
requires 8 bits, 1 stop bit, no parity. There is a command in binary
mode that will switch the interface back to NMEA. Do not use the NMEA
command to switch to binary mode unless you have the ability to switch
it back. You could render your gps inoperative.
$PSRF100,0,,0*0C
$PSRF102,,0*3C
0=SiRF, 1=NMEA
- This is where the protocol is changed.
b/s rate , 1
7, 8 Databits
0, 1 Stopbits
0=none, 1=odd, 2=even Parity
The sentences 101 and 104 can be used to initialize values to be used by
Supplying these values can shorten the initial lock time.
the clock offset is set to 0 then an internal default will be used.
Sentence 101 supplies data in the internal ECEF (Earth centered, Earth
Fixed) format in meters while sentence 104 supplies the data in the
traditional Lat / Lon format.
$PSRF101,-4,,921,12,3*22
$PSRF104,37.1.00,,12,3*3A
37.3875111 Latitude in degrees
-121.97232 Longitude in degrees
Ellipsoid Altitude in meters
Clock offset
GPS Time of Week in seconds
GPS Week Number
Channel count (1 to 12)
Reset config where
1 = warm start, ephemeris valid
2 = clear ephemeris, warm start (First Fix)
3 = initialize with data, clear ephemeris
4 = cold start, clear all data
8 = cold start, set factory defaults
The sentence 103 is used to control which NMEA sentences are to be sent
and how often.
Each sentence type is controlled individually.
query bit is set then the gps responds by sending this message in the next
second no matter what the rate is set to. Note that if trickle power is
in use (can only be set in binary mode) then the actual update rate will
be the selected update rate times the trickle rate which could mean that
the data will be sent less frequently than was set here.
$PSRF103,05,00,01,01*20
mode, 0=set rate, 1=query
rate in seconds, 0-255
checksum 0=no, 1=yes
The 105 sentence controls a debug mode which causes the gps to report
any errors it finds with the input data.
$PSRF105,1*3E would turn debug
on while $PSRF105,0*3F would turn it off.
The old Magnavox system used mostly proprietary sentences. The
Magnavox system was acquired by Leica Geosystems in 1994. Information
on this system can be found at this
site. The NMEA sentences themselves are described here.
They all use the MVX prefix and include:
Control Port Input sentences
$PMVXG,000 Initialization/Mode Control - Part A
$PMVXG,001 Initialization/Mode Control - Part B
$PMVXG,007 Control Port Configuration
$PMVXG,023 Time Recovery Configuration
$CDGPQ,YYY Query From a Remote Device / Request to Output a Sentence
Control Port Output Sentences
$PMVXG,000 Receiver Status
$PMVXG,021 Position, Height, Velocity
$PMVXG,022 DOPs
$PMVXG,030 Software Configuration
$PMVXG,101 Control Sentence Accept/Reject
$PMVXG,523 Time Recovery Configuration
$PMVXG,830 Time Recovery Results
The Sony interface uses a proprietary sentence that looks like:
$PSNY,0,00,05,500,06,06,06,06*14
Preamp (external antenna) status
0 = Normal
2 = shorted
Geodesic system (datum) 0-25, 0 = WGS84
Elevation mask in degrees
Speed Limit in Km
PDOP limit with DGPS on
HDOP limit with DGPS on
PDOP limit with DGPS off
HDOP limit with DGPS off
These streams will be modified when a route is active with the inclusion
of route specific data.
Garmin g12 sentences for version 4.57
$GPRMC,183729,A,,N,,W,000.0,360.0,.5,E*6F
$GPRMB,A,,,,,,,,,,,,V*71
$GPGGA,7.356,N,,W,1,05,1.6,646.4,M,-24.1,M,,*75
$GPGSA,A,3,02,,,07,,09,24,26,,,,,1.6,1.6,1.0*3D
$GPGSV,2,1,08,02,43,088,38,04,42,145,00,05,11,291,00,07,60,043,35*71
$GPGSV,2,2,08,08,02,145,00,09,46,303,47,24,16,178,32,26,18,231,43*77
$PGRME,22.0,M,52.9,M,51.0,M*14
$GPGLL,,N,,W,183730,A*33
$PGRMZ,2062,f,3*2D
$PGRMM,WGS 84*06
$GPBOD,,T,,M,,*47
$GPRTE,1,1,c,0*07
$GPRMC,183731,A,,N,,W,000.0,360.0,.5,E*67
$GPRMB,A,,,,,,,,,,,,V*71
Here are some observations:
Notice the complete cycle shows an update interval of 2 seconds
which is caused by the fact that there is too much data to fit
in one second at 4800 b/s.
Upping the b/s rate to 9600 will cause an update every second.
Notice that the samples are in real time for each sentence because
the GGA sentence shows an update in the time of 1 second.
It would be possible to provide update data every second by
parsing more sentences since the data is adjusted every second.
Notice the gaps in the GSA message where the satellites in use
are shown in a there slots as compared to the GSV locations.
Some tools do not decode this configuration correctly.
Note the GGA sentence starts the sequence every two seconds.
This sample is similar for other Garmin receivers designed in
the same time frame as the G-12.
Garmin etrex summit outputs
$GPRMC,002454,A,,N,,E,0.0,43.1,.1,W,A*3F
$GPRMB,A,,,,,,,,,,,,A,A*0B
$GPGGA,3.5295,N,,E,1,05,2.2,18.3,M,39.0,M,,*7F
$GPGSA,A,3,01,04,07,16,20,,,,,,,,3.6,2.2,2.7*35
$GPGSV,3,1,09,01,38,103,37,02,23,215,00,04,38,297,37,05,00,328,00*70
$GPGSV,3,2,09,07,77,299,47,11,07,087,00,16,74,041,47,20,38,044,43*73
$GPGSV,3,3,09,24,12,282,00*4D
$GPGLL,,N,,E,002454,A,A*4F
$GPBOD,,T,,M,,*47
$PGRME,8.6,M,9.6,M,12.9,M*15
$PGRMZ,51,f*30
$HCHDG,101.1,,,7.1,W*3C
$GPRTE,1,1,c,*37
$GPRMC,002456,A,,N,,E,0.0,43.1,.1,W,A*3D
Some observations as compared to the G-12:
Information is buffered.
It is all for the same second.
Information is only updated every two seconds at 4800 b/s.
Lat/Lon numbers have an extra digit.
This is NMEA 2.3 data as indicated by the extra A at the end of RMC,
RMB and GLL.
Note that the satellites in use have been shoved to the left of
the GSA message instead of the slot location.
The RMC sentence starts the sequence.
Note the HCHDG sentence for the built in compass.
Except for the compass output this sentence list is similar for
most Garmin units designed around the time of the Summit receivers,
beginning with the emap.
Garmin etrex Vista release 2.42 outputs
$GPRMC,023042,A,,N,,W,0.0,156.1,.3,E,A*36
$GPRMB,A,,,,,,,,,,,,A,A*0B
$GPGGA,7.3837,N,,W,1,04,2.3,507.3,M,-24.1,M,,*75
$GPGSA,A,3,04,05,,,09,,,24,,,,,2.8,2.3,1.0*36
$GPGSV,3,2,11,09,47,229,42,10,04,157,00,14,00,305,00,24,70,154,33*79
$GPGLL,,N,,W,023042,A,A*5E
$GPBOD,,T,,M,,*47
$GPVTG,156.1,T,140.9,M,0.0,N,0.0,K*41
$PGRME,8.4,M,23.8,M,25.7,M*2B
$PGRMZ,1735,f*34
$PGRMM,WGS 84*06
$HCHDG,,,,15.3,E*30
$GPRTE,1,1,c,*37
$GPRMC,023044,A,,N,,W,0.0,156.1,.3,E,A*37
Some observations as compared to the Summit:
Output still repeats at a rate of once every 2 seconds and is NMEA 2.3 Data
The satellite status sentences are interleaved. The GSV sentences are
only sent one in each two second group.
Note the example shows sentence
two of three. Thus the complete cycle would take 6 seconds.
New sentence VTG.
The altitude in PGRMZ is from the altimeter while the altitude in
the GGA is from the gps computation.
Note the HCHDG sentence for the built in compass and is missing
for the Legend.
Garmin basic yellow etrex European version
$GPRMC,152926,V,,N,,E,10.8,0.0,.9,E,S*22
$GPRMB,V,,,,,,,,,,,,A,S*0E
$GPGGA,7.8259,N,,E,8,09,2.0,44.7,M,20.6,M,,*79
$GPGSA,A,3,07,08,09,11,18,23,26,28,29,,,,6.6,2.0,3.0*38
$GPGSV,3,1,09,07,29,138,44,08,22,099,42,09,30,273,44,11,07,057,35*75
$GPGSV,3,2,09,18,28,305,43,23,14,340,39,26,64,222,49,28,60,084,49*7E
$GPGSV,3,3,09,29,52,187,48*4E
$GPGLL,,N,,E,152926,V,S*48
$GPBOD,,T,,M,,*47
$PGRME,15.0,M,22.5,M,15.0,M*1B
$PGRMZ,147,f,3*19
$GPRTE,1,1,c,*37
$GPRMC,152928,V,,N,,E,10.8,0.0,.9,E,S*29
Some Ovservations:
The sentence sequence starts with RMC and repeats every 2 seconds.
The PGRMM sentence is missing so the datum is not identified.
Magellan GPS companion sentences
$GPGGA,,,N,,W,1,05,1.8,00543,M,,,,*33
$GPRMC,,A,,N,,W,00.0,000.0,,E*54
$GPGSA,A,3,24,07,09,26,05,,,,,,,,03.6,01.8,03.1*05
$PMGNST,02.12,3,T,534,05.0,+
$GPGLL,,N,,W,,A*2D
$GPGGA,,,N,,W,1,05,1.8,00543,M,,,,*34
$GPRMC,,A,,N,,W,00.0,000.0,,E*53
$GPGSA,A,3,24,07,09,26,05,,,,,,,,03.6,01.8,03.1*05
$GPGSV,3,1,08,07,57,045,43,09,48,303,48,04,44,144,,02,39,092,*7F
$GPGSV,3,2,08,24,18,178,44,26,17,230,41,05,13,292,43,08,01,147,*75
$GPGSV,3,3,08,,,,,,,,,,,,,,,,*71
$GPGLL,,N,,W,,A*21
Some observations:
Complete cycle takes two seconds.
RMC, GGA, GSA, and GLL are update every second.
GSV data is swapped with MGNST data every other second.
Time is shown to .xx and for GLL .xxx precision but the unit output is not
that accurate. Data seems asynchronous and not tied to top of any
particular second.
Lat/Lon has an extra digit as compared to the Garmin G-12.
There is a third GSV sentence that is technically not required.
Notice that all the satellites used are shoved to the left in the
GSA message.
No geoid corrections are shown in the GGA message. This indicates
that altitude is shown with respect to the ellipsoid instead of MSL.
Magellan 315 shown in simulation mode.
$GPAPB,A,A,0.0,L,N,,,1.1,M,SIM002,1.1,M,,,*21
$GPGSA,A,3,01,02,03,04,,,,,,,,,2.0,2.0,2.0*34
$GPGSV,3,1,11,01,77,103,,13,53,215,,04,47,300,,20,47,090,*76
$GPGSV,3,2,11,19,24,158,,07,21,237,,25,16,039,,24,11,315,*73
$GPGSV,3,3,11,11,08,149,,27,00,179,,30,00,354,,,,,*46
$GPGLL,,N,,E,,A*37
$GPGGA,,,N,,E,1,04,2.0,-0047,M,,,,*39
$GPRMB,A,0.00,L,SIM001,SIM002,,N,,E,002.4,000.,021.7,V*0D
$GPRMC,,A,,N,,E,21.7,003.0,.,W*70
$GPAPB,A,A,0.0,L,N,,,1.1,M,SIM002,1.1,M,,,*21
$GPGSA,A,3,01,02,03,04,,,,,,,,,2.0,2.0,2.0*34
Some observations:
This listing shows navigation sentences simulating a route between
two locations, SIM001 and SIM002.
GLL starts the sequence and time stamp in the GLL message shows
more precision.
Update is every 2 seconds.
NMEA data is only transmitted in simulation mode or you have an
actual fix.
RN300 sentences:
$GPGGA,0.975,N,,W,2,07,1.1,-25.8,M,,M,1.8,,D*17
$GPGLL,,N,,W,171537,A,D*50
$GPRMC,171537,A,,N,,W,0.0,096.5,.0,E,D*07
$GPVTG,096.5,T,083.5,M,0.0,N,0.0,K,D*22
$GPGSA,A,2,04,09,07,24,02,05,26,,,,,,,1.1,*3C
$GPGSV,2,1,07,04,62,120,47,09,52,292,53,07,42,044,41,24,38,179,45*7B
$GPGSV,2,2,07,02,34,101,43,05,18,304,40,26,09,223,36,,,,*48
$PRAYA,6,1,122,0,0,2,36,1,1,,,,,*5A
$GPDTM,W84,,0.000000,N,0.000000,E,0.0,W84*6F
$GPGGA,0.974,N,,W,2,07,1.1,-25.8,M,,M,1.8,,D*19
Some observations:
Complete cycle every second triggered off of GGA.
Date is NMEA 2.3 with integrity value added.
The proprietary raytheon sentences seems to be for WAAS SV #122.
Note the new DTM sentences that permits conversion of NMEA datum
being used to WGS84.
The satellites are listed in an arbitrary order, stacked to the left.
NavMan 3400 (SiRF chipset sentences)
$GPGGA,,,N,,W,0,04,5.7,507.9,M,,,,0000*11
$GPGLL,,N,,W,,V*31
$GPGSA,A,1,27,08,28,13,,,,,,,,,21.7,5.7,20.9*38
$GPGSV,3,1,10,27,68,048,42,08,63,326,43,28,48,239,40,13,39,154,39*7E
$GPGSV,3,2,10,31,38,069,34,10,23,282,,03,12,041,,29,09,319,*7C
$GPGSV,3,3,10,23,07,325,,01,05,145,*7E
$GPRMC,,V,,N,,W,0.14,136.40,041002,,*04
$GPVTG,136.40,T,,M,0.14,N,0.3,K*66
$GPGGA,,,N,,W,0,04,5.7,508.3,M,,,,0000*13
Some observations:
A cycle is every second triggered off of GGA.
The GSA, GSV sentences are only sent every 4 seconds or so. The actual
sentences sent and the rate is adjustable using proprietary NMEA commands.
Altitude is based on the ellipsoid model and is not corrected
for geoid. Note that no geoid corrections are shown in GGA.
All headings are stated as true direction. There are no magnetic
direction outputs.
The ,0000 at the end of GGA is non standard.
Lat/Lon has an extra digit as compared to the Garmin G-12.
The clock is shown with millisecond precision.
The Navman sends 10 lines of non-nmea ascii data when it is first
turned on. Each line does begin with a $.
This is a sample sentence sequence. The Navman can be programmed to
send less sentences or sentences at a different rate.
The Navman uses the SiRF chipset, see above for more data on this chipset.
Sentences are stated to be NMEA 2.2 based on documentation.
Earhmate with SiRF chipset (firmware 2.31)
$GPGGA,,,N,,E,2,06,1.7,108.5,M,47.6,M,1.5,0000*7A
$GPGSA,A,3,20,11,25,01,14,31,,,,,,,2.6,1.7,1.9*3B
$GPGSV,2,1,08,11,74,137,45,20,58,248,43,07,27,309,00,14,23,044,36*7A
$GPGSV,2,2,08,01,14,187,41,25,13,099,39,31,11,172,37,28,09,265,*71
$GPRMC,,A,,N,,E,0.00,82.33,220503,,*39
$GPGGA,,,N,,E,2,06,1.7,109.0,M,47.6,M,1.5,0000*71
Some observations in comparison with the NavMan.
This unit show WAAS/EGNOS (WADGPS) in use. The GGA sentence shows a
2 indicating differential gps corrections.
The 1.5 at the end shows
the age of the dgps correction signal.
This is a new chipset firmware release and does support Geoid height
in the altitude as shown in the GGA sentence.
The RMC sentences shows that there is no support for Magnetic headings.
When WAAS/EGNOS was not in use a GLL sentence showed up after the GGA.
$GPGGA,,,N,,W,1,05,02.1,00545.6,M,-26.0,M,,*5F
$GPGSA,A,3,15,18,14,,,31,,,23,,,,04.5,02.1,04.0*0F
$GPGSV,3,1,10,15,48,123,35,18,36,064,36,14,77,186,39,03,36,239,29*7A
$GPGSV,3,2,10,09,08,059,,31,35,276,35,17,10,125,,11,08,306,*79
$GPGSV,3,3,10,23,41,059,37,25,06,173,*70
$GPRMC,,A,,N,,W,000.0,175.3,.4,E*71
$GPGGA,,,N,,W,1,05,02.1,00545.5,M,-26.0,M,,*5D
Some observations
This chipset is used in the Deluo universal mouse gps.
Update is every second by default.
Actual sentences are programmable using proprietary interface.
GLL and VTG can be added and others removed. The update interval
can be modified.
Altitude is given relative to MSL (Geoid height) in GGA
Magnetic and True headings are supported.
$GPVTG,139.7,T,,M,010.3,N,019.1,K*67
$GPGGA,9.8839,N,,W,0,00,99.9,0010,M,,M,000,0000*66
$GPGLL,,N,,W,050306,V*20
$GPRMC,050306,V,,N,,W,010.3,139.7,291003,,*10
$GPZDA,,10,2003,,*43
$GPGSA,A,1,,,,,,,,,,,,,99.9,99.9,99.9*09
$PSNY,0,00,05,500,06,06,06,06*14
Some observations
This is the format of Digittraveler from RadioShack.
If batteries are removed for 5 minutes on the Digitraveler the data is
The Sony proprietary message is described above.
Altitude is Ellipsoid, not MSL.
Heading is True only, Magnetic variation is not provided.
VTG, GGA, GLL, RMC, ZDA output every second. GSA and PSNY are
alternated with GSV data.
<a name="ublox"
$GPRMC,,A,,N,,W,0.820,188.36,110706,,,A*74
$GPVTG,188.36,T,,M,0.820,N,1.519,K,A*3F
$GPGGA,,,N,,W,1,03,2.36,525.6,M,-25.6,M,,*65
$GPGSA,A,2,25,01,22,,,,,,,,,,2.56,2.36,1.00*02
$GPGSV,4,1,14,25,15,175,30,14,80,041,,19,38,259,14,01,52,223,18*76
$GPGSV,4,2,14,18,16,079,,11,19,312,,14,80,041,,21,04,135,25*7D
$GPGSV,4,3,14,15,27,134,18,03,25,222,,22,51,057,16,09,07,036,*79
$GPGSV,4,4,14,07,01,181,,15,25,135,*76
$GPGLL,,N,,W,,A,A*7C
$GPZDA,,11,07,*63
Some observations
This is a 16 channel unit and shows up to 4 GSV sentences.
The sentences were captured at 9600 b/s, some are missing at 4800.
WAAS satellites can be used for ranging even if WAAS is turned off.
and Joe's web sites were used as
primary sources for data in this article as well as personal research.
Some data was obtained from the Garmin product manuals and product
manuals from other manufacturers.
The sample data streams were
collected as captured from the appropriate devices directly or supplied
to me by someone who captured them. All rights to this presentation
are reserved.
While I didn't use this page as a source there is some good data
site. It includes some sentences that are not on this page.

我要回帖

更多关于 nmea 0183 的文章

 

随机推荐