Modern cars contain dozens of small computers called electronic control units that manage the engine, brakes, airbags, steering, lights, climate control, and displays. These computers must share information quickly and reliably, such as vehicle speed, throttle position, wheel speed, and warning signals. The Controller Area Network, or CAN bus, is the communication system that lets these computers talk over a shared pair of wires.
It matters because a safe vehicle depends on many controllers agreeing on the same information at the right time.
A CAN bus works by sending short digital messages onto a twisted pair of wires called CAN High and CAN Low. Each message includes an identifier that tells the network what kind of data it contains and also sets its priority. All connected controllers can listen to every message, but each one only uses the messages it needs.
If two controllers transmit at the same time, the CAN protocol automatically lets the higher priority message continue while the lower priority controller waits and tries again.
Key Facts
- CAN stands for Controller Area Network.
- A CAN bus uses two signal wires, usually called CAN High and CAN Low.
- The two wires carry opposite voltage changes, which helps cancel electrical noise.
- Message priority is set by the identifier, and a lower identifier value usually has higher priority.
- Typical CAN speeds include 125 kbit/s, 250 kbit/s, 500 kbit/s, and 1 Mbit/s.
- Bit time = 1 / bit rate, so at 500 kbit/s one bit lasts 2 microseconds.
Vocabulary
- Electronic Control Unit
- An electronic control unit is a small computer in a vehicle that controls a specific system such as the engine, brakes, or airbags.
- CAN Bus
- A CAN bus is a shared communication network that allows vehicle computers to exchange short digital messages.
- Identifier
- An identifier is the part of a CAN message that labels the message type and determines its priority on the bus.
- Arbitration
- Arbitration is the CAN process that decides which message continues when more than one controller starts transmitting at the same time.
- Twisted Pair
- A twisted pair is two wires wound around each other to reduce the effect of electromagnetic interference.
Common Mistakes to Avoid
- Thinking the CAN bus sends messages to only one computer is wrong because CAN messages are broadcast to all connected controllers, and each controller decides whether to use the data.
- Assuming more wires are needed for more computers is wrong because many controllers can share the same two CAN signal wires.
- Treating the identifier as the sender address is wrong because the identifier usually describes the message content and priority, not simply which ECU sent it.
- Ignoring termination resistors is wrong because the ends of a CAN bus need proper termination to reduce signal reflections and communication errors.
Practice Questions
- 1 A CAN network runs at 500 kbit/s. How long does one bit take to transmit in microseconds?
- 2 A simplified CAN message contains 128 bits total. At a bus speed of 250 kbit/s, how long does the message take to transmit in milliseconds?
- 3 Two ECUs begin transmitting at the same time. One message has identifier 0x120 and the other has identifier 0x300. Which message wins arbitration, and why?