SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino - CAN Bus Shield
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino.
For those who are not yet familiar with the SAE J1939 vehicle protocol (but are using this book to gain some more insights on the topic), J1939 uses Controller Area Network (CAN Bus) controllers for the physical connection (See also chapter A Brief Introduction to the SAE J1939 Protocol). The Arduino Uno and the Mega 2560 do not, per default, come with an onboard CAN Bus controller, thus we will need to use a CAN Bus shield.
Since Controller Area Network (CAN Bus) is predominantly targeted at industrial solutions (versus the vastly more popular USB for non-industrial use such as home and laboratory), at the time of this writing there aren’t too many choices available in the market.
Through some research I found two very similar solutions, and they both work with the same CAN library (as explained in a later chapter). Both solutions use the Microchip MCP2515 CAN controller. Also, both solutions are distributed through worldwide online resources.
Note: In the following I provide links to products that I used while writing this book. However, products and their capabilities may have changed since the publication of this book. It is highly recommended to check the manufacturers’ websites (or those of distributors and representatives) for updated information.
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.