1  2  3  4  5  6  7  8  9  10  11  12

2.3 J1939 Characteristics


J1939 is a higher-layer protocol based on Controller Area Network (CAN). It provides  serial data communications between microprocessor systems (also called Electronic Control Units - ECU) in any kind of heavy duty vehicles.

Everything that has to do with CAN is based on maximum reliability with the maximum possible performance in mind, not only in regards to required electrical robustness, but also due to high speed requirements for a serial communication system.

J1939 takes advantage of CAN features such as:

  • Maximum reliability

  • Excellent error detection & fault confinement

  • Collision-free bus arbitration

Other than CAN, which supports up to 1 Mbit/sec, J1939 limits itself to 250 kbit/sec. CAN was designed to be as close to real-time applications as possible. This level of performance is not required for J1939.

CAN supports 11- and 29-Bit message identifiers. CAN is also designed in a way where the sending node does not know which node(s) receive the data. In turn a receiving node does not know who sent the data.

J1939 in turn uses only the 29-Bit identifier (In fact, the CAN standard was extended from 11 to 29 bit per request by the SAE in order to support J1939). J1939 uses the identifier, among other features, to identify the source and the destination of data on the bus.

J1939 Quick Reference

Ø       Higher-Layer Protocol using CAN as the physical layer

Ø       Shielded twisted pair wire

Ø       Max. network length of 40 meters (~120 ft.)

Ø       Standard baud rate of 250 kBit/sec

Ø       Max. 30 nodes (ECUs) in a network

J1939 Message Format

CAN supports 11- and 29-Bit message identifiers. CAN is also designed in a way where the sending node does not know which node(s) receive the data. In turn a receiving node does not know who sent the data.

J1939 uses only the 29-Bit identifier (In fact, the CAN standard was extended from 11 to 29 bit per request by the SAE in order to support J1939). J1939 uses the identifier, among other features, to identify the source and, in some cases, the destination of data on the bus.
 

 

As shown in the above picture J1939 extends the use of the 29-Bit CAN identifier beyond the standard CAN message identification.

 

The CAN identifier is split into a Parameter Group Number (PGN), which includes the message priority and identifies the content of the data field, and the source address.  A message priority ‘0’ indicates highest priority and a message priority of ‘7’ indicates lowest priority.

High priorities are usually assigned to time-critical data such as torque control messages to the engine, while lower priorities indicate not time critical messages such as vehicle road speed.

 

Messages are being transmitted according to the producer/consumer model (broadcast). Each device (ECU) in the network must have a unique source address and is determined during an address claiming process.

While CAN itself is sufficiently suited for communication in a regular automobile or in small industrial applications, it comes with a few short-comings such as limited data length (8 bytes per data frame) and the lack of network management. In order to add these features CAN as the physical layer (the entire CAN protocol is on silicon) can be extended by additional software, the so-called higher layer protocols (such as J1939).

J1939 was designed to follow the ISO/OSI 7-Layer Reference Model as far as necessary. Each layer is addressed by a corresponding document.