Sae J1939 ECU Programming & Vehicle Bus Simulation with Arduino
This book, written by a leading expert in the field of Controller Area Network (CAN) technologies, represents the perfect guide to implementing an SAE J1939 protocol stack for embedded systems. The book is filled with numerous C/C++ code examples and valuable documentation of the resulting J1939 vehicle network data traffic. It explains in great detail the inner workings of the protocol through designing and transmitting J1939 data frames, receiving and processing J1939 data frames, and simulating J1939 ECUs (Electronic Control Units). Other Arduino sketches (software projects) include a J1939 network scanner, and a simple SAE J1939 to USB Gateway application with associated Windows GUI (Visual Studio C# project). The collection of sketches is concluded by the ARD1939 project, a fully functional SAE J1939 protocol stack for the Arduino Uno and Mega 2560. As an added value, the included proof of concept explains (by means of code examples and bus traffic recordings) the details of the Transport Protocol (TP) according to SAE J1939/21 (BAM Session, RTS/CTS Session) and the Address Claim Procedure according to SAE J1939/81. In combination with the low-cost and high-level user-friendliness approach of the Arduino environment, this book represents the ideal platform to learning and implementing embedded applications with the SAE J1939 protocol stack.