CAN Bus Arbitration
How CAN bus arbitration works and why it guarantees deterministic access without collisions.
can-bus
Topic
intro
Difficulty
2025-03-22
Updated
Article
CAN Bus Arbitration
Overview
CAN bus arbitration defines how multiple ECUs can start transmitting at the same time without causing data collisions. It ensures deterministic bus access by resolving priority bit by bit during transmission.
Prerequisites
- Basic understanding of CAN frame IDs
- Difference between dominant and recessive bits
Concept Breakdown
Priority via Identifier
Lower numerical CAN IDs have higher priority. This priority is enforced directly on the bus during transmission.
Dominant vs Recessive Bits
- Dominant (0) overwrites recessive (1)
- All nodes monitor the bus while transmitting
Step-by-Step Logic
- Multiple ECUs detect an idle bus
- Each ECU starts transmitting its identifier
- When a recessive bit is overwritten by a dominant bit, the ECU loses arbitration
- The losing ECU stops transmitting immediately
- The winning ECU continues without interruption
No data is corrupted. No retry delay is needed.
Common Mistakes / Misconceptions
-
"Arbitration causes collisions" → ❌ Arbitration prevents collisions.
-
"Higher ID means higher priority" → ❌ Numerically lower IDs win.
Practical Implications
- Real-time guarantees for safety-critical ECUs
- Bus load planning depends on ID assignment
- Attackers can abuse arbitration via high-priority frames
References
- ISO 11898-1
- Bosch CAN Specification 2.0
- Vector CAN Technical Overview
Used In
This article is referenced by:
- ▸
- ▸
Also Referenced By