Understanding NMEA

In the olden days, prior to launching Beowulf, we made it a point never to interconnect electronics. Although a standard protocol for exchanging data existed (NMEA 0183), we felt it was safer and more reliable to have our gear totally independent.

When we started to install electronics aboard Beowulf we adhered to this approach, except for the radar display, where we had B & G depth and speed information portrayed. Then someone showed us a radar with the GPS waypoint on the screen and we got another interconnection. As we moved into electronic charting this added a another layer of interconnection – data from the various devices into the PC, and eventually heading data from the PC to the autopilot.

While we were at first leery of this approach, we grew to enjoy the benefits. Along the way it became apparent that the actual connections were easy. But we never really understood what was going on electrically and in terms of data transmission.

With the FPB project we decided to get up to speed on how this all works. What we found took some digging, but in the end it is actually quite simple. We feel a lot more comfortable now that we actually understand the process. If something goes wrong, we are armed with the knowledge to rewire our electronics to work around whatever the problem is.

Here’s what we learned. To begin with, the NMEA standard consists of electronic “sentences” of data. For each item there is a specific method of transmitting the data. For example, the GLL is the sentence for latitude and longitude, MWD covers true wind direction (magnetic or true) and true wind speed.

This data is combined in a string of characters, where you might have six or eight (or more) items of information being transmitted sequentially. The computers in the electronics connected to the system receive this data, then use for it further calculations, or display it, as required.

The data is transmitted along a pair of wires in the form of electrical impulses. One of these is the ground wire. The other carries the data signals.

The capacity or speed of this NMEA system is limited to 4800 baud. That’s a fancy way of saying that the system can carry 480 characters of data per second. Exceeding this capacity is not usually a problem, but in our case, with a lot of data flowing back and forth, it is something about which we wanted to check.

Capacity it a function of how many separate information items are being transmitted, how fast these are updated (the norm is once per second) and how much data is required for each sentence. Some sentences only require 15 or 20 characters. Others, usually related to GPS information, require 40 to 50 characters.

We have GPS data that needs to go to our computer (for electronic charting with MaxSea) and to the radar for use with the ARPA (collision avoidance) system. We also want to get the wind, boat speed through the water, and wind data to PC and to the radar.

There are two ways for us to do this. One is to combine the data within the B & G system, and then output it along the pair of NMEA wires that are connected to the electronics.

Image

This box connects to the other B & G gear with an ethernet-like cable. It allows one NMEA input (in this case, the GPS would be connected) and one NMEA output to the other devices.

The other approach (or one that can be used at the same time) is what is called a “multiplexer”. This is an electronic device used to combine various NMEA signals. The unit most often recommended is made by Noland Engineering .

Image

The Noland multiplexer does a series of things. First, you can have up to four NMEA inputs, which it will then combine into a single signal (or string of data). Second, it has a USB output for the PC (serial output is also available). There are two NMEA outputs. One is the standard data string combining all the various items we’ve been discussing. The second output is for the autopilot, and this sends only the data required for the pilot and nothing else. This is a more reliable approach than expecting the pilot to go through an entire string of data to pull out just what it needs. (The only reason we connect the pilot to MaxSea is for use in an overboard situation. One mouse click on the computer creates a new waypoint at the MOB position. If the pilot is connected, it will automatically steer back to this position – something that would be very helpful with a shorthanded crew.)

Back now to capacity of the system. The engineers at Noland said to assume an average of 48 characters per NMEA data sentence to be safe in regard to capacity. We then need to go into the GPS and B & G to see how many sentences of data are required.

The Furuno GPS37 does not allow us to select which data is exported – we can only choose sets of data. The data set we’ll use is called REM1. This includes the following: GLL (latitude and longitude), GGA (GPS quality and lat/lon), VTG (course made good and speed made good), ZDA ( UTC time, day, month, year), and RMC (again lat and lon, plus time, speed and course over ground). This adds up to five sets of data, which is transmitted once per second.

With the B & G H1000 NMEA box, we can choose what data to send and receive. This allows us to reduce the amount of data in the system, which speeds up the exchange of information, if we are getting close to capacity. For example, if the GPS is connected to this NMEA combiner, we could limit the received data from the GPS to the GGA, VTG, and ZDA. So we’re down to a total of three sentences coming in.

On the output side of the B & G combiner we need to send the following data in addition the three sets of navigational data: DPT (depth), MTW (water temperature), MWD (true wind direction and true wind speed), MWV (apparent wind angle and speed), VLH (speed through the water). This is a total of five data sets. Combined with the three nav data sets we’re up to eight, so we are well within the capability of the NMEA 4800 baud speed.

What happens if the data limit is exceeded with too much information? Most combiners and multiplexers simply ignore the data which throws you over the limit. This is a random situation, and the odds are it will show up in the next string, one second later.

In our case we need to be a little more careful about all of this because of the ARPA anti-collision system on the radar. Since this radar is IMO approved, it has certain data quality safeguards built in. If the navigation data or compass information does not come in properly, or is not up to IMO standards, the ARPA will not work (as the lack of timely data could throw off the ARPA collision calculations).

One of the things we were cautioned to watch for was rapid updates from individual pieces of gear. For example, there is a NMEA-capable compass from Furuno which is connected to the radar for the ARPA calculations. This compass updates ten times per second. If this were connected to the NMEA buss, that data coming in at ten times per second would take almost the entire capacity of the system. So, this compass is connected directly to the radar, but not connected to the shared NMEA buss.

While the standard string of NMEA information is limited in capacity, the Noland multiplexer’s connection to the nav desk computer can run at a higher data rate if required.

This may all sound a little confusing, but it is actually quite simple. To recap – the various items in the system (in our case B & G for wind, boat speed and depth; Furuno GPS 37 for nav data; the Furuno FAR2117BB radar; and MaxSea on the PC) are all connected with a simple two-wire connection. The NMEA data is combined in either the Noland multiplexer or B & G NMEA box (or both are used). All four of the connected devices then share this data, and use or display it as required.

If one of the devices in the system goes bad, by understanding how this works, it is easy to create a workaround.

New Boat Interconnections

Let’s show you now how this will work on the new boat (unless we change our mind between now and the end of the year when this gear will be installed).

Image

The image above is of the interconnection schematic with the rest of the electronics details. You can find a larger version of this in the Dashew Offshore site.

We must confess that it looks awfully complex. However, in the real world if the cables are pulled and ready for connection when we arrive in New Zealand, it will take a couple of days to get all of this working – and most of that time will be spent with the various e-mail-to-PC systems, rather than the NMEA data (we would expect a maximum of one day on the NMEA part of this, and probably less).

You will note there are two PCs shown. Either can be used for the any of the functions. One of these will be located at the nav desk in the bridge area, while the other will be located at the office desk further aft. They will be installed separately. But if one fails, it will be easy to get the second unit into charting service.

Having just reread this, it is hard to accept that we have all of this gear on board. And while we would not have it if it didn’t provide for safer, more comfortable cruising, it does make us think back to how much simpler life was when all we carried was a ham radio, a depth finder, and a sextant!


Posted by Steve Dashew  (September 17, 2004)




2 Responses to “Understanding NMEA”

  1. Bill Cote Says:

    With the Noland high speed multiplexer what software are you able to use to display wind speed, direction and depth? I already use MaxSea to display GPS and AIS


  2. Steve Dashew Says:

    Hi Bill:
    We feed the Noland mulitplexed signal to the navigation PC and to NMEA 0183 devices like the radar, B ad G wind instruments, etc. But for tech answers I’d check with the guys at Noland direct.