SAE J1939 Programming with Arduino - Address Claim Procedure (SAE J1939/81)
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino.
Network Management under SAE J1939 is primarily represented by the Address Claiming Process. While other higher layer protocols based on Controller Area Network (CAN Bus) do not support node address assignments per default, the SAE J1939 protocol provides yet another ingeniously designed feature to uniquely identify Electronics Control Units (ECU) and their primary function.
The SAE J1939 specification defines decentralized network management which means each control unit must implement minimum set of functions. The network management functions are described in the document SAE J1939/81.
The SAE J1939 network management is mainly concerned about management of source addresses and the association of those addresses with function. It also takes care of reporting network related errors and specifies the address claiming process.
For a proof of concept of the J1939 protocol stack for Arduino, ARD1939, the tested address claim functionality includes:
- Claiming address with no contending node
- Claiming address with contending node
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.