NMEA 2000 is a system used on boats for data exchange in a network with a bus structured backbone, but in contrast to earlier methods where each device has its own power and data cables, NMEA 2000 uses a drop cable between the backbone and each device, providing this device with power and in return streaming the data into the backbone making it available for all other devices to use.

NMEA 2000 connects devices using Controller Area Network (CAN) technology originally developed for the auto industry. NMEA 2000 is based on the SAE J1939 high-level protocol, but defines its own messages. NMEA 2000 devices and J1939 devices can be made to co-exist on the same physical network.

NMEA 2000 (IEC 61162-3) can be considered a successor to the NMEA 0183 (IEC 61162-1) serial data bus standard. It has a significantly higher data rate (250k bits/second vs. 4800 bits/second for NMEA 0183). It uses a compact binary message format as opposed to the ASCII serial communications protocol used by NMEA 0183. Another improvement is that NMEA 2000 supports a disciplined multiple-talker, multiple-listener data network whereas NMEA 0183 requires a single-talker, multiple-listener (simplex) serial communications protocol.

Network Construction
The NMEA 2000 network, like the SAE J1939 network on which it is based, is organized around a bus topology, and requires a single 120Ω termination resistor at each end of the bus (The resistors are in parallel. A properly terminated bus should have a total resistance of 60 ohms). The maximum distance for any device from the bus is six metres.

Cabling and Interconnect
The only cabling standard approved by the NMEA for use with NMEA 2000 networks is the DeviceNet cabling standard, which is controlled by the Open DeviceNet Vendors Association. Such cabling systems are permitted to be labeled "NMEA 2000 Approved". The DeviceNet standard defines levels of shielding, conductor size, weather resistance, and flexibility which are not necessarily met by other cabling solutions marketed as "NMEA 2000" compatible.

There are two sizes of cabling defined by the DeviceNet/NMEA 2000 standard. The larger of the two sizes is unfortunately denoted as "Mini" (or alternatively, "Thick") cable, and is rated to carry up to 8 Amperes of power supply current. The smaller of the two sizes is denoted as "Micro" (or alternatively, "Thin") cable, and is rated to carry up to 3 Amperes of power supply current.

Mini cable is primarily used as a "backbone" (or "trunk") for networks of larger vessels (typically with lengths of 20 m and above), with Micro cable used for connections between the network backbone and the individual components. Networks on smaller vessels often are constructed entirely of Micro cable and connectors.

An NMEA 2000 network is not electrically compatible with an NMEA 0183 network, and so an interface device is required to send messages between devices on the different types of network. Examples include the Maretron USB-100, Simrad AT10 and Actisense's NGW-1. These devices vary in which messages they will translate between the two networks. An adapter such as the Actisense NGT-1-USB, Airmar U200 or Maretron USB100 is also required if NMEA 2000 messages are to be received by or transmitted from a PC.

Message Format and PGNs
In accordance with the SAE J1939 protocol, NMEA 2000 messages are sent as packets that consist of a header followed by (typically) 8 bytes of data. The header for a message specifies the transmitting device, the device to which the message was sent (which may be all devices), the message priority, and the PGN. The PGN indicates which message is being sent, and thus how the data bytes should be interpreted to determine the values of the data fields that the message contains. The NMEA sells the standard that describes how to decode each message given its PGN, and so this information is not publicly available. However, enthusiasts are slowly making progress in discovering these PGN definitions.

In comparison to CANopen, which is using the 11-bit identifier (CAN-ID) J1939 is using the 29-bit CAN-ID. The CAN-ID in J1939 consists of a parameter group number (PGN) and a source address (see Figure 1). A parameter group (PG) is assembled of various parameters defined in the J1939 series, such as vehicle speed, oil temperature, etc. Thus, a PGN identifies the content of the data field.

The priority field indicates the priority of the message, where ‘0’ is the highest priority and ‘7’ the lowest. The data page field is supposed to be set to ‘1’ in the future, if no more free numbers are left to be assigned to new PGNs. If the value of the field ‘PDU format’ is between 00h and F0h, the field ‘PDU specific’ has to be interpreted as destination address. This is used for peer-to-peer communication between two devices. If the value of the field ‘PDU Format’ is greater than F0h, ‘PDU specific’ is interpreted as a so-called ‘group extension’. The PGNs are sent according to the producer/consumer model (broadcast). The source address has to be unique for every device in the network and may be achieved by participating the address claiming procedure.
In the early nineties, the SAE (Society of Automotive Engineers) Truck and Bus Control and Communications Sub-committee started the development of a CAN-based application profile for in-vehicle communication in trucks. In 1998, the SAE published the J1939 set of specifications supporting SAE class A, B, and C communication functions. Early message definitions focused on engine, transmission, and brake message applications, but have been extended to include various functions and applications. It was designed to replace J1587/J1708 networks.

If the physical layer according to SAE J1939-11 is used, the bit-rate is at 250 kbit/s, the maximum amount of nodes per network is 30 and the maximum bus length 40 m.

J1939-based higher layer protocols Other industries adopted the general J1939 communication functions, in particular the J1939/21 and J1939/31 protocol definitions - they are required for any J1939-compatible system. They added other physical layers and defined other application parameters. The ISO standardized the J1939-based truck and trailer communication (ISO 11992) and the J1939-based communication for agriculture and forestry vehicles (ISO 11783). The NMEA specified the J1939-based communication for navigation systems in marine applications (NMEA 2000). In 2002, the six European major truck manufacturers developed together the FMS (Fleet Management System) that specifies a common standard for trucks. The FMS is an open standard based on SAE J1939. The standard was required to supervise a whole fleet - consisting of vehicles from different manufacturers - over the Internet.

One reason for the incorporation of J1939 specifications by others is that it does not make sense to re-invent the basic communication services. An industry-specific document defines the particular combination of layers for that industry. The MilCAN set of profiles (A and B) are derived from the CUP protocol used by the German Bundeswehr, SAE J1939 and CANopen. The higher-layer protocols are used in military vehicles and are employed to facilitate the interconnection of subsystems within these vehicles.
CiA has also developed several CANopen interface profiles for J1939-based networks (CiA 413). Gateways are defined according to ISO 11992-2 and ISO 11992-3. In addition, the CANopen profile family includes a framework for gateways according to SAE J1939/71.

The NMEA 2000 Working Group defined the physical layer including cables and connectors. The chosen data rate is 250 kbit/s, allowing a maximum network length of 200 meters. The transceiver chips have to be compliant to ISO 11898-2. For critical applications, it may be necessary to employ fail-safe designs (e.g. dual network, redundant cable and two CAN controller chips). However, these methods are not in the scope of the NMEA 2000 standard.

The physical layer specification allows the use of the vessel's 12-V battery to power the network, if the length of the network cable and the number of nodes are small enough, instead of the use of more expensive, regulated power supply that were required in the first proposal. In all cases the power and common ground for the interface circuits must not connect to other power or ground in a network device. How to achieve this isolation is not specified, but opto-couplers will be one of the preferred solutions. Another way is that the very same power supply is used to also power the device application. This may be suitable for simple sensors and small displays.

In addition NMEA 2000 implementations have to meet the durability and resistance to environmental conditions as described in section eight and the unwanted electromagnetic emissions and the immunity to electromagnetic environment conditions of section nine and ten of IEC 60945. The standard will allow two methods for connections to the CAN backbone via standard connectors or barrier strips. These connections are used for connecting segments of backbone cables together (e.g. termination resistors, power source, and devices). The drop cable may be connected manufacturer-specifically to the device. Barrier strips are just recommended when the connection is made in a protected location, or when they are installed in a weather-proof enclosure. Their position must be either numbered or color-coded in accordance with the NMEA 2000 standard. The connector selected for the backbone is a 5-pin open-style connector as used in many industrial applications. Those connectors are available as 3-port T-connectors from different manufacturers. Two cable sizes are defined: NMEA 2000 heavy cable (5-wire with two shielded twisted-pair and a common shield drain wire) as well as NMEA 2000 light cable.

The NMEA 2000 application profile defines the content of the messages. The content is identified by the parameter group number (PGN) transmitted in the identifier field as either an 8-bit or 16-bit value depending on whether the group is designed as an addressed or a broadcast message. Most of the parameter groups are broadcasted. Depending on the amount of data, the parameter group may require one or more CAN frames to transmit the data. The data content for all parameter groups is structured like a data dictionary. Each entry item is of a defined format, usually representing the physical parameter.

Besides application parameter groups, the NMEA 2000 standard will specify network management parameter groups. The network management is very similar to J1939-81 and ISO 11783-5 documents. It is responsible for claim and assignment of network addresses, identification of devices, and network initialization after power-on. Each node is required to have an address. Address number 255 is reserved as global address for broadcast transmission, and 254 is used as a null address for indicating when an address cannot be found.

Regarding addressing, ISO 11783-5 defines different types of devices. All NMEA 2000 compliant devices have to be self-configurable and capable of claiming addresses as specified in ISO 11783-5. Besides the device name in Address Claim message, NMEA 2000 specifies additional information about the device. There are separate messages for model number, product version, software version, etc. The NMEA 2000 request message may be used to search fields of these messages and the Name message for building a map of the network to identify the number and types of devices connected.

The National Marine Electronics Association (NMEA) is developing a data communication standard for ship-board electronic devices. The NMEA Standards Committee Working Group 2000 has decided to use the CAN protocol as data link layer, and high-speed transceivers according to ISO 11898-2 as physical layer. The chosen higher-layer protocol is based on J1939 and ISO 11783. Some marine-specific additions will be defined within the NMEA 2000 communication and application profile specification.

The use of the 29-bit identifier is the very same as specified in J1939-21 and ISO 117873-3: the first three bits of the identifier are used to assign priority to a message, the other ID-fields are used to transmit the parameter group number (PGN) describing the content of the message, the destination and the source address. Messages may be assigned to a specific node or broadcasted to all nodes. The specification supports up to 254 virtual nodes in one CAN network.

Messages that have eight byte or less are transmitted as a single CAN frame. For longer messages one of two methods may be used. Multi-packet data up to 1 785 byte may be sent according to the ISO 11783-3 protocol that places data in a transport "envelope" and transmits it to either a global or specific destination. Flow control is provided so that when sending data to a specific address the receiver can start, stop, and control the data flow. Unfortunately, when data is transmitted this way its identity is lost until the "envelope" is opened up to find out what data has been received. Because many of the messages envisioned for use with NMEA 2000 are likely to exceed 8-byte (most are probably less than 20 byte to 30 byte), NMEA 2000 allows the use of Fast-packet transmission for up to 256-byte data with its own identity. This method allows sequential frames to be sent; a single data byte in the first frame is used to specify the size of the entire data and each additional frame uses one data byte as a frame counter.

Another addition to J1939 and ISO 11783-3 is to provide standard messages for requesting data or commanding another device, and an acknowledgement message to be used when the request or command cannot be complied with. Command messages may be used to set values or cause actions to be taken in the receiving devices. Request messages allow for example requesting way-point information by specifying the way-point name (or number), a filed within the way-point information message.