Bitwise Arbitration

Module 3: CAN Data Link Layer40 min

Bitwise Arbitration — How CAN Decides Who Transmits

The Core Mechanism

When multiple nodes start transmitting simultaneously, the bus resolves the collision non-destructively — the highest-priority message always wins, and no data is lost. The mechanism relies on one physical property: dominant (0) overwrites recessive (1) on the bus.

Step-by-Step Arbitration Example

Three ECUs start transmitting at the same moment:

  • ECU A — Engine RPM: ID = 0x100 = 001 0000 0000
  • ECU B — Wheel Speed: ID = 0x120 = 001 0010 0000
  • ECU C — Throttle Position: ID = 0x110 = 001 0001 0000
Bit PositionECU A (0x100)ECU B (0x120)ECU C (0x110)Bus StateResult
ID10 (MSB)0000 (dominant)All match, continue
ID90000 (dominant)All match, continue
ID81111 (recessive)All match, continue
ID70000 (dominant)All match, continue
ID60000 (dominant)All match, continue
ID50100 (dominant)ECU B loses (sent 1, read 0)
ID4010 (dominant)ECU C loses (sent 1, read 0)
ID3–ID000000000ECU A wins
Key Concept: Lower numerical ID = higher priority. ID 0x000 is the highest possible priority; ID 0x7FF is the lowest. Safety-critical messages (ABS, airbag) get low IDs; comfort features get high IDs.

Why Arbitration is Non-Destructive

The losing nodes detect they lost because they read a different bit value than they transmitted. They immediately switch to receive mode and retry after the bus becomes idle. The winning node never knows arbitration occurred — its message is delivered intact.

Common Mistake: The arbitration field is the only part where simultaneous transmission is expected. Any bit conflict outside arbitration is an error, not arbitration.

Message Priority Design Guidelines

Priority Range (11-bit)Typical AssignmentCycle Time
0x000 – 0x0FFSafety-critical: ABS, ESP, airbag5–20 ms
0x100 – 0x2FFPowertrain: engine RPM, throttle10–50 ms
0x300 – 0x4FFChassis: suspension, parking brake20–100 ms
0x500 – 0x6FFBody: doors, windows, HVAC50–500 ms
0x700 – 0x7FFDiagnostics and network managementOn-demand
Exercise: Look at the communication matrix for a vehicle project you work on. List the 5 messages with the lowest IDs and the 5 with the highest. Do priorities match the safety hierarchy?