SAE J1939 Programming with Arduino - Suspect Parameter Numbers (SPN)
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino.
A Suspect Parameter Number (SPN) is a number assigned by the SAE to a specific parameter within a parameter group. It describes the parameter in detail by providing the following information:
- Data Length in bytes
- Data Type
- Reference Tag (Label)
SPNs that share common characteristics are grouped into Parameter Groups (PG) and they will be transmitted throughout the network using the Parameter Group Number (PGN).
To follow up on the previous example (PGN 65262), the parameter Engine Coolant Temperature is described by SPN 110 in the following way:
- SPN 110 - Engine Coolant
Temperature of liquid engine cooling system
- Data Length: 1 Byte
- Resolution: 1 deg C / Bit
- Offset: -40 deg C
- Data Range: -40 to 210 deg C
- Type: Measured
- Reference: PGN 65262
SAE J1939 has become the accepted industry standard and the vehicle network technology of choice for off-highway machines in applications such as construction, material handling, and forestry machines. 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. The messages exchanged between these units can be data such as vehicle road speed, torque control message from the transmission to the engine, oil temperature, and many more.
A Comprehensible Guide to J1939 is the first work on J1939 besides the SAE J1939 standards collection. It provides profound information on the J1939 message format and network management combined with a high level of readability.