How it works: CAN bus
Vehicles are complex machines with a huge number of components that need to communicate with each other. That’s why a Controller Area Network was invented. Tom Denton explains how the technology works.
These days, all modern vehicles, from conventional combustion-powered cars to the latest EVs, feature a Controller Area Network (CAN) bus. It’s the electronic communications system that allows different parts of the vehicle to talk to each other, including the engine, the transmission and the brakes. In effect, it’s a car’s central nervous system.
Invented by Bosch and first used on the Mercedes-Benz S-Class in 1991, the CAN bus initially linked five engine control units (ECUs) in an effort to improve performance and safety by enabling the faster flow of real-time data around the car.
The CAN bus network was designed to combine (or multiplex) those messages, thereby reducing the amount of electrical wiring (and weight) required. It was a step up from what had come before, which had consisted of two-way receivers and transmitters which simply couldn’t cope with several things communicating at once.
A CAN bus works by allowing any device in the network to create a “data frame”, the standard message format, and transmit it sequentially. If more than one device transmits at the same time, the highest priority device continues while the others wait. Frames are received by all ECU nodes in the network and consist of an ID, a message and other items such as error correction bits.
The physical network on most cars is made up of a twisted pair of thin wires known as CAN high (CAN-H) and CAN low (CAN-L). Coaxial cables and fibre optics can also be used.
Using a gateway to control data traffic, most vehicles now have several different networks – for the body, the powertrain and the infotainment system, for example. Unlike the 1991 S-Class, today’s vehicles might have dozens of ECUs, including ones for the engine, the transmission control, the airbags, the ABS, the traction control and the stability control. The CAN bus allows these areas to communicate with each other in real time, prioritising the most important information and helping to improve vehicle safety and performance.
Looking into the CAN bus data
You can use a scope to look at a CAN signal. With a PicoScope, for example, you can decode these signals and look at the actual values.
A new tool developed by Glenn Norris CAE AMIMI from Definitive Diagnosis makes the process of looking at CAN data quick and easy. “The Definitive Diagnosis CAN Analysis Tool makes CAN data decoding more accessible for vehicle technicians,” Norris explains. “It simplifies the process of tracing sporadic CAN errors and reduces time spent on diagnosis.”
Testing the diagnosis tool on my car, I found that all the data on the CAN bus was shown instantly. I even simulated a fault by shorting the bus wires together, and two errors were immediately listed.
A key feature of this new tool is that specific IDs can be sorted and filtered. This makes it easier to track down where errors may be coming from.
The value of the CAN identifier (CAN-ID) indicates the priority level. The lower the number, the higher the priority. The ID relates to specific items and activities, such as switching lights on or off, or a particular sensor.
The CAN bus is a robust system, but errors will still occur. Thankfully, clever diagnostic tools can help to identify them quickly.