Reverse Engineering the Volcano CAN BUS Framework for Engine Control Unit Programming
The goal of this project is to design a combination ISO 9141 (K-Line) and CAN BUS (Controller Area Network Bus) interface in order to load new software into an engine control unit through the diagnostics connector of a vehicle.The specific platform target is a 2006 Volvo S60R.This vehicle requires a high-speed CAN BUS (500kbps) connection and a medium-speed CAN BUS (125kbps) connection.In most older vehicles, the wires in the diagnostics connector are not directly connected to the engine control unit, requiring all data to pass through a CEM (central electronic module), which requires an ISO 9141 keepalive message to keep the CAN BUS communication path open.This presents the need for custom hardware that is capable of both ISO 9141 and CAN BUS communication, and there are very few devices that exist in the industry that can perform this task.Most devices are impractical, mostly due to the expense.After the hardware was developed, custom software was written for a computer operating system platform in order to actually communicate with the car.This particular test vehicle did not require an ISO 9141 keep-alive message to open the CAN channel, so even though the device is capable of applying the ISO 9141 signal, research efforts were focused on programming the ECU with the CAN BUS.The chosen design successfully accomplished the goal and was able to flash the chosen ECU in approximately 100 seconds, which is approximately 10 seconds faster than a flash done with the factory Volvo tool for the same purpose.
Authors
- Ramsey Hilton
Institutions
- University of Hartford (US)
Publication Details
- Published
- 2025-04-02
- DOI
- https://doi.org/10.18260/1-2-1153-53993
- Primary Topic
- Real-time simulation and control systems
- Type
- article
- Field-Weighted Citation Impact
- 0.00