SAE J1939 or often called as CAN J1939 protocol is set of standards defined by Society of Automotive Engineers (SAE). It is recommended practice that defines how the data communication happen between ECUs on vehicle network. This works on the physical layer with CAN high speed according to ISO 11898.
J1939 is very popular in diesel engines. It is used in heavy commercial vehicles, trucks, trailers, On-road vehicles as well as off-road vehicles. It mainly used in field of construction machinery, agricultural and forestry vehicles, maritime environments and in mobile hydraulic machines.
Table of Contents
SAE J1939 Highlights
- J1939 is higher level protocol based on high speed CAN (ISO 11898)
- J1939 is multi-master system with decentralized network management
- J1939 supports up to 254 logical nodes and 30 physical ECUs per network
- Bit rates atr typically 250 kbps or 500 kbps
- J1939 protocol supports transfer of measurement values, control data and configuration
- J1939 protocol provides diagnostics and calibration capability
Other protocols which are based on J1939 are
- ISO 11783 – Tractor and machinery for Agriculture and forestry
- NMEA2000(R) – Serial data networking of marine electronics devices
- ISO 11992 – Interchange of information between towing and towed vehicles
- FMS – Fleet management system
J1939 is multi-master system and any node can initiate transmission. the information to be transferred is described as parameters (signals) and combined in to 4 data pages. These data pages gives us Parameter Groups and identified with a unique number called Parameter Group Numbers (PGN). Parameter Groups are optimized to 8 data byte length. Each parameter (Signal) is assigned a unique number called as Suspect Parameter number or SPN. Most of the transfer of data happen periodically and broadcast to all ECUs. Configuration or diagnostics data exchange can happen between specific two ECUs. The communication broadcast or peer-to-peer, the transmission type is specification of PGNs.
The peer-to-peer communication is possible, because each node (ECU) is assigned a unique address in the range from 0 to 253. Decentralized network management strategy helps to avoid two ECUs acquiring same ECU address. SAE J1939/81 specification defines network management. Decentralized network management forces each ECU to implement a minimum functionality of network management. All ECUs on J1939 network must support resolution of address conflicts, and must support ongoing check to monitor if ECU addresses are assigned in duplicate on the network. Optionally the ECU may support dynamic address capability where ECUs can change its address at runtime in event of address conflicts.
When data must be transferred in larger quantities, Transport Protocol (TP) are used. When such data is to be sent to multiple ECUs, broadcast announce message (BAM) is used. It is also called as BAM TP. There no flow control happen between sender and receivers. In case of peer-to-peer large data transfer connection mode data transfer (CMDT) is used and also called as CMDT TP. In this mode data is exchanged precisely between two ECUs and receivers send receive confirmation. Control data flow allows to check for errors and restarting the TP communication session.
SAE J1939 Specifications Documents
SAE J1939 standard is divided in to multiple documents according to OSI reference model. the presentation layer and session layer are not specified because like most of the field bus protocols it is not needed in SAE J1939.

Physical Layer
OSI Physical layer covers physical aspects of communication like medium, cabling, connectors, receivers, transceivers and repeaters.
SAE J1939 protocol is based on CAN ISO 11998-1 and ISO 11998-2. There are 4 specifications defined by SAE J1939.
SAE J1939/11 defines a high speed CAN bus as per ISO 11898. This includes shielded twisted pair cable and ground. transfer rate is 250 kbps and maximum 30 nodes can be connected on the bus. Maximum 40 meters Cable length is supported.
SAE J1939/12 uses 4 wire CAN communication with active termination. This eliminates use of shielding and reduces cost.
SAE J1939/14 supports communication speed up to 500 kbps.
SAE J1939/15 allows use of un-shielded twisted pair cable. In this specification only 10 nodes are allowed on the bus.
Data Link Layer
This layer of OSI model establishes links across physical network. This is achieved by defining frames and packates. This layer includes two sub-layes; logical link control layer and meda access control layer.
SAE J1939/21 describes data communication over CAN 2.0B using extended format. Standard format is only allowed for vendor specific applications.
Network Layer
Network layer handles addressing and routing of data. SAE J1939/31 describes functionality of bridge for transmission of messages between two network segments.
Transport Layer
This OSI layer is responsible for packaging of data, delivery and error checking of data. SAE J1939/21 specifications defines various network services, message requests and acknowledgment. It also defines fragmented transmission of large data.
Application Layer
In this OSI layer Different communicating devices are identified. Application is identified with understandable data. SAE J1939/71 defines actual data, parameters, resolution and units. Each message is identified with parameter group number (PGN).