SAE J1939

The SAE J1939 protocol was developed in 1998 by the Society of Automotive En­gi­neering (SAE) and works on the physical layer with CAN high speed in accordance with ISO 11898. It is used in ECU communication in commercial vehicles.

In addition, SAE J1939 is used to describe international standards such as NMES 2000 (marine) and ISO 11783 (ISOBUS for agricultural machinery). SAE J1939 is divided into several layers that cor­res­pond to the OSI layer model. Only layers 5 and 6 are not required.


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 compa­ti­bil­ity with other, earlier developed com­mercial vehicle protocols like J1705 and J1587. For that SAE has also developed CAN components and protocol imple­ment­ations. Addit­ionally CAN in Automation develops some CANopen interface profiles for networks based on J1939 (CiA DSP 413). SAE J1939 is a multi-master system pro­viding a decentralized network manage­ment without channel based com­mun­ica­tion. It supports up to 254 log­ical net nodes and 30 physical ECUs per system.

The information is described as parameter and is summed up on four memory pages (Data Page) in parameter groups (PGs). SAE J1939 enables the transmission of meas­ured values and control data as well as the con­fi­gur­ation of components. Data of indi­vidual components can be read out and deleted for dia­gnos­tic purposes. Single controls can be calibrated. The J1939 proto­col specifies the trans­mission type, the structure of messages and their seg­ment­a­tion and the content of the mes­sage. Communication is usually cyclical and can be received by all control­lers. The transport protocols BAM and CMDT are used for the transmission of larger data volumes.