4c1897e4fa
Added Files: Serial/nmeafaq.txt
636 lines
No EOL
28 KiB
Text
636 lines
No EOL
28 KiB
Text
One place to find this document is at:
|
||
|
||
ftp://sundae.triumf.ca/pub/peter/nmeafaq.txt
|
||
|
||
---------------------------------------------------------------------------
|
||
|
||
|
||
The NMEA FAQ
|
||
Version 6.1 Sept. 15, 1997
|
||
(NMEA URL updated)
|
||
|
||
Additions, corrections, and comments should be emailed to the author,
|
||
Peter Bennett bennett@triumf.ca
|
||
|
||
Contents:
|
||
|
||
1. What is NMEA?
|
||
1.1 What is an NMEA Standard
|
||
1.2 NMEA Address
|
||
|
||
2. Electrical Interface
|
||
|
||
3. NMEA-0180 and NMEA-0182
|
||
3.1 Simple Format
|
||
3.2 Complex Format
|
||
|
||
4. NMEA-0183
|
||
|
||
4.1 General Sentence Format
|
||
4.2 Sentences sent by specific equipment
|
||
4.3 Sample Sentences Dissected
|
||
4.3.1 Standard Sentences
|
||
4.3.2 Garmin Proprietary Sentences
|
||
|
||
5. RS-232 connections
|
||
|
||
6. Troubleshooting
|
||
|
||
7. About the author
|
||
7.1 Acknowledgements
|
||
|
||
1. What is NMEA?
|
||
|
||
The National Marine Electronics Association is dedicated to the
|
||
education and advancement of the marine electronics industry and
|
||
the market which it serves.
|
||
|
||
It is a non-profit association composed of manufacturers,
|
||
distributors, dealers, educational institutions, and others
|
||
interested in peripheral marine electronics occupations
|
||
(quoted from a promo in "NMEA News")
|
||
|
||
|
||
1.1 What is an NMEA standard?
|
||
|
||
For the purposes of this article, an NMEA standard defines an
|
||
electrical interface and data protocol for communications
|
||
between marine instrumentation. (They may also have standards
|
||
for other things.)
|
||
|
||
1.2 NMEA Address
|
||
|
||
P.O. Box 3435
|
||
New Bern NC, 28564-3435
|
||
U.S.A.
|
||
Phone: 919-638-2626
|
||
Fax: 919-638-4885
|
||
email: nmea@coastalnet.com
|
||
web page: http://www4.coastalnet.com/nmea/default.html
|
||
|
||
|
||
2. Electrical Interface
|
||
|
||
These standards allow a single "talker", and several "listeners"
|
||
on one circuit. The recommended interconnect wiring is a
|
||
shielded twisted pair, with the shield grounded only at the
|
||
talker. The standards do not specify the use of any particular
|
||
connector.
|
||
|
||
|
||
The NMEA-0180 and 0182 standards say that the talker output may
|
||
be RS-232, or from a TTL buffer, capable of delivering 10 mA at
|
||
4 V. A sample circuit shows an open collector TTL buffer with a
|
||
680 ohm resistor to +12 V, and a diode to prevent the output
|
||
voltage from rising above +5.7 V.
|
||
|
||
NMEA-0183 accepts this, but recommends that the talker output
|
||
comply with EIA-422. This is a differential system, having two
|
||
signal lines, A and B. The voltages on the "A" line correspond
|
||
to those on the older TTL single wire, while the "B" voltages
|
||
are reversed (while "A" is at +5, "B" is at ground, and vice
|
||
versa)
|
||
|
||
In either case, the recommended receive circuit uses an
|
||
opto-isolator with suitable protection circuitry. The input
|
||
should be isolated from the receiver's ground.
|
||
|
||
In practice, the single wire, or the EIA-422 "A" wire may be
|
||
directly connected to a computer's RS-232 input.
|
||
|
||
|
||
|
||
3. NMEA-0180 and NMEA 0182
|
||
|
||
NMEA-0180 and 0182 are very limited, and just deal with
|
||
communcations from a Loran-C (or other navigation receiver,
|
||
although the standards specifically mention Loran), and an
|
||
autopilot.
|
||
|
||
From the information I have, it appears that 0180 and 0182 are
|
||
identical. I suspect that equipment claiming to use NMEA-0180
|
||
will use the "simple" format described below, while those using
|
||
NMEA-0182 will use the "complex" format. (but this is really
|
||
just a guess... corrections??)
|
||
|
||
3.1 "Simple" data format
|
||
|
||
The simple format consists of a single data byte transmitted at
|
||
intervals of 0.8 to 5 seconds, at 1200 baud with odd parity.
|
||
Bits 5 - 0 give the cross-track error in units of 0.1 uS or 0.01
|
||
nautical mile. The error is given in offset binary, with a
|
||
count of 1 representing full scale right error, 32 (hex 20) for
|
||
on course, and 63 (hex 3f) full scale left error. Bit 6 is a 1
|
||
if the data is valid, and bit 7 is 0 to indicate the simple
|
||
data format.
|
||
|
||
3.2 "Complex" data format
|
||
|
||
The complex format consists of a data block of 37 bytes of
|
||
(mostly) readable ASCII text giving cross-track error, bearing
|
||
to waypoint, present Lat/Long, and a binary status byte. The
|
||
data block shall be sent at intervals of 2 to 8 sec. All bytes
|
||
in the complex format have bit 7 = 1 to distinguish them from
|
||
the simple format. It is permissible for a sending device to
|
||
send both simple and complex data, and even to send a "simple"
|
||
data byte in the middle of a "complex" data block.
|
||
|
||
Byte Data
|
||
1 $
|
||
2 M | device
|
||
3 P | address
|
||
|
||
4 K = kilometres | cross track
|
||
N = nautical miles | error
|
||
U = microseconds | units
|
||
|
||
5 - 8 0 - 9 or . cross track error value
|
||
9 L or R cross track error position
|
||
|
||
10 T or M True or Magnetic bearing
|
||
11 - 13 0 - 9 bearing to next waypoint
|
||
|
||
14 - 23 12D34'56"N or present latitude
|
||
12D34.56'N
|
||
24 - 34 123D45'56"W or present longitude
|
||
123D45.67"W
|
||
|
||
35 non-ASCII status byte
|
||
bit 0 = 1 for manual cycle lock
|
||
1 = 1 low SNR
|
||
2 = 1 cycle jump
|
||
3 = 1 blink
|
||
4 = 1 arrival alarm
|
||
5 = 1 discontinuity of TDs
|
||
6 = 1 always
|
||
36 "NUL" character (hex 80)(reserved status byte)
|
||
37 "ETX" character (hex 83)
|
||
Any unavailable data is filled with "NUL" bytes.
|
||
|
||
|
||
4. NMEA-0183
|
||
|
||
4.1 General Sentence Format
|
||
|
||
Under the NMEA-0183 standard, all characters used are printable
|
||
ASCII text (plus carriage return and line feed). NMEA-0183 data
|
||
is sent at 4800 baud.
|
||
|
||
The data is transmitted in the form of "sentences". Each
|
||
sentence starts with a "$", a two letter "talker ID", a three
|
||
letter "sentence ID", followed by a number of data fields
|
||
separated by commas, and terminated by an optional checksum, and
|
||
a carriage return/line feed. A sentence may contain up to 82
|
||
characters including the "$" and CR/LF.
|
||
|
||
If data for a field is not available, the field is simply
|
||
omitted, but the commas that would delimit it are still sent,
|
||
with no space between them.
|
||
|
||
Since some fields are variable width, or may be omitted as
|
||
above, the receiver should locate desired data fields by
|
||
counting commas, rather than by character position within the
|
||
sentence.
|
||
|
||
The optional checksum field consists of a "*" and two hex digits
|
||
representing the exclusive OR of all characters between, but not
|
||
including, the "$" and "*". A checksum is required on some
|
||
sentences.
|
||
|
||
The standard allows individual manufacturers to define
|
||
proprietary sentence formats. These sentences start with "$P",
|
||
then a 3 letter manufacturer ID, followed by whatever data the
|
||
manufacturer wishes, following the general format of the
|
||
standard sentences.
|
||
|
||
Some common talker IDs are:
|
||
GP Global Positioning System receiver
|
||
LC Loran-C receiver
|
||
OM Omega Navigation receiver
|
||
II Integrated Instrumentation
|
||
(eg. AutoHelm Seatalk system)
|
||
|
||
4.2 Sentences sent by specific equipment
|
||
|
||
This section lists the sentence types used by various equipment.
|
||
The format and data included in each sentence type is given in
|
||
section 4.3.
|
||
|
||
Eagle AccuNav
|
||
Standard: RMB, RMC, GLL, APB
|
||
Proprietary: PSLIB
|
||
It also pretends it's a Loran, sending LCGLL, as well as GPGLL
|
||
|
||
Garmin GPS-38, NMEA-0183 V. 1.5 mode
|
||
Standard: GLL, RMB, RMC, WPL, BOD, XTE, VTG, BWC
|
||
Proprietary: PGRMM (map datum), PGRMZ (altitude), PSLIB (dgps ctrl)
|
||
|
||
Garmin GPS-38, NMEA-0183 V. 2.0 mode
|
||
Standard: GLL, RMB, RMC, WPL, BOD, GSA, GSV, RTE, GGA
|
||
Proprietary: PGRME (estimated error), PGRMM, PGRMZ, PSLIB
|
||
|
||
Garmin GPS-45 (and probably GPS-40 and GPS-90)
|
||
Standard: BOD, GLL, RTE, RMB, RMC, GGA, GSA, GSV
|
||
Proprietary: PGRME, PGRMM, PGRMZ
|
||
|
||
Garmin GPS-65 (and probably GPS-75)
|
||
Standard: BWC, GLL, RMB, RMC, R00, WPL, XTE, VTG
|
||
Proprietary: PGRMM, PGRMZ, PSLIB
|
||
|
||
Magellan Trailblazer
|
||
Standard: APB, BWC, GGA, GLL, RMB, RMC, VTG
|
||
Trimble Ensign XL
|
||
Standard: APA, BWC, BWR, GGA, GLL, RMB
|
||
|
||
Trimble Flightmate Pro and Scoutmaster
|
||
Standard: APA, APB, BWC, GGA, GLL, GSA, GSV, RMB, RMC,
|
||
VTG, WCV, XTE, ZTC
|
||
|
||
Autohelm Seatalk
|
||
Autohelm Seatalk is a proprietary bus for communications
|
||
between various intruments. Some of the instruments can act
|
||
as NMEA-0183 talkers or listeners. Data received from an
|
||
external NMEA-0183 device will, if Seatalk understands the
|
||
sentence, be re-transmitted, but not necessarily in the same
|
||
sentence type.
|
||
|
||
The specific sentences sent will depend on the data
|
||
available on the Seatalk bus (i.e. sentences containing wind
|
||
speed and direction will only be sent if the system includes
|
||
a wind instrument)
|
||
|
||
Seatalk output:
|
||
Standard: APB, BPI, BWC, VWR, VHW, DBT, GLL, HDM, HDT, HCS,
|
||
MTW, VTG
|
||
|
||
Seatalk input:
|
||
Standard: APA, APB, RMB, XTE, XTR, BPI, BWR, BWC, BER,
|
||
BEC,WDR, WDC, BOD, WCV, VHW, VWR, DBT
|
||
|
||
|
||
4.3 Sample Sentences Dissected
|
||
4.3.1 Standard Sentences
|
||
|
||
A talker typically sends a group of sentences at intervals
|
||
determined by the unit's update rate, but generally not more
|
||
often than once per second.
|
||
|
||
Characters following the "*" are a checksum. Checksums are
|
||
optional for most sentences, according to the standard.
|
||
|
||
APB - Autopilot format B
|
||
APB,A,A,0.10,R,N,V,V,011,M,DEST,011,M,011,M
|
||
A Loran-C blink/SNR warning
|
||
A Loran-C cycle warning
|
||
0.10 cross-track error distance
|
||
R steer Right to correct (or L for Left)
|
||
N cross-track error units - nautical miles
|
||
V arrival alarm - circle
|
||
V arrival alarm - perpendicular
|
||
011,M magnetic bearing, origin to destination
|
||
DEST destination waypoint ID
|
||
011,M magnetic bearing, present position to destination
|
||
011,M magnetic heading to steer
|
||
(bearings could be given in True as 033,T)
|
||
(note: some pilots, Roberston in particular, misinterpret "bearing
|
||
from origin to destination" as "bearing from present position to
|
||
destination". This apparently results in poor performance if the
|
||
boat is sufficiently off-course that the two bearings are
|
||
different.)
|
||
|
||
BOD - Bearing - origin to destination waypoint
|
||
BOD,045.,T,023.,M,DEST,START
|
||
045.,T bearing 045 True from "START" to "DEST"
|
||
023.,M breaing 023 Magnetic from "START" to "DEST"
|
||
DEST destination waypoint ID
|
||
START origin waypoint ID
|
||
|
||
BWC - Bearing and distance to waypoint - great circle
|
||
BWC,225444,4917.24,N,12309.57,W,051.9,T,031.6,M,001.3,N,004*29
|
||
225444 UTC time of fix 22:54:44
|
||
4917.24,N Latitude of waypoint
|
||
12309.57,W Longitude of waypoint
|
||
051.9,T Bearing to waypoint, degrees true
|
||
031.6,M Bearing to waypoint, degrees magnetic
|
||
001.3,N Distance to waypoint, Nautical miles
|
||
004 Waypoint ID
|
||
|
||
BWR - Bearing and distance to waypoint - rhumb line
|
||
(format same as BWC)
|
||
|
||
DBT - Depth below transducer
|
||
DBT,0017.6,f,0005.4,M
|
||
0017.6,f 17.6 feet
|
||
0005.4,M 5.4 Metres
|
||
|
||
GGA - Global Positioning System Fix Data
|
||
GGA,123519,4807.038,N,01131.324,E,1,08,0.9,545.4,M,46.9,M, , *42
|
||
123519 Fix taken at 12:35:19 UTC
|
||
4807.038,N Latitude 48 deg 07.038' N
|
||
01131.324,E Longitude 11 deg 31.324' E
|
||
1 Fix quality: 0 = invalid
|
||
1 = GPS fix
|
||
2 = DGPS fix
|
||
08 Number of satellites being tracked
|
||
0.9 Horizontal dilution of position
|
||
545.4,M Altitude, Metres, above mean sea level
|
||
46.9,M Height of geoid (mean sea level) above WGS84
|
||
ellipsoid
|
||
(empty field) time in seconds since last DGPS update
|
||
(empty field) DGPS station ID number
|
||
|
||
GLL - Geographic position, Latitude and Longitude
|
||
GLL,4916.45,N,12311.12,W,225444,A
|
||
4916.46,N Latitude 49 deg. 16.45 min. North
|
||
12311.12,W Longitude 123 deg. 11.12 min. West
|
||
225444 Fix taken at 22:54:44 UTC
|
||
A Data valid
|
||
(Garmin 65 does not include time and status)
|
||
|
||
GSA - GPS DOP and active satellites
|
||
GSA,A,3,04,05,,09,12,,,24,,,,,2.5,1.3,2.1*39
|
||
A Auto selection of 2D or 3D fix (M = manual)
|
||
3 3D fix
|
||
04,05... PRNs of satellites used for fix (space for 12)
|
||
2.5 PDOP (dilution of precision)
|
||
1.3 Horizontal dilution of precision (HDOP)
|
||
2.1 Vertical dilution of precision (VDOP)
|
||
DOP is an indication of the effect of satellite geometry on
|
||
the accuracy of the fix.
|
||
|
||
GSV - Satellites in view
|
||
GSV,2,1,08,01,40,083,46,02,17,308,41,12,07,344,39,14,22,228,45*75
|
||
2 Number of sentences for full data
|
||
1 sentence 1 of 2
|
||
08 Number of satellites in view
|
||
01 Satellite PRN number
|
||
40 Elevation, degrees
|
||
083 Azimuth, degrees
|
||
46 Signal strength - higher is better
|
||
<repeat for up to 4 satellites per sentence>
|
||
There my be up to three GSV sentences in a data packet
|
||
|
||
HDM - Heading, Magnetic
|
||
HDM,235.,M
|
||
HDM Heading, Magnetic
|
||
235.,M Heading 235 deg. Magnetic
|
||
(HDG, which includes deviation and variation, is recommended
|
||
instead)
|
||
|
||
HSC - Command heading to steer
|
||
HSC,258.,T,236.,M
|
||
258.,T 258 deg. True
|
||
236.,M 136 deg. Magnetic
|
||
|
||
MTW - Water temperature, Celcius
|
||
MTW,11.,C
|
||
11.,C 11 deg. C
|
||
|
||
R00 - List of waypoint IDs in currently active route
|
||
R00,MINST,CHATN,CHAT1,CHATW,CHATM,CHATE,003,004,005,006,007,,,*05
|
||
(This sentence is produced by a Garmin 65, but is not listed
|
||
in Version 2.0 of the standard. The standard lists RTE for
|
||
this purpose.)
|
||
|
||
RMB - Recommended minimum navigation information (sent by nav.
|
||
receiver when a destination waypoint is active)
|
||
RMB,A,0.66,L,003,004,4917.24,N,12309.57,W,001.3,052.5,000.5,V*0B
|
||
A Data status A = OK, V = warning
|
||
0.66,L Cross-track error (nautical miles, 9.9 max.),
|
||
steer Left to correct (or R = right)
|
||
003 Origin waypoint ID
|
||
004 Destination waypoint ID
|
||
4917.24,N Destination waypoint latitude 49 deg. 17.24 min. N
|
||
12309.57,W Destination waypoint longitude 123 deg. 09.57 min. W
|
||
001.3 Range to destination, nautical miles
|
||
052.5 True bearing to destination
|
||
000.5 Velocity towards destination, knots
|
||
V Arrival alarm A = arrived, V = not arrived
|
||
*0B mandatory checksum
|
||
|
||
RMC - Recommended minimum specific GPS/Transit data
|
||
RMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,191194,020.3,E*68
|
||
225446 Time of fix 22:54:46 UTC
|
||
A Navigation receiver warning A = OK, V = warning
|
||
4916.45,N Latitude 49 deg. 16.45 min North
|
||
12311.12,W Longitude 123 deg. 11.12 min West
|
||
000.5 Speed over ground, Knots
|
||
054.7 Course Made Good, True
|
||
191194 Date of fix 19 November 1994
|
||
020.3,E Magnetic variation 20.3 deg East
|
||
*68 mandatory checksum
|
||
|
||
RTE - Waypoints in active route
|
||
RTE,2,1,c,0,W3IWI,DRIVWY,32CEDR,32-29,32BKLD,32-I95,32-US1,BW-32,BW-198*69
|
||
2 two sentences for full data
|
||
1 this is sentence 1 of 2
|
||
c c = complete list of waypoints in this route
|
||
w = first listed waypoint is start of current leg
|
||
0 Route identifier
|
||
W3IWI... Waypoint identifiers
|
||
|
||
VHW - Water speed and heading
|
||
VHW,259.,T,237.,M,05.00,N,09.26,K
|
||
259.,T Heading 259 deg. True
|
||
237.,M Heading 237 deg. Magnetic
|
||
05.00,N Speed 5 knots through the water
|
||
09.26,K Speed 9.26 KPH
|
||
|
||
VWR - Relative wind direction and speed
|
||
VWR,148.,L,02.4,N,01.2,M,04.4,K
|
||
148.,L Wind from 148 deg Left of bow
|
||
02.4,N Speed 2.4 Knots
|
||
01.2,M 1.2 Metres/Sec
|
||
04.4,K Speed 4.4 Kilometers/Hr
|
||
|
||
VTG - Track made good and ground speed
|
||
VTG,054.7,T,034.4,M,005.5,N,010.2,K
|
||
054.7,T True track made good
|
||
034.4,M Magnetic track made good
|
||
005.5,N Ground speed, knots
|
||
010.2,K Ground speed, Kilometers per hour
|
||
|
||
WCV - Waypoint Closure Velocity
|
||
WDC - Distance to Waypoint
|
||
WDR - Waypoint Distance, Rhumb Line
|
||
|
||
WPL - waypoint location
|
||
WPL,4917.16,N,12310.64,W,003*65
|
||
4917.16,N Latitude of waypoint
|
||
12310.64,W Longitude of waypoint
|
||
003 Waypoint ID
|
||
When a route is active, this sentence is sent once for each
|
||
waypoint in the route, in sequence. When all waypoints have
|
||
been reported, GPR00 is sent in the next data set. In any
|
||
group of sentences, only one WPL sentence, or an R00
|
||
sentence, will be sent.
|
||
|
||
XTE - Cross track error, measured
|
||
XTE,A,A,0.67,L,N
|
||
A General warning flag V = warning
|
||
(Loran-C Blink or SNR warning)
|
||
A Not used for GPS (Loran-C cycle lock flag)
|
||
0.67 cross track error distance
|
||
L Steer left to correct error (or R for right)
|
||
N Distance units - Nautical miles
|
||
|
||
XTR - Cross-Track Error - Dead Reckoning
|
||
XTR,0.67,L,N
|
||
0.67 cross track error distance
|
||
L Steer left to correct error (or R for right)
|
||
N Distance units - Nautical miles
|
||
|
||
|
||
4.3.2 Proprietary Sentences
|
||
|
||
The following are Garmin proprietary sentences. "P" denotes
|
||
proprietary, "GRM" is Garmin's manufacturer code, and "M" or "Z"
|
||
indicates the specific sentence type.
|
||
|
||
$PGRME,15.0,M,45.0,M,25.0,M*22
|
||
15.0,M Estimated horizontal position error in metres (HPE)
|
||
45.0,M Estimated vertical error (VPE) in metres
|
||
25.0,M Overall spherical equivalent position error
|
||
|
||
$PGRMZ,93,f,3*21
|
||
93,f Altitude in feet
|
||
3 Position fix dimensions 2 = user altitude
|
||
3 = GPS altitude
|
||
This sentence shows in feet, regardless of units shown on the display.
|
||
|
||
$PGRMM,NAD27 Canada*2F
|
||
Currently active horizontal datum
|
||
|
||
Proprietary sentences to control a Starlink differential beacon
|
||
receiver. (I assume Garmin's DBR is made by Starlink)
|
||
$PSLIB,,,J*22
|
||
$PSLIB,,,K*23
|
||
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
|
||
blank = tuning message
|
||
|
||
When the GPS receiver is set to change the DBR frequency or
|
||
baud rate, the "J" sentence is replaced (just once) by (for
|
||
example): $PSLIB,320.0,200*59 to set the DBR to 320 KHz, 200
|
||
baud.
|
||
|
||
5. RS-232 connections
|
||
|
||
Although this is not really related to NMEA, many people want to
|
||
connect a GPS to a computer, so need to know about the RS-232
|
||
serial ports on a computer.
|
||
|
||
The RS-232 standard defines two classes of devices that may
|
||
communicate using RS-232 serial data - Data Terminal Equipment
|
||
(DTE), and Data Communication Equipment (DCE). Computers and
|
||
terminals are considered DTE, while modems are DCE. The
|
||
standard defines pinouts for DTE and DCE such that a "straight
|
||
through" cable (pin 2 to pin 2, 3 to 3, etc) can be used between
|
||
a DTE and DCE. To connect two DTEs together, you need a "null
|
||
modem" cable, that swaps pins between the two ends (eg. pin 2 to
|
||
3, 3 to 2). Unfortunately, there is sometimes disagreement
|
||
whether a certain device is DTE or DCE, hence my standard RS-232
|
||
disclaimer:
|
||
if it doesn't work, swap pins 2 and 3!
|
||
|
||
The standard RS-232 connector is a 25 conductor DB-25, although
|
||
many PCs (and some other equipment) now use a 9 pin DE-9 (often
|
||
incorrectly called DB-9)
|
||
|
||
Serial Port Connections
|
||
Computer (DTE) Modem
|
||
DB-25 DE-9 Signal Direction DB-25
|
||
2 3 Tx Data -> 2
|
||
3 2 Rx Data <- 3
|
||
4 7 Request to send -> 4
|
||
5 8 Clear to send <- 5
|
||
6 6 Data Set Ready <- 6
|
||
7 5 signal ground 7
|
||
8 1 Data CarrierDetect <- 8
|
||
20 4 Data Terminal Ready -> 20
|
||
22 9 Ring Indicator <- 22
|
||
|
||
For NMEA-0183 interfacing, we are only concerned with Rx Data,
|
||
signal ground (and possibly Tx Data, if we want the computer to
|
||
talk to the GPS)
|
||
|
||
NMEA-0183 data is sent at 4800 baud.
|
||
|
||
6. Troubleshooting
|
||
|
||
First check that the talker (usually GPS or Loran) can send
|
||
NMEA-0183, and determine what sentences it sends. Also, verify
|
||
that the listener understands NMEA-0183, and that it understands
|
||
the sentences the talker is sending. In some cases the same
|
||
information may be sent in two or more different sentences. If
|
||
the talker and listener don't both use the same sentences, there
|
||
will be no communication. It may be possible to change the
|
||
sentences sent by the talker, to match those understood by the
|
||
listener.
|
||
|
||
Next, check that the talker is indeed set to send NMEA-0183
|
||
data. Some talkers may have provision to send NMEA-0180 or
|
||
0182, or some proprietary format.
|
||
|
||
A computer, using any convenient terminal program (Telix,
|
||
Procomm, Windows Terminal, etc.) set to 4800 baud, can be used
|
||
to monitor the NMEA data, and confirm what sentences are sent,
|
||
and that the data is in the correct format.
|
||
Verify that the wiring is correct - that the talker data output
|
||
is connected to the listener data input, and that a signal
|
||
ground line is connected between the two pieces of equipment.
|
||
|
||
If you have multiple listeners connected to a single talker, you
|
||
may be overloading the talker port. Try connecting only one
|
||
listener at a time.
|
||
|
||
On any NMEA-0183 circuit, there can _only_ be one talker. If
|
||
you must have more than one talker, and one of the talker
|
||
devices can also act as a listener, you may be able to connect
|
||
things "in series", so a talker-only output is connected to a
|
||
listener/talker input, and the listener/talker output is
|
||
connected to other listeners. However, some listener/talker
|
||
devices may reformat the data, or only pass data they
|
||
understand. (The Autohelm Seatalk system does this, and claims
|
||
the data as it's own, starting all output sentences with "$II".)
|
||
|
||
Particularly with older equipment, the equipment may claim to
|
||
comply with NMEA-0183, but in fact have an error in the data
|
||
format. (My Kings 8001 Loran-C claims to send an APB sentence,
|
||
but gets some of the fields in the wrong order, so my autopilot
|
||
can't understand it.) This sort of problem can be verified by
|
||
capturing the NMEA-0183 data on a computer, and comparing the
|
||
data formats with those given above.
|
||
|
||
|
||
7. About the author
|
||
|
||
This FAQ was written by:
|
||
Peter Bennett
|
||
bennett@triumf.ca
|
||
|
||
I have an FTP site containing this file, a GPS FAQ, and other
|
||
NMEA information files and PC programs for capturing and
|
||
displaying NMEA data, and related things:
|
||
|
||
ftp://sundae.triumf.ca/pub/peter/index.html
|
||
This site is mirrored in Germany at:
|
||
ftp://ftp-i2.informatik.rwth-aachen.de/pub/arnd/GPS/peter/index.html
|
||
|
||
7.1 Acknowlegments
|
||
|
||
I would like to thank the following for their contributions
|
||
or corrections to this document:
|
||
Tom Clark, clark@tomcat.gsfc.nasa.gov
|
||
Bob Shearer, t.shearer@unixa.nerc-wallingford.ac.uk
|
||
David Steckler, davidst@nobeltec.com
|
||
Karl Olmstead, olmstead@ridgecrest.ca.us
|
||
Dave Wells, KD6TO, davew@cruzio.com
|
||
Mike Morrow, caveman@castles.com
|
||
|
||
|
||
|