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.

Leave a Reply.