Sign in to save

Bookmark this page so you can find it later.

Sign in to save

Bookmark this page so you can find it later.

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.

Understanding Automotive Technology: How the CAN Bus Works

A CAN message is called a frame. It does not normally include a sender address or a receiver address. Instead, its identifier describes the meaning of the data.

One frame might report engine coolant temperature. Another might report the status of a door latch. A controller is configured with filters, so it accepts only the identifiers useful for its job.

The frame carries a small amount of data, followed by checks that help receivers decide whether the message arrived correctly. This broadcast design reduces wiring because one sensor reading can be used by several systems without separate connections.

The network settles conflicts through a process called arbitration. Controllers begin sending at the same time only when the bus is idle. Each one sends bits from its identifier while listening to the actual electrical state on the wires.

A dominant bit overrides a recessive bit. If a controller sends recessive but detects dominant, it knows a higher priority frame is present. It stops transmitting immediately, without damaging either message.

The winning frame continues without delay. This matters for urgent information such as wheel speed or brake related commands. Lower priority messages, such as a comfort setting, wait until the bus is free.

Reliability depends on more than the two signal wires. A CAN bus needs a terminating resistor at each physical end of the main cable. These resistors prevent signal reflections, which can distort fast pulses on a long wire.

The twisted wiring helps reject interference from ignition systems, motors, alternators, and other electrical equipment. The layout matters too. Long branches leading away from the main cable can cause reflections and timing problems.

At higher bit rates, cable length and branch length become more limited. A technician checking a fault may measure the resistance across the disconnected bus or inspect the signal shape with an oscilloscope.

CAN includes several layers of error checking. Receivers calculate a cyclic redundancy check from the received bits and compare it with the check value in the frame. They verify the frame format and confirm that expected bit patterns are followed.

A receiver that sees a valid frame sends an acknowledgement bit. When an error is detected, an error signal causes the bad frame to be discarded and sent again. Controllers count their own errors.

A controller with repeated faults can remove itself from normal communication, a state called bus off. This prevents one damaged module or short circuit from constantly blocking the network.

Students often meet CAN during diagnostic work, where a scan tool reads trouble codes and live data through the diagnostic connector. It is important to remember that a code can report a missing message, not prove that the named sensor itself has failed.

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. 1 A CAN network runs at 500 kbit/s. How long does one bit take to transmit in microseconds?
  2. 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. 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?