SAE J1939 protocol

We know controller area network (CAN) is used by most of the vehicles for communication between the different ECUs, CAN provides basis only for communication but not for conversion of data or language. As the complexity of the network increased, there was a need for standard communication protocol to handle the complexity of the network.
Society of Automotive Engineers (SAE) defined the J1939 protocol which is a higher layer protocol built on CAN, which aims at providing standard communication irrespective of the vehicle manufacturer, engine/transmission manufacturer, etc. Today SAE J1939 is used in heavy-duty vehicles like buses, trucks, agriculture machinery, military applications, construction vehicles like cranes, mining vehicles like bulldozers, etc.
SAE J1939 protocol has a 29-bit identifier defined within CAN 2.0B and it has a speed of around 250 kbit/s to 500 kbit/s. The physical layer defines the electrical interface to the bus, the data link layer defines details of messages, bus access, and detection of an error, and the application layer provides details of data length, PGN and SPN diagnostics message, and DTCs (diagnostics trouble code).
PGN (Parameter group number) refers to an 18-bit unique parameter identifier for defining the message and SPN (suspect parameter number) refers to the CAN signal identifier, SPNs are grouped under PGNs which describe parameter details such as bit start position, offset, scale, bit length, unit, etc., all PGNs and SPNs are defined in SAE J1939 documentation. Example: PGN 65262 specifies Engine Temperature defined in SAE J1939. Under PGNs, SPNs are defined as Engine fuel temperature (SPN-110), Fuel temperature (SPN- 174), Engine oil temperature (175), Engine Intercooler temperature (SPN-52), Turbocharger oil temperature (SPN-176), etc.
SAE J1939 is also used for diagnostic purposes, as the network complexity of heavy-duty vehicles increases, it is necessary to often detect and communicate the fault to all other ECUs, thus diagnostic messages are used whenever DTC (diagnostics trouble code) is detected.
With Silver Scan-Tool and DiagRA D, complete diagnostics function can be carried out, this tool supports SAE J1939 standards and meets all OBD standards required by approval authorities worldwide. It Supports all sub-functions according to SAE J1979 as well as ISO 15031-5 and WWH-OBD according to ISO 27145. Thus, Silver Scan-Tool and DiagRA D provide a complete diagnostic package. As a result, it’s easy to perform, record, and also evaluate complex diagnostics of all vehicle control units with this software.