SAE J1939

The SAE J1939 protocol was developed in 1998 by the Society of Automotive Engineering (SAE) and works on the physical layer with CAN high-speed after ISO 11898. It is applied for ECU communication in commercial vehicles. Beside J1939, SAE continues to describe international standards like NMES 2000 (Marine) and ISO 11783 (ISOBUS for farm machines).


A SAE J1939 network connects the ECUs inside a commercial vehicle. SAE has extended the CAN message identifier from 11 to 29 Bit for J1939 to guarantee the compatibility with other, earlier developed commercial vehicle protocols like J1705 and J1587. For that SAE has also developed CAN components and protocol implementations. Additionally CAN in Automation develops some CANopen interface profiles for networks based on J1939 (CiA DSP 413).

SAE J1939 is a multi-master system providing a local network management without channel based communication. Thereby up to 254 logical net nodes and 30 physical ECUs per system are supported. The information is described as parameter and is summed up on 4 memory pages (Data Pages) in parameter groups (PGs).

SAE J1939 enables transmitting measure values and ECU data as well as configuring components. Thereby data from single components can be read out and deleted for diagnostic purposes. Single controls can be calibrated. The kind of transmitting, the structure of messages, their segmentations and the content of the messages are specified in the J1939 protocol. The communication is effected mostly cyclic and can be received by all ECUs. For the transmission of bigger data packages, the transport protocols BAM and CMDT are used. 

SAE J1939 ISO/OSI Layer Model

SAE J 1939 is partitioned in several layers corresponding to the OSI layer model. Thereby only layer 5 and 6 are needed.