Sail Away
Cover  <<  Sail Away  <<  Navigation Software << .

Data Interface

Today, small (laptop) PCs are available for a reasonable price, so they are now also advantageously used for navigational tasks on pleasure yachts. Typical navigation software applications which process and display relevant navigational data, will require information to be collected from different external instruments such as:

  • Depth sounder (water depth)
  • Speed log (speed through the water)
  • Anemometer (Speed and direction of the apparent wind)
  • GPS receiver (Position, speed- and course over ground)
  • AIS receiver (Position, speed and course of ships within VHF range)

In order to bring this instrument data into the navigation PC, data connections to the different instruments have to be provided. In an attempt to simplify and standardize these physical connections, a bus standard was defined by the U.S.-based National Marine Electronics Association (NMEA). The advantage of such standardized bus definitions is that instruments of different manufactures can be mixed in the navigation set up. As long as all instruments communicate according to the same standard, they can be freely chosen, replaced and mixed.
The most wildly used NMEA standard is NMEA-0183. However, currently this standard is slowly phased out in favour of the newer (but more complex and more expensive) NMEA-2000 standard.

The NMEA-0183 protocol layers

Bus protocols consist of multiple layers each specifying different aspects of the data connection. First there is the physical layer, which defines how devices (instruments and computer) are physically connected. Here the number and nature of signal wires, the applied voltages and signal characteristics (timing) are specified. The electrical standard that is used for the NMEA-0183 protocol is called "EIA-422", which is an ANSI (American National Standards Institute) standard specifying a differential signalling scheme. Differential signalling schemes are more fault-tolerant than single-ended signalling schemes, but they require more wires for each connection. Therefore, most marine hardware with NMEA-0183 conform outputs is also able to drive a single-ended "EIA-232" port, which allows to reduce the wiring overhead. Although the ANSI EIA-232 standard specifies only a single-talker, multiple-listener (simplex) serial communications protocol, through the use of intermediate expanders, a talker can have a unidirectional conversation with a number of listeners, and using multiplexers, multiple instruments can talk to a single computer port. But the fact that ANSI EIA-232 standard has not been conceived to be used in a bus structure will impose some limitations on the performance of a NMEA-0183 network.

On the protocol layer the NMEA-0183 standard uses a simple ASCII, serial communications protocol ("8N1") at 4800 baud. That also defines how data is transmitted in a "sentence" from one "talker" to multiple "listeners" at a time.

Finally, at the application layer, the NMEA-0183 standard defines the contents of each message type so that all listeners can parse and understand messages accurately. Besides the set of NMEA defined messages, most marine instrument manufacturers include special messages in their products for maintenance and diagnostics purposes. These extended messages are not standardized and may differ from vendor to vendor. It usually requires vendor-specific software to access these non-standard data sets.
Here is a sample file with the NMEA sentences received for a GPS device.

NOTICE: There is a "high-speed" variation of the standard called NMEA-0183HS that specifies a baud rate of 38400. This is often used in e.g. AIS tranceivers which may generate a rather large amount of data.
Also, almost all todays GPS receivers use a non-standard data rate of 9600 baud.
It should be clear that using instruments with non-standard baud rates requires extra flexibility and configurability in the data network.

The NMEA-2000 standard

The NMEA-2000 standard is a newly developed bus protocol used to create a network of electronic marine instruments. Equipment that meet the NMEA-2000 standard can be connected to one central cable. This central bus cable also powers each instrument and relays the available data among all of the instruments on the network.
On the physical layer, the network is based on the "Controller Area Network" (CAN) protocol as used in automotive networking. This decentralized network topology, allows e.g. different display units on the network to show many different types of information collected from many different instruments. It also allows the instruments to work together, since they can share their data. NMEA-2000 is meant to be "plug and play" to allow devices made by different manufacturers to talk and listen to each other.
The NMEA-2000 standard can be considered a successor to the NMEA-0183 serial data bus standard. It has an explicit bus structure that supports a disciplined multiple-talker, multiple-listener data network and has significantly higher data rate (250kb/s vs. 4.8kb/s for NMEA 0183). On the protocol layer the NMEA-2000 standard uses a frame-based binary message format as opposed to the character-based serial communications protocol used by NMEA 0183.

So the NMEA-2000 standard is all aspects incompatible to NMEA-0183 standard. And although there exist many commercial interface boxes to connect instruments using these two different protocols into one single network, the only clean way to mix these kind of instruments is to keep them into separate networks and have two separate computer ports for each of the different protocols!

Cover  <<  Sail Away  <<  Navigation Software  <<  . last updated: 17-Jun-2020