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 (Parameter Group Number). 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.
A parameter group definition may describe a data record that consists of more data than can be contained within a single CAN frame. NMEA 2000 transfer methods include transmitting single-frame parameter groups and two methods of transmitting multi-frame parameter groups. These transfer methods are compared below:
Single Frame | ISO 11783 Multi-Packet | NMEA 2000 Fast Packet |
---|---|---|
8 bytes | Up to 1,785 bytes | Up to 223 bytes |
Broadcast by default unless pf < 0xF0 | Can be used to send any message upto 1785 to a specific device with flow control (RTS / CTS) or broadcasted (BAM) | Broadcast by default unless pf < 0xF0 |
CAN layer assures all (connected) nodes received the message and validated its CRC | With handshaking (RTS / CTS) / time based (50ms) in case of BAM (broadcast) | No handshaking |
No Transfer Protocol Delays | Takes longer to send the same amount of data as Fast Packet | Takes less time to send up to 223 bytes; no Transfer Protocol Delays; no guarantee it is received by all nodes. |
Implemented by all industries | Implemented by all industries | NMEA 2000 and adopted by ISO for GNSS Con/Ag applications |
The Multi-Packet protocol specified in ISO 11783-3 provides for the transmission of multi-frame parameter groups up to 1,785 bytes. The protocol encapsulates the parameter group in a transport protocol, either globally or to a specific address. In case of address specific transfer (RTS / CTS), the receiving device can control the data flow in accordance with the receiving device’s available resources. In both cases (RTS/CTS) verus BAM. the message being transfered is announced in the first message. In case of CTS/RTS the receiver can refuse the message. In case of a BAM the message can simply be ignored.
The Fast Packet protocol defined in NMEA 2000 provides a means to stream up to 223 bytes of data, with the advantage that each frame retains the parameter group identity and priority. The first frame transmitted uses 2 bytes to identify sequential Fast Packet parameter groups and sequential frames within a single parameter group transmission. The first byte contains a sequence counter to distinguish consecutive transmission of the same parameter groups and a frame counter set to frame zero. The second byte in the first frame identifies the total size of the parameter group to follow. Successive frames use just single data byte for the sequence counter and the frame counter. Because many of the NMEA 2000 parameter groups exceed 8 bytes but do not require the 1,785-byte capacity of multi-packet, the default method of transmitting multi-frame parameter groups in NMEA 2000 is using the Fast Packet protocol.
Regardless of which protocol is used, multi-frame parameter groups are sent on a frame-by-frame basis and may be interspersed with other higher priority parameter groups using either protocol, or even single- frame parameter groups. Each device is responsible for reassembling the parameter group once all the frames for the parameter group are transmitted.
Read more about this topic: NMEA 2000
Famous quotes containing the word message:
“To not be afraid in our world is the message that doesnt derive from reason, but maybe from this mysterious capacity given to humans which we callnot without a little embarrassmentfaith.”
—Friedrich Dürrenmatt (19211990)