Message-oriented communication
CAN is a multi-master, broadcast serial network. Nodes transmit frames identified by an 11-bit or 29-bit identifier; that identifier also participates in arbitration. It is not simply the address of a single receiving device.
When nodes start transmitting together, non-destructive bitwise arbitration allows the highest-priority frame to continue. For otherwise comparable identifiers, the lower numerical value has priority; standard 11-bit frames also take precedence over extended 29-bit frames with the same first 11 identifier bits.
Key properties
- Standards
- ISO 11898-1 (data link); ISO 11898-2 (high-speed physical layer)
- Identifiers
- 11 or 29 bits
- Classical CAN payload
- Up to 8 bytes
- CAN FD payload
- Up to 64 bytes
- Bus access
- Priority arbitration
High-speed CAN wiring
The common ISO 11898-2 high-speed physical layer uses CAN_H and CAN_L as a differential signal pair. A linear bus with short stubs and two correctly located terminators is the usual design.
Diagram is conceptual. Cable lengths and stub limits depend on the selected bit rate and transceivers.
| Check | Engineering note |
|---|---|
| Bus termination | Normally 120 Ω across CAN_H and CAN_L at each physical end of a high-speed segment. |
| Resistance test | On a safely de-energized, isolated high-speed segment with two 120 Ω end terminators, the expected resistance is approximately 60 Ω. Extra terminations, connected electronics and alternative termination designs can change the reading; check the equipment manual before measuring. |
| Ground and shield | Follow transceiver and equipment grounding guidance; avoid assuming the shield is the signal return. |
| Bit timing | All nodes must use compatible nominal bit timing. CAN FD data-phase settings may differ. |
Classical CAN and CAN FD
Classical CAN carries up to eight data bytes per frame. CAN FD extends the data field to 64 bytes and can switch to a higher bit rate during the data phase. CAN FD-capable controllers can also exchange Classical CAN frames. A Classical CAN-only controller normally detects a received CAN FD frame as a protocol error; mixing such nodes requires a compatible network design.
Higher-layer protocols such as CANopen and SAE J1939 add application-level conventions; they are not synonyms for the CAN physical layer.
Practical fault indications
- Inconsistent termination or bus topology
- CAN_H / CAN_L wiring errors
- Bit-rate or sample-point mismatch
- Excessive errors or bus-off counters
- Noise and common-mode voltage outside device limits