Using NMEA 0183 With Modern Marine Electronic Equipment
The intent of this article is to provide a bit of background for the typical boatowner to interconnect their equipment. I am writing this article as a boatowner; not as an expert in the marine industry. My profession is in the computer/communications/electronics industry, and since much of this technology is borrowed by the Marine industry, I have a good foundation for understanding Marine electronics. My knowledge comes from applying my professional skills while working on my own boat as well as the research that I have done in the area of marine electronic systems.
When equipping your boat for electronic equipment, you will need to make a purchase decision as to what functionality each piece of equipment needs. Some traditional instruments are purely stand-alone; such as a speedometer. However, there seems to be a trend in the industry where even basic instruments such as a speedometer are being equipped with a network connection that can be used to interface with other equipment on board.
Today, there are several methods available to interconnect modern communications and navigation equipment in the typical recreational boat. An example of this could be a DSC equipped VHF radio needing GPS Latitude and Longitude from a chartplotter. This becomes possible when the chartplotter and radio are electrically connected together so that they can electronically exchange information. In order for this process to be successful, a set of rules, or protocol, needs to be established. You can think of a protocol as a language. Both pieces of equipment must be able to converse using the same language if any information exchange is to take place.
In the marine environment, the "languages" available range from Industry Standard protocols, such as (National Marine Electronics Association) NMEA 0183, NMEA 2000, as well as manufacturer specific proprietary schemes. One obvious advantage of using Industry Standard protocols is that equipment from different manufacturers can interoperate, whereas a proprietary system may be limited to a single manufacturer's equipment. Conversely, there may be little cause for concern about compatibility when using a manufacturer's proprietary system.
Of the two NMEA standards, NMEA 0183 is the oldest, and seems to be, as of this writing, the most versatile. NMEA 2000 is the latest standard, and manufacturers are beginning to produce products for it as well. To provide maximum flexibility, some manufacturer's products have been designed to communicate using both NMEA 0183 and NMEA 2000 protocols.
One very basic difference between NMEA 0183 and NMEA 2000 is that NMEA0183 was intended to be a point-to-point interface, allowing two devices to communicate, whereas NMEA 2000 is designed as a network interface, allowing many devices to interact.
You will see here that even though NMEA 0183 was intended to interconnect a single pair of devices, technology exists today that allow the interoperability of several devices. Due to the maturity of the standard, vendor support, simplicity, and cost factors, it is likely that NMEA 0183 will be used for quite some time. Although eventually the standard may give way to NMEA 2000, any modern electronic system is likely to have a mix of both NMEA 0183, NMEA 2000, and even proprietary connection schemes. This article will focus on the interconnection of devices using the NMEA 0183 protocol.
NMEA 0183 Basics
In its most basic form, NMEA 0183 consists of two devices, a talker and a listener. As their names suggest, a talker sends data, and a listener receives data. This is sometimes known as a simplex or half-duplex network. A good example of this kind of connection is a fast heading flux gate compass connected to a display unit, such as chart plotter. The compass always sends data, and never has the need to receive data, so the conversation is always one-way.
In NMEA 0183, this conversation takes place by transmitting a segment of data, known as a sentence from the talker, along the wires to the receiver. Each sentence typically represents one complete snippet of information, such as the current compass heading.
A typical sentence might look like this:
$ = beginning of sentence (all sentences must begin with a $)
HC = Talker ID (in this example, HC indicates the device is a compass).
HDM = Sentence ID (in this example, Heading, Magnetic)
315.4M = data (in this example, the current heading is 315.4 degrees; Magnetic.
In most sentances, the first 6 characters follow a fixed format, while the data segment may vary depending on the data submitted. For instance, a GPS heading would have many more digits, since it would include the longitude and latitude within the sentence.
While the boatowner really does not need to know much about sentences, there is one item of importance - the Sentence ID. In the example below, it is shown in RED for emphasis.
The sentence ID is the primary identifier of what kind of data is being transmitted. Depending on the device, only a few NMEA 0183 sentences may be available. For instance, it is not generally necessary for a compass to transmit a NMEA 0183 sentence for speed when the compass is only capable of determining direction. Therefore the manufacturer would only program those sentences into the compass that are compass related.
For similar reasons, the manufacturer of the display may only intend it to display certain data. If a display unit was primarly designed to display speed, it may not have the capability to display compass heading information, even though it might have a NMEA 0183 listening port. If the compass outputs a "HDM" sentence, the display unit must be capable of recognizing "HDM", or it will not be able to display the compass heading.
The various sentences that talkers transmit and listeners understand are typically published in each manufacturer's documentation. When interfacing two pieces of equipment, it is important to research the manufacturer's documentation to ensure the talker's NMEA 0183 sentance IDs are listed as being supported in the display unit documentation. If some, but not all of the talker's IDs are supported, only that data will be displayed.
It is also important to note that the sentences that are transmitted by the talker are manufacturer dependant. One fast heading flux gate compass manufacturer may only program basic heading information, while another may also include rate-of-turn data. Rate-of-turn data would normally have a different sentence ID, so it should be obvous that the display unit must have the capability of displaying both sentence IDs for the more complex compass.
NMEA 0183 Both-Ways
Most electronic devices are either a talker or listener. However, sometimes a device must do both functions. If you were to add a second talker and listener, but in the opposite direction, you would have two independant channels. This is sometimes called a full-duplex network. Each device has the capability of simultaneously talking and receiving.
A good example of this capability might be a DSC VHF radio. It might receive GPS information from a GPS/Chartplotter, and it might transmit information to a chart plotter when a polling request is active. The GPS data from the chart plotter allows the DSC function of the VHF radio to transmit its current position, while the DSC polling data from the VHF radio allows the chart plotter to plot the exact position of the distant station - assuming it is transmitting its position via DSC function.
Until now, we have discussed a simple connection between two devices, which is what NMEA 0183 was primarily designed to do. However, in todays environment, you may have the need to feed NMEA 0183 information to several listeners. An example may be a GPS that needs to feed position information to a chartplotter and a VHF DSC radio.
It is fortunate that many NMEA 0183 talkers are capable of simultaneously talking to more than one device, simply by paralleling them. Many times, the talker has enough signal power to transmit to several devices; whether that be two, three, or more. The general limitation is how much signal power is available at the talker, and how much signal each listener requires from the talker. This is all dependant on the internal circuitry within each device, and will likely be different for each device.
It must be noted that the identical signal will be transmitted from the talker to each listener at the same time. For this reason, this method of signal distribution can be considered a "broadcast".
Connecting listeners to a single talker this way does come with a cost. As hinted above, as each new item is added, the ability to transmit a signal of sufficient strength diminishes. At some point, one or more listeners may not be able to receive the data. When this is the case, an aftermarket device, known as a repeater or transmitter may be used. The basic purpose of this device is to boost the signal to the listeners. A repeater may have a single output as shown, or it may have several outputs, each dedicated to its own listener.
Many Talkers, one Listener
Now we know how to "broadcast" to several listeners, but what if you have several talkers that need to talk to a single listener? One such scenario is a Multi Function Display that might have a single NMEA 0183 port, but the boatowner wants to connect a DSC VHF radio, Fast Heading FluxGate Compass, and maybe other components to the system. With a single NMEA 0183 listener on the display unit, this seems to be an impossible task. However, another aftermarket device exists, called a Multiplexer that solves this problem.
As shown below, a multiplexer can be thought of as an electronic switch that continuously connects each talker to the listener for a short period of time. This is done in "Round Robin" fashion so that each talker has the opportunity to submit data to the listener. A multiplexer is sometimes also called a combiner, and as you can see here, it combines each data output from each talker to a single stream of data at the listener. Although the data input to the listener is interlaced, this is not generally an issue, since the display simply decodes each sentence in the sequence that it is received. Most multiplexers on the market today also provide some degree of electrical isolation on the multiplexer ports.
Please note that the typical Multiplexer is connected to the Listener port; the device's talker port remains an independent outbound connection.
While multiplexers provide a solution to multiple talkers and a single listener, a potential problem exists. Each talker has a different rate of transmission. Transmission rate is defined as how often a talker needs to send data to a listener. Some talkers, such as a VHF DSC polling request may only need to transmit data rarely, and would have a low transmission rate. Another instrument, such as a compass may have a high transmission rate, and may transmit so much data that it uses up most of the available input capacity of the listener. Under the scenario of a single point-to-point network, transmission rates are generally not a problem, but when the listener's input port is shared with many talkers through a multiplexer, there is a potential for a bottleneck to occur.
Advanced NMEA 0183
Another characteristic that needs to be discussed is the device's transmission speed. This differs from the transmission rate in that the transmission rate determines how often a sentence is transmitted, while transmission speed determines how fast the sentence is transmitted. The standard speed for NMEA 0183 is 4800 baud. Baud generally refers to how many symbols can be sent per second. In practice, 4800 baud means that about 15 NMEA 0183 sentences can be sent per second.
Since the transmission speed governs how many NMEA sentences can be received by a listener, a bottleneck occurs when a multiplexer allows talkers to place too many sentences on the listener's port. The result of a bottleneck is generally the loss of data. Fortunately, there are two techniques that can be used to eliminate the problem.
One technique that can be used is called "data pacing", and some multiplexers have this capability. When a device, such as a Fast Heading compass transmits its data, it essentially transmits its heading 10 times a second. Chances are that many of the sentences have the same information, and the boatowner can live with receiving compass updates less frequently, so the data pacing feature can reduce the number of sentences transmitted per second, simply by discarding some of them before they are placed on the listener's port.
There is a limitation to data pacing. For example, if every other compass sentence is discarded, then 5 sentences per second would be transmitted to the listener. This would probably not cause any problems. However, should too many sentences be discarded, say so that only one sentence every 5 seconds reaches the listener, then an unacceptable delay would probably occur between the boat's true heading and the displayed heading - especially if that data were also to be sent to an autopilot.
The second technique that can be used is to increase the speed of the Listener. Increasing the speed means that more sentences can be sent to the listener, which also increases the transmission rate. With the increasing popularity of AIS (Automatic Identification System) receivers, some changes have recently occured in Multi-Function Displays. AIS receivers generally output NMEA 0183 data at 38400 baud, so the listener ports for an AIS enabled Multi-Function Display may be capable of operating at this higher speed. If the normal (non AIS) traffic can be made to transmit into the listener port at 38400 baud as well, then our problem will be solved. Fortunately, some Multiplexers can also operate at this higher speed setting. They typically support both AIS tranmission at 38400 baud as handle this issue as well. AIS has also influenced multiplexer design, and a few of them can output at 38400 baud, as well as perform a speed-change function to allow interconnection to 4800 baud talkers. In this environment, that chatty fast heading compass will not overwhelm the display's listener port.
One drawback of increasing the speed of a Multi Function Display to 38400 baud is that it will likely affect both its listener and talker function. This is bad news if the display must talk to a listener at 4800 baud. Fortunately, the aftermarket Multiplexer market has kept up with these changes as well, and a few offer a buffer for the Multi Function Display's talker function to lower its speed back down to 4800 baud.
It should be noted that there are several different types of multiplexers. Some only multiplex talkers into a single 4800 baud port, some include one or more high-speed ports, others are primarily designed to interface a PC, and some can even do protocol conversion (such as Seatalk to NMEA 0183). You need to be sure to chose the one that is appropriate for your application.
NMEA 0183 has a not-so-standard standard connection scheme. Two real examples are shown below, with data taken from actual devices. In the first example, the connection is between a Multi-Function display and Fast Rate Compass (not sure why the compass has a NMEA in), while the second example shows the same Multi-Function display connected to a DHS VHF radio. Please note that in each example, a point-to-point full-duplex wiring scheme is shown (i.e. only two devices interconnected).
In this real example, the color code and even the wiring is not common. For the DSC VHF radio, coax is used. However, in both examples, note that the "NMEA OUT" of one device is connected to the "NMEA IN" of the other device. Also note that the relationship of plus and minus are maintained (although in one piece of equipment, plus and minus are referred to as A and B. When making NMEA 0183 connections, the only guidance you have is the NMEA OUT and NMEA IN cable designations found within the manual.
In this last example, this is a half-duplex connection with a GPS sensor providing data to the Multi-Function Display. Note that the wiring scheme for the output leads of both devices are the same; such is the variety of NMEA cables. The display's NMEA output leads are simply left disconnected.
Less Theory, More Example
We will now put all of this discussion together with a real-world scenario. As shown below, we are using a Multi Function Display set to talk and listen at 38400 baud. It receives input from an AIS receiver, Weather/GPS station, Fast Heading compass, and DSC VHF radio. In addition, it outputs GPS data to the DSC VHF receiver via buffer at 4800 baud.
All of the talkers going to the Multiplexer run at 4800 baud as well, with the exception of the AIS receiver, which can be setup to transmit at either 4800 baud or 38400 baud. This is a "balancing act" dependant on the amount of AIS traffic it receives, and performance needed from the receiver.
It must also be stated that in this scenario, when selecting the components each device's NMEA 0183 Sentence IDs were compared to ensure they would be understood by the Multi-Function Display. Fortunately, the manufacturer had recently upgraded its firmware to include the sentence IDs transmitted by the Weather/GPS instrument, so all it took was to do a flash-ROM upgrade on the display.
In addition, in a real-world environment, the Multi-Function Display will also likely have independent connections to a NMEA 2000 or proprietary network as well.
In conclusion, we have shown how the NMEA 0183 protocol has advanced from a simply simplex interconnection between two devices to a fairly sophisticated network encompassing several devices, speeds, and functions. By understanding a few basic concepts, the interconnection of NMEA 0183 devices should not be beyond the capability of the boatowner.