AG       Autopilot - General
AP       Autopilot - Magnetic
CD       Communications – Digital Selective Calling (DSC)
CR       Communications – Receiver / Beacon Receiver
CS       Communications – Satellite
CT        Communications – Radio-Telephone (MF/HF)
CV       Communications – Radio-Telephone (VHF)
CX       Communications – Scanning Receiver
DF        Direction Finder
EC        Electronic Chart Display & Information System (ECDIS)
EP        Emergency Position Indicating Beacon (EPIRB)
ER        Engine Room Monitoring Systems
GP        Global Positioning System (GPS)
HC        Heading – Magnetic Compass
HE        Heading – North Seeking Gyro
HN        Heading – Non North Seeking Gyro
II          Integrated Instrumentation
IN         Integrated Navigation
LC         Loran C
P           Proprietary Code
RA         RADAR and/or ARPA
SD         Sounder, Depth
SN         Electronic Positioning System, other/general
SS         Sounder, Scanning
TI          Turn Rate Indicator
VD         Velocity Sensor, Doppler, other/general
DM         Velocity Sensor, Speed Log, Water, Magnetic
VW        Velocity Sensor, Speed Log, Water, Mechanical
WI         Weather Instruments
YX         Transducer
ZA         Timekeeper – Atomic Clock
ZC         Timekeeper – Chronometer
ZQ         Timekeeper – Quartz
ZV         Timekeeper – Radio Update, WWV or WWVH

 
All data is transmitted in the form of sentences . Only printable ASCII characters are allowed, plus CR (carriage return) and LF (line feed). Each sentence starts with a "$" sign and ends with <CR><LF>. There are three basic kinds of sentences: talker sentences , proprietary sentences and query sentences.

Talker Sentence s. The general format for a talker sentence is:

$ttsss,d1,d2,....<CR><LF>

The first two letters following the „$” are the talker identifier. The next three characters (sss) are the sentence identifier, followed by a number of data fields separated by commas, followed by an optional checksum, and terminated by carriage return/line feed. The data fields are uniquely defined for each sentence type. An example talker sentence is:

$HCHDM,238,M<CR><LF>

where "HC" specifies the talker as being a magnetic compass, the "HDM" specifies the magnetic heading message follows. The "238" is the heading value, and "M" designates the heading value as magnetic.

A sentence may contain up to 80 characters plus "$" and CR/LF. If data for a field is not available, the field is omitted, but the delimiting commas are still sent, with no space between them. The checksum field consists of a "*" and two hex digits representing the exclusive OR of all characters between, but not including, the "$" and "*".

Proprietary Sentence s. 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 proprietary sentences, mainly from Garmin, Inc., are listed in chapter 6.
Query sentence s. A query sentence is a means for a listener to request a particular sentence from a talker. The general format is:

$ttllQ,sss,[CR][LF]

The first two characters of the address field are the talker identifier of the requester and the next two characters are the talker identifier of the device being queried (listener). The fifth character is always a "Q" defining the message as a query. The next field (sss) contains the three letter mnemonic of the sentence being requested. An example query sentence is:

$CCGPQ,GGA<CR><LF>

where the "CC" device (computer) is requesting from the "GP" device (a GPS unit) the "GGA" sentence. The GPS will then transmit this sentence once per second until a different query is requested.


 
NMEA 0183 devices are designated as either talkers or listeners (with some devices being both), employing an asynchronous serial interface with the following parameters:

Baud rate:                        4800
Number of data bits:       8 (bit 7 is 0) Stop bits:                         1 (or more) Parity:                              none Handshake:                      none


NMEA 0183 allows 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 standard dos not specify the use of a particular connector. Note: The new 0183-HS standard  (HS = high speed)  introduced in version 3.0 uses a 3-wire interface and a baud rate of 38400. This type of interface is not discussed here.

Its is recommended that the talker output comply with EIA RS-422, a differential system with two signal lines, "A" and "B". Differential drive signals have no reference to ground and are more immune to noise. However, a single-ended line at TTL level is accepted as well. The voltages on the A line correspond to those on the TTL single wire, while the B voltages are inverted (when output A is at +5 V, output B is at
0 V, and vice versa. This is the unipolar RS-422 operation. In bipolar mode ±5 V are used).

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 RS-422 "A" wire may be directly connected to a computer's RS-232 input. In fact even many of the latest products, like hand-held GPS receivers, do not have a RS-422 differential output, but just a single line with TTL or
5 V CMOS compatible signal level.

 
The National Marine Electronics Association (NMEA) is a non-profit association of manufacturers, distributors, dealers, educational institutions, and others interested in peripheral marine electronics occupations. The NMEA 0183 standard defines an electrical interface and data protocol for communications between marine instrumentation.

NMEA 0183 is a voluntary industry standard, first released in March of 1983. It has been updated from time to time; the latest release, currently (August 2001) Version 3.0, July 2001, is available from the NMEA office

PO Box 3435
New Bern NC 28564-3435
USA
www.nmea.org

NMEA has also established a working group to develop a new standard for data communications among shipboard electronic devices. The new standard, NMEA 2000, is a bi-directional, multi-transmitter,
multi-receiver serial data network. It is multi-master and self-configuring, and there is no central controller. The NMEA began a beta testing period in January 2000 with eleven manufacturers. A release version of NMEA 2000 is expected in 2001.
The NMEA 0183 Protoco

 
Summary
NMEA 0183 standard Water Speed and Heading.

Syntax
$--VHW,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>*hh<CR><LF>

Fields
<1>    Compass Heading, degrees True
<2>    T = true
<3>    Compass Heading, degrees Magnetic
<4>    M = magnetic
<5>    Water speed, knots
<6>    N = knots
<7>    Water speed, km/h
<8>    K = km/h

 
Summary
NMEA 0183 standard Time and Date

Syntax
$GPZDA,<1>,<2>,<3>,<4>,<5>,<6>*hh<CR><LF>

Fields
<1>    UTC of position, in the form hhmmss
<2>    Day, 01 to 31
<3>    Month, 01 to 12
<4>    Year, four digits (e.g. 2006)
<5>    Local zone hours, always set to 00 in PB100
<6>    Local zone minutes, always set to 00 in PB100

 
Summary
NMEA 0183 True wind angle in relation to the vessel’s heading, and true wind speed referenced to the water. True wind is the vector sum of the Relative (apparent) wind vector and the vessel’s velocity vector relative to the water along the heading line of the vessel.  It represents the wind at the vessel if it were stationary relative to the water and heading in the same direction.

Syntax
$WIVWT,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>*hh<CR><LF>

Fields
<1>    Calculated wind angle relative to the vessel,left/right of vessel heading, to the nearest 0.1 degree
<2>    L = left, or R = right
<3>    Calculated wind speed, knots, to the nearest 0.1 knot
<4>    N = knots
<5>    Wind speed, meters per second, to the nearest 0.1 m/s
<6>    M = meters per second
<7>    Wind speed, km/h, to the nearest km/h
<8>    K = km/h

 
Summary
NMEA 0183 Relative (Apparent) Wind Speed and Angle.  Wind angle in relation to the vessel’s heading
and wind speed measured relative to the moving vessel.

Syntax
$WIVWR,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>*hh<CR><LF>

Fields
<1>    Measured angle relative to the vessel, left/right of vessel heading, to the nearest 0.1 degree
<2>    L = left, or R = right
<3>    Measured wind speed, knots, to the nearest 0.1 knot
<4>    N = knots
<5>    Wind speed, meters per second, to the nearest 0.1 m/s
<6>    M = meters per second
<7>    Wind speed, km/h, to the nearest km/h
<8>    K = km/h


 
Summary
NMEA 0183 standard Course Over Ground and Ground Speed.

Syntax
$GPVTG,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>*hh<CR><LF>

Fields
<1>    Course Over Ground, degrees True, to the nearest 0.1 degree
<2>    T = True
<3>    Course Over Ground, degrees Magnetic, to the nearest 0.1 degree
<4>    M = Magnetic
<5>    Speed Over Ground, knots, to the nearest 0.1 knot
<6>    N = Knots
<7>    Speed Over Ground, km/hr, to the nearest 0.1 km/hr
<8>    K = km/hr
<9>    Mode indicator:
           A = Autonomous mode
           D = Differential mode
           E = Estimated (dead reckoning) mode
           M = Manual input mode
           S = Simulator mode
           N = Data not valid

 
Summary
NMEA 0183 standard Recommended Minimum Specific GNSS Data.

Syntax
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF>

Fields
<1>    UTC of position, in the form hhmmss
<2>    Status: A = Data Valid; V = Navigation Receiver Warning
<3>    Latitude, to the nearest .0001 minute
<4>    N if field <2> is North Latitude S if field <2> is South Latitude
<5>    Longitude, to the nearest .0001 minute
<6>    E if field <4> is East Longitude W if field <4> is West Longitude
<7>    Speed Over Ground, knots, to the nearest 0.1 knot
<8>    Course Over Ground, degrees True, to the nearest 0.1 degree
<9>    Date: ddmmyy
<10>   Magnetic Variation, degrees E/W, to the nearest 0.1 degree
<11>   E if field <10> is degrees East W if field <10> is degrees West
<12>   Mode indicator:
            A = Autonomous mode
            D = Differential mode
            E = Estimated (dead reckoning) mode
            M = Manual input mode
            S = Simulator mode
            N = Data not valid