CAN / CAN‑FD — Arbitration, Framing & Error Handling
Overview
The Controller Area Network (CAN) family is a set of robust, real‑time serial communication protocols widely used in automotive, industrial, robotics, and avionics systems. CAN was originally designed for deterministic, fault‑tolerant communication between electronic control units (ECUs). Over time, the protocol evolved into multiple variants:
- Classical CAN — the original protocol (up to 1 Mbit/s)
- CAN‑FD — extended data field and higher data‑phase bit rate
- CAN‑FD Light — simplified CAN‑FD for low‑cost nodes
All versions share the same fundamental principles:
- non‑destructive arbitration
- message‑based communication
- strong error detection and confinement
- deterministic timing behavior
This page describes the architecture, framing, arbitration, and reliability mechanisms of Classical CAN, CAN‑FD, and CAN‑FD Light.
Protocol Architecture
Physical Layer
The physical layer defines:
- differential signaling (CAN_H / CAN_L)
- dominant and recessive bit levels
- bit timing (segments, sample point, synchronization)
- bus topology (multi‑drop, terminated at both ends)
CAN is inherently multi‑master and supports hot‑plugging and fault‑tolerant operation.
Data Link Layer
The data link layer provides:
- message framing
- arbitration
- error detection
- retransmission
- acknowledgment
- error confinement
CAN‑FD extends the data link layer with:
- larger payloads (up to 64 bytes)
- dual bit‑rate operation (arbitration phase vs data phase)
- enhanced CRC mechanisms
Arbitration and Bus Access
Non‑Destructive Arbitration (CSMA/CR)
CAN uses Carrier Sense Multiple Access with Collision Resolution:
- all nodes monitor the bus
- if multiple nodes transmit simultaneously, arbitration occurs on the identifier field
- dominant bits overwrite recessive bits
- the node transmitting a recessive bit while reading a dominant bit loses arbitration and stops transmitting
- the winning node continues without delay
This ensures:
- deterministic priority handling
- zero bandwidth wasted on collisions
- real‑time behavior
Identifier Priority
Lower numerical identifiers have higher priority.
This allows:
- critical messages (e.g., braking) to preempt less important ones
- predictable latency under load
Framing and Packet Structure
Classical CAN Frame
A Classical CAN frame includes:
- SOF (Start of Frame)
- Arbitration field (identifier + RTR)
- Control field (DLC)
- Data field (0–8 bytes)
- CRC (15‑bit)
- ACK field
- EOF
CAN‑FD Frame
CAN‑FD extends the frame with:
- FDF bit (FD Format)
- BRS bit (Bit Rate Switch)
- ESI bit (Error State Indicator)
- Data field up to 64 bytes
- CRC of 17 or 21 bits depending on payload size
The data phase may run at a higher bit rate than the arbitration phase.
CAN‑FD Light Frame
CAN‑FD Light is a simplified subset of CAN‑FD:
- single bit‑rate (no BRS)
- reduced feature set
- simplified CRC handling
- intended for low‑cost, low‑complexity nodes
It maintains compatibility with CAN‑FD controllers.
Error Detection and Reliability
Error Detection Mechanisms
CAN provides multiple layers of error detection:
- bit monitoring
- bit stuffing checks
- CRC
- frame format checks
- acknowledgment checks
CAN‑FD enhances CRC robustness for larger payloads.
Error Frames
When a node detects an error, it transmits an error frame:
- active error frame (dominant bits)
- passive error frame (recessive bits)
This forces all nodes to discard the corrupted frame.
Error Confinement
Each node maintains:
- Transmit Error Counter (TEC)
- Receive Error Counter (REC)
Depending on counter values, a node enters:
- error‑active
- error‑passive
- bus‑off
This prevents faulty nodes from disrupting the network.
Flow Control and Timing
Deterministic Timing
CAN guarantees bounded latency through:
- priority‑based arbitration
- short frame lengths
- deterministic error handling
Bit Timing
Bit timing is divided into:
- synchronization segment
- propagation segment
- phase segments 1 and 2
Sampling occurs at a programmable sample point.
CAN‑FD Dual Bit Rate
CAN‑FD supports:
- arbitration phase at classical CAN speed
- data phase at higher speed (e.g., 2–8 Mbit/s)
This increases throughput while maintaining compatibility.
Comparison of Classical CAN, CAN‑FD, and CAN‑FD Light
| Feature | Classical CAN | CAN-FD | CAN-FD Light |
|---|---|---|---|
| Max Payload | 8 bytes | 64 bytes | 64 bytes |
| Bit Rate | Up to 1 Mbit/s | Up to 8 Mbit/s (data phase) | Single bit‑rate (FD arbitration rate) |
| CRC | 15‑bit | 17/21‑bit | Simplified FD CRC |
| Arbitration | Yes | Yes | Yes |
| Bit Rate Switch | No | Yes (BRS) | No |
| Compatibility | Baseline | Backward compatible | Compatible with CAN‑FD |
| Use Case | Automotive, industrial | High‑bandwidth automotive, robotics | Low‑cost sensors and actuators |
Use Cases
Classical CAN
- automotive ECUs
- industrial automation
- robotics
- avionics
- medical devices
CAN‑FD
- high‑bandwidth automotive networks
- ADAS and sensor fusion
- robotics and automation
- battery management systems
CAN‑FD Light
- low‑cost sensor nodes
- simple actuators
- distributed embedded systems
- mixed CAN‑FD / CAN‑FD Light networks
Related Pages
- CAN‑XL — Architecture, Framing & High‑Speed Transport
- FlexRay — Architecture, Framing & Deterministic Communication
- LIN — Framing, Scheduling & Low‑Speed Automotive Communication
- 10BASE‑T1S — Architecture, PLCA & Multi‑Drop Ethernet
- CRC — Overview, Families & Architecture
- FEC — Forward Error Correction — Architecture & Fundamentals
- Flow Control & Data Path — Overview
- Clocking & Synchronization — Overview
Summary
The CAN family provides a robust, deterministic, and fault‑tolerant communication framework for real‑time distributed systems. Classical CAN offers simplicity and reliability, CAN‑FD extends bandwidth and payload capacity, and CAN‑FD Light enables low‑cost nodes within CAN‑FD networks. Together, they form a scalable ecosystem for modern automotive and industrial applications.