CAN bus basics: frames, identifiers, bit timing, termination

How Classical CAN works: data frames with 11- or 29-bit identifiers, arbitration, bit rate and sample point, termination and error handling — and what CAN FD changes.

The frame

A Classical CAN data frame contains:

FieldSizeMeaning
Identifier11 bit (base) or 29 bit (extended)Message ID and priority — lower value wins
RTR / IDE1 bit eachRemote request / extended format flags
DLC4 bitData length code, 0…8 bytes
Data0…8 bytesPayload
CRC15 bit + delimiterError detection
ACK2 bitAny receiver acknowledges

Messages have no destination address: every node receives every frame and filters by identifier.

Arbitration

All nodes may start at the same time. Bits are dominant (0) or recessive (1); a node that sends recessive but reads dominant loses arbitration and stops. The frame with the lowest identifier continues without delay — priorities are built into the IDs.

Bit rate and bit timing

Common rates: 125, 250, 500 kbit/s and 1 Mbit/s. Each bit is divided into time quanta (tq): sync segment (1 tq), propagation + phase segment 1, phase segment 2. The sample point is where the bit is read, typically around 87.5 % of the bit time (CiA recommendation for CANopen). All nodes need the same bit rate and compatible sample points.

bit rate = f_clock / (prescaler × (1 + TSEG1 + TSEG2)). Use the CAN bit timing calculator.

Higher rates allow shorter buses because a bit must propagate to the farthest node and back within the sample point; 1 Mbit/s is practical only for a few tens of metres.

Physical layer and termination

Two wires CAN_H / CAN_L, twisted, 120 Ω terminating resistors at both ends. With power off you should measure about 60 Ω between CAN_H and CAN_L. 120 Ω means one terminator is missing; about 40 Ω means three terminators.

Errors

Each node counts transmit and receive errors. After repeated errors it becomes error passive and finally bus off — it stops transmitting until it is reset. A node going bus-off is a typical symptom of wrong bit rate, missing termination or a wiring fault.

CAN FD

CAN FD keeps the arbitration phase but can switch to a higher bit rate for the data phase and carries up to 64 bytes. Classical CAN nodes do not understand FD frames and will flag errors on a mixed bus.

Decode frames with the CAN frame tool.

Loading the map…

Sources

  1. CAN knowledge (CAN, CAN FD, CANopen) — CAN in Automation (CiA)

Updated 2026-10-02