Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

The standard for J1939 describes an industrial protocol based on CAN. It originated as a vehicle bus in the American car and heavy-duty truck industry but has since found use in other types of applications.

NMEA2000 is an extension to the base J1939, aimed specifically at marine applications. It contains all the standard J1939 specifics and additional marine specific messages. NMEA2000 devices and J1939 devices work on the same network.

To use the NMEA2000 name, a device must pass a certification process.

PGNs

 

In J1939 messages, data is marked by an identifier called a PGN (Parameter Group Name). The content of a specific PGN is always in a fixed form. Many different working groups have defined their own PGNs and these should be used if possible. However, manufacturer or application specific PGN definitions are possible, too.

It should be noted that contrary to CANopen, the J1939 standards do not describe any data handling or storing. Thus, it is up to the user application to define which data is sent or where it comes from; or where received data is stored and how it is handled.

Transport protocols

 

J1939 contains a transport layer for single frame messages which is used by default for all PGNs with 8 or less bytes of data. For longer messages the ISO 11783 multipacket protocol is used. NMEA2000 also defines the Fast Packet transport layer as an alternative. There are other transport protocol options in other standards building on J1939, but these are not included in the stack.

Regardless of transport protocol, the handling is similar: Data is written or read from an array, the stack handles the transport itself automatically.

 

Single Frame

Multi Packet

Fast Packet

in ISO J1939

In ISO J1939

NMEA2000

8 byte

Up to 1785 bytes

Up to 233 byte

 

 

Faster than Multi Packet but no handshaking

Transport protocol options

Address claim

 

Many J1939 devices do not use fixed nodeIDs to identify themselves on the network. Instead, they use an address claim mechanism:

·       When a device goes active on the network, it tries to claim a certain identity.

·       Other devices on the network may deny this claim.

o   I.e., when they have already claimed it themselves.

·       The devices will then increment its wanted ID and try again.

The same device may end up with a different ID, depending on which other devices are on the network and their boot order. It is up to the applications then, to make sure the correct data is communicated between devices.

  • No labels