NMEA-0183 Interface: Signal Data Rate; Data to be Exchanged; TALKER ID

Electrical and electronic topics for small boats
Posts: 6019
Joined: Fri Oct 09, 2015 12:25 pm
Location: Michigan, Lower Peninsula

NMEA-0183 Interface: Signal Data Rate; Data to be Exchanged; TALKER ID

Postby jimh » Sat Apr 09, 2016 9:22 am

This article is an extension to and a companion to my NMEA-0183 Data Collection article at


Signal Data Rate

Most discussion of NMEA-0183 interconnections focuses on the PHYSICAL layer of the interface of two devices using NMEA-0183. It is in the physical layer that most problems occur, and they occur due to improper physical connection of the signals. But there are two more layers of the connection can also affect the outcome. The signal data rate is often able to be controlled by the operator in the set-up of each device. The signal data rate has to match between devices, otherwise their interfaces won't communicate. The operator has to configure the two devices being interfaced so they have a common data signal rate.

In NMEA-0183 the signal rate is usually pre-set to be 4800-baud. This is the standard rate, and generally all devices are configured with this rate by default. In some cases it may be necessary to change to the high-speed rate of 38400. This is a special case and will be discussed in another article in this thread. (See below.)

The Data to be Exchanged

Once the physical connection has been properly made and the device's interfaces are set to a common signal rate, communication is going to occur between devices. But there is one more layer in the communication system or protocol that must be configured properly: the data that is going to be sent across this communication link has to be properly configured. In the NMEA-0183 protocol there are provisions for sending all kinds of data about all sorts of parameters related to a boat. In the specific case of interconnecting a GNSS receiver to a DSC radio, the radio only wants to hear information about the boat's current position. The radio won't know what to do with other information, it just wants information about the boat's position.

In the NMEA-0183 protocol, data is sent in specified formats called sentences. The structure of these sentences is very specific. There are maybe one hundred sentences possible to send. Each one of those sentences contains certain specific information. Each radio has been designed to listen for a specific sentence or a group of several sentences that will contain the boat position information. In order to get any data to be passed across the communication link, the sending device has to send the data in a sentence that the receiving device can understand.

To know what NMEA-0183 sentence a device can send or understand, we again rely on the manufacturer of the device to tell us this information. Somewhere in the literature provided with every NMEA-0183 device there will be a list of the NMEA-0183 sentences the device can send and can receive. Once a sentence is found that is in common with both devices, then those two devices can communicate that sentence and the information contained in the sentence.

Chart Plotter to Radio for GNSS Position Data

In the case of the interface of a chart plotter and a DSC radio, the information to be communicated is the boat position. The chart plotter usually has this information because it has its own GNSS receiver or there is an external GNSS receiver attached to it.

In the NMEA-0183 protocol there are several sentences which will include the boat position, so there are several ways of sending the boat position across a NMEA-0183 link. Usually a chart plotter can send all of these different sentences that will have boat position in their data. Some DSC radios are similarly flexible about that sentence they can get the boat position data from. Those radios know how to listen for four or five different sentences and can extract the boat position data from any of them.

Not all chart plotters and not all radios, however, can send or receive every possible NMEA-0183 sentence in the protocol. It is more common that each device can only send or receive a small subset of sentences. And even in the smaller group of sentences that just have boat data, it is possible that between two devices there may only be one or two of those sentences that are in common.

It is also typical that a device that is sending data does not send every possible sentence it knows how to send all the time. The device will only send the sentences that the operator configures it to send. In some instances the manufacturer may have set a default condition so their device will, right out of the box, send a few common sentences without any further intervention by the user. But it is also possible that the device is going to do nothing and will wait for the user to configure what sentences it will send.

On the device receiving information, the usual configuration is the device is ready to receive any of the sentences it can all the time. No configuration is needed.

Default Behavior Might Work

As a result of the default behavior to two typical devices, it may be possible to just make the physical connection between them and have immediate communication occur of the information desired. But, it is also possible this won't happen all by itself. The operator may have to configure the device sending the data, and set that device to send a specific NMEA-0183 sentence. And it may happen that the device receiving the data is very fussy about which one--of several possible sentences that might contain the data--it wants to listen for. In situations like this the installer must configure the sending device to use the specific sentence the receiving device knows how to use.

Exactly where in the literature for any device you will find the list of possible sentences it can send or receive is impossible to say. The installer just has to carefully read the literature for a device, and find the list of sentences that each device can send or receive. Then the installer selects one (or more than one) sentence that the two devices have in common.

Exactly where in any device you will find the configuration screens is impossible to say. The installer just has to be familiar with the user-interface of a device, and find the configuration portion. In the configuration, the installer selects what sentence or sentences are to be sent.

Posts: 6019
Joined: Fri Oct 09, 2015 12:25 pm
Location: Michigan, Lower Peninsula


Postby jimh » Wed May 04, 2016 3:47 pm


I will explain more about the use of the NMEA-0183 HS (high speed) connections or what I call FAST TALKERs. Use of the high speed 38400 connection is usually found with AIS receiver interfacing. The typical AIS receiver will be set to use 38400 for the signal rate. The reason for the higher speed is to avoid losing data from the AIS receiver. It is possible in theory for there to be so much data coming from the AIS receiver that it cannot all fit into the available time to transmit it via the slower 4800 rate. To prevent the possibility of losing data, the AIS receiver comes set to the higher speed data rate of 38400. This causes problems when interfacing to a chart plotter in two realms.

The first problem is the change to higher speed. The data rate of the TALKER and LISTENER must match. If the TALKER is sending at 38400, the LISTENER must be set to that same data rate. The usual solution is to set the chart plotter interface to the higher speed, to 38400. This is the most common solution.

There is another option: set the AIS receiver back to the standard 4800 data rate. If the AIS receiver is set to the slower data rate, then it is possible that some data might be lost. However, unless you are located in the middle of the English Channel and are surrounded by very fast moving vessels all sending AIS data, it is probably not likely you will lose any data. The typical situation for a recreational vessel to receive AIS signals is for there to be only a couple of AIS-transmitting vessels in range at any time. AIS vessels transmit their data at rates proportional to the speed they are making. The faster the vessel is travelling, the more often it sends AIS data about itself. In my experience, I have never been around a really fast-moving AIS vessel. Most of them a moving along at moderate speeds. That means they are not transmitting practically continuously; they transmit at intervals. And there usually are not more than two or three vessels in range. All of this means that the chance of losing any data if the AIS receiver is turned down to 4800 is probably very low. It may be possible to interface to the AIS receiver at the standard 4800 speed and not be at much risk of data loss. Whether or not an AIS receiver has the option to send at the slower rate probably depends on who made it.

The second problem that arises when AIS comes into the interfacing of a radio and a chart plotter is a limited number of ports on the chart plotter or on the radio. Let's review the usual arrangement of VHF communication radio with digital selective calling and its interface to a chart plotter.

The first interface between radio and chart plotter is for the chart plotter to send position data to the radio. This will give the radio a continual update on vessel position, and the radio will be able to send the vessel position using digital selective calling, either in a distress alert message to all stations or in a vessel position message reply to another vessel or station. In this arrangement the chart plotter TALKER is connected to the radio LISTENER.

There is a second interface between radio and chart plotter for the radio to send data to the chart plotter. This interface will allow the chart plotter to plot and display the position of another vessel that has been received from that vessel by the radio using digital selective calling. In this arrangement the radio TALKER is connected to the chart plotter LISTENER.

Now we have bi-directional communication between radio and chart plotter, using up the facilities of one NMEA-0183 port. This interface is usually made at the standard data rate, 4800.

Into this situation we now add a third device, the AIS receiver. Even if the AIS receiver is integrated into the communication radio, it is common that the AIS receiver will have its own separate NMEA-0183 TALKER signals. (An AIS receiver is never a NMEA-0183 listener; it "listens" on its radio for AIS radio signals, and translates them into electrical signals for the NMEA-0183. It never listens for signals on NMEA-0183, it just talks there.) We want to get the AIS data to the chart plotter, and we want it to be at the FAST TALKER data rate, 38400.

If the chart plotter has a second NMEA-0183 port there is no problem in connecting the AIS TALKER. We would just connect the AIS TALKER signals to the chart plotter second port LISTENERs, and set that second port to the 38400 rate. This is a good solution, if your chart plotter has two NMEA-0183 ports, but many chart plotters today only have one port.

Note that in NMEA-0183 interfacing, you can NEVER have two TALKERs connected to one LISTENER. This won't work, as the two TALKERs will talk over each other, unaware they are wired together. So the problem of two TALKERs and one LISTENER cannot be easily solved by just wiring them in parallel.

The only way to accommodate two streams of data from two TALKERs into one LISTENER is to combine the two data streams together into one data stream using a device called a multiplexer. A multiplexer can blend two data streams into one; it does this by intermixing the signals in a way that preserves both signals. To do this the multiplexer has to temporarily store the signals and resend them in a way that avoids any data collisions in the output stream. As a result, a multiplexer is not cheap. It might cost as much as the radio itself.

When AIS receivers were first integrated into VHF communication radios, they tended to have their own NMEA-0183 port, with a separate TALKER output. Connecting a radio and AIS receiver like that to a chart plotter with only one port was a problem, because you HAD TO USE a multiplexer. The radio manufacturer (Standard-Horizon) was very smart, and they soon figured out that they could work around this problem if they themselves just built the multiplexer function into the radio--and that is what they did on later models of their integrated VHF communication radio and AIS receiver. If you have one of those devices, you will find that there is a setting or option in the radio set-up that allows you to combine the radio digital selective calling data and the AIS data into a single TALKER. The usual approach is to speed up the DSC data to the AIS data rate, and send the combined data at the 38400 rate.

Even if the radio does not have its own internal AIS receiver, some radios (notably the Standard-Horizon radios) that have a little mini-chart plotter in the radio to show AIS targets will still have a built-in multiplexer. The AIS radio TALKER is connected to the VHF radio LISTENER, and the VHF radio then combines that data with its own data into one TALKER output to go to the chart plotter. Again, this avoids having to buy an external multiplexer.

Things just get more complicated from here. If the radio multiplexes both streams into one FAST TALKER stream, then you have to set the chart plotter port to the 38400 rate. Since ports typically will always use the same data rate for listening as they do for talking, this means the data coming back to the radio will also be at the FAST TALKER speed. Usually the radio is up to this task, too.

To summarize, when an AIS receiver is added to the VHF radio and chart plotter interface, we have several options:

--(1) if the chart plotter has two NMEA-0183 ports, connect the AIS receiver to one port and the VHF radio to the other port;

--(2) if the chart plotter has only one NMEA-0183 port, use an external multiplexer to combine the AIS and VHF radio data streams into one stream

--(3) if the chart plotter has only one NMEA-0183 port and if the AIS in integral with the VHF and if the radio can combine their data into one stream, use that method.

If it happens that you have separate AIS and radio receivers, or you have an early model of integrated receiver without the built-in combining function and your chart plotter has only one port and you do not want to invest $200 in an external multiplexer, then something has to give. You must decide if you want the chart plotter to see AIS data from the AIS receiver or to see DSC data from the VHF radio. You can't get both. It is a hard decision to make, and I can't really see any special logic or advantage to choosing one over the other, unless perhaps the ability to plot the position of another vessel that has sent a distress alert would trump all other concerns.

Posts: 6019
Joined: Fri Oct 09, 2015 12:25 pm
Location: Michigan, Lower Peninsula


Postby jimh » Sat Jun 04, 2016 9:36 am

In an exchange of data using NMEA-0183, there is an additional element of the NMEA-0183 sentence that should be considered: the TALKER ID.

When a NMEA-0183 device sends a NMEA-0183 protocol sentence, the protocol does not provide for a method for a particular individual device to identify itself, but the protocol does provide for a way for a device to describe itself according to list of possible types of devices. Within the NMEA-0183 sentence structure is a field called TALKER ID. Here are some of the more common TALKER ID parameters provided by the protocol:

GP = Global Positioning System receiver

LC = Loran-C receiver

II = Integrated Instrumentation

IN = Integrated Navigation

EC = Electronic Chart Display & Information System (ECDIS)

CD = Digital Selective Calling (DSC)

GA = Galileo Positioning System

GL = GLONASS, according to IEIC 61162-1

GN = Mixed GPS and GLONASS data, according to IEIC 61162-1

GB = BeiDou (China)

BD = BeiDou (China)

QZ = QZSS regional GPS augmentation system (Japan)

Source: http://www.catb.org/gpsd/NMEA.html#_talker_ids

In implementation of NMEA-0183 among the many brands and models of digital selective calling (DSC) radios, there may be some radios that will be listening for their position data to come from ONLY from a device with a TALKER ID of GP. If these radios are interconnected with a position source that sends its data with another TALKER ID, the radios may ignore the data.

Among popular recreational-grade chart plotters, certain models of HUMMINBIRD chart plotter may be sending NMEA-0183 position data with the TALKER ID of IN (Integrated Navigation). If connected to certain models of DSC radios, those radios may ignore the position data because they are not designed to listen for it from a device with that TALKER ID. Conflicts involving TALKER ID have been noted in the past. A prior discussion at http://continuouswave.com/ubb/Forum6/HTML/001835.html noted that a Raymarine A60 was sending its position data with the TALKER ID of EC, and it could not communicate with an ICOM M402 radio.