There are many applications, in which one may need to reverse engineer CAN Bus communication. Examples are automotive competitor analysis, telematics applications such as fleet management, and disabled driver applications.
The typical reverse engineering process is concerned with moving a sensor and watching the CAN Bus network for message changes. For example, wind down a door window and see if this kicks-off changes in CAN Bus frame data fields. Many CAN Bus networks have multiple frames originating from many ECUs (electronic control units), which means it is difficult to watch all data simultaneously. It would be more comfortable if one could watch a smaller number of CAN Bus data frames to observe changes by isolating the origin, i.e., the ECU sending these frames.
This engineering note describes a process that allows the user to identify particular ECUs transmitting CAN Bus data frames. This is achieved by getting the electrical signature of each CAN data frame and matching known frames with the unknown. Consequently, the transmitting ECU of the unknown CAN Bus data frame can be determined.
Dual CAN Bus Interface For Arduino Due With Extended Power Range
The jCOM.CAN.DUE-X, a dual CAN bus interface for the Arduino Due, is not an Arduino shield in the common sense.
The board incorporates dual CAN transceivers required by the two integrated CAN ports on the Arduino Due while allowing the operation with any Arduino-compatible shield that supports the necessary 3.3 VDC power requirements.
By combining our dual CAN port interface, the Arduino DUE microcontroller, an OBD2 or SAE J1939 cable, and open-source software libraries you are ready to go with powerful a turn-key Arduino-based dual CAN bus solution.
Leverage the 32-bit processing capability of the Arduino DUE plus the built-in CAN ports for your next prototype.
In order to more efficiently serve automotive and industrial applications, the jCOM.CAN.DUE-X board supports an extended input power range of 7 to 36 VDC to power the entire system, i.e. including the Arduino Due itself.
The following is an excerpt from A Comprehensible Controller Area Network by Wilfried Voss. After a lengthy, but necessary introduction it is time to explain the technical features of CAN in detail. The following chapter explains the CAN message frames by bit and bytes. Further chapters will address the mechanism of message broadcasting, the bus arbitration and the actual physical layer.In [...]
The following is an excerpt from A Comprehensible Guide To J1939 by Wilfried Voss. SAE 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.Everything that has to do with CAN is based on maximum reliability with the [...]
The following is an excerpt from A Comprehensible Guide To J1939 by Wilfried Voss. Even though extremely effective in automobiles and small applications, CAN alone is not suitable for machine automation, since its communication between devices is limited to only 8 bytes per message. As a consequence, higher layer protocols such as CANopen for machine control, DeviceNet for factory automation and [...]
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. Controller Area Network (CAN Bus) is a serial network technology that was originally designed for the automotive industry, especially for European cars, but has also become a popular bus in industrial automation as well as other applications. The CAN Bus is primarily used [...]
This post is part of a series about SAE J1939 ECU Programming & Vehicle Bus Simulation with Arduino. The Society of Automotive Engineers (SAE) Truck and Bus Control and Communications Subcommittee has developed a family of standards concerning the design and use of devices that transmit electronic signals and control information among vehicle components. SAE J1939 and its companion documents have quickly become [...]
The LIN (Local Interconnect Network) bus is an inexpensive serial communications protocol, which effectively supports remote application within a car's network. It is particularly intended for mechatronic nodes in distributed automotive applications, but is equally suited to industrial applications. It is intended to complement the existing CAN network leading to hierarchical networks within cars.Controller Area Network [...]
This book details the use of the ARM Cortex-M family of processors and the Arduino Uno in practical CAN bus based projects. Inside, it gives a detailed introduction to the architecture of the Cortex-M family whilst providing examples of popular hardware and software development kits. Using these kits helps to simplify the embedded design cycle [...]
Modern cars are more computerized than ever. Think infotainment and navigation systems, Wi-Fi, automatic software updates, and other innovations that aim to make driving more safe and convenient. However, vehicle technologies haven not kept pace with today's more hostile security environment, which might leave millions of cars vulnerable to attack. The Car Hacker's Handbook will give [...]
Manufacturers of agricultural, construction, and other off-highway equipment are increasingly deploying electromechanical actuators instead of hydraulic actuators, the primary reason being their simplicity and environmental benefits. Now, intelligent electromechanical actuators that support the Controller Area Network (CAN) bus networking standard give designers more reasons to choose such a solution. Support for the CAN/J1939 networking protocol [...]