NMEA stands for National Marine Electronics Association. This is the organization behind the standards NEMA 0183 and the more exciting NEMA 2000.
Besides the more futuristic sounding name NEMA 2000 has much more flexibility and capacity than its predecessor NEMA 0183. The main difference is that the newer system can communicate between instruments and sensors while the older can only communicate with the central processing unit.
NEMA makes this distinction by calling 0183 an interface and 2000 a protocol. The 0183 standard communicates at 4800 baud over a serial connection. NEMA 2000 transfers data at 250 kbps, which also includes multiple “talkers” which provide data by handing off the string to the next device rather than directly to the CPU.
This standard is proprietary but there are plenty of examples of this code online. If you are serious about developing hardware or software using the NEMA standards then the purchase price of a few thousand dollars will seem like a wise investment. The standard covers both hardware and software and approved devices can display a NEMA compatibility tag. Hundreds of pages including seven appendices will keep you reading for days.
NMEA 2000 Data Structure
NMEA data is arranged in sentences. If you have experience in writing computer code these would be recognizable as strings. These strings are made up of variables. Each type of device will send a packet of data to the next device where another packet will be added and sent on. This is where protocol vs. interface starts to make sense. NEMA 2000 and NEMA 0183 are not compatible because 0183 devices do not communicate with each other.
It has been the goal of NEMA to develop standard that allows devices from different manufactures to communicate on a high speed network. The fact that 0183 is not backwards compatible with 2000 is disappointing but the reason is deeply rooted in the physical layer.
There is no simple way to attach a 0183 device to a 2000 network. There are possible solutions that use a microcontroller to shape the data but that is not ideal and should not be used for critical systems.
NEMA Parameter Group Number
At the beginning of each sentence an address called a Parameter Group Number or PGN. This identifies the device that is sending the data; for example GPS. The processor will look at this and read the data string according to rules set for that device. Each place in the string will have data appropriate for that kind of device.
Devices other than the CPU can also request data using the PGN. A chart plotter may request speed and direction from the GPS and also from marine radar or satellite data services. The set of instructions to build the visualization on screen takes place internally creating distributed or “mesh” network which is much faster than a hub based operation like the 0183 standard.
NEMA 2000 Advantages
Mesh networks are well suited to embedded systems which overcome many problems found on vessels. One of the main issues in large ships is cable length. NEMA 2000 allows cables to be up to 200 meters and sustain maximum data rates. The network will also support up to fifty devices.
The physical layer is another major advantage since it is based on Controller Area Network or CAN. CAN is used in road vehicles and also in industrial automation and robotics.
CAN is another standard that runs several hundred pages. The flexibility of CAN makes it very adaptable but somewhat complex because of its flexibility. Students should have a basic understanding of digital electronics and high level computer code like Python.
If you are interested in exploring the standards of NEMA and CAN more closely take a look at the NEMA whitepapers for NEMA 2000 (PDF) and NEMA 0183.