Search topics...
CANCAN-FDfoundational

What are the key differences between classic CAN and CAN-FD? Is CAN-FD backward compatible?

0 upvotes
Practice with AISoon
Study the fundamentals first — CAN topic page

CAN-FD (Flexible Data-rate) is an extension of classic CAN that addresses its two main limitations: the 8-byte payload limit and the 1 Mbit/s speed ceiling. CAN-FD was standardized in ISO 11898-1:2015.

FeatureClassic CAN (2.0)CAN-FD
Payload0-8 bytes0-8, 12, 16, 20, 24, 32, 48, or 64 bytes
Bit rateUp to 1 Mbit/s (entire frame)Arbitration at up to 1 Mbit/s; data phase at up to 8 Mbit/s
CRC15-bit17-bit (up to 16 bytes) or 21-bit (up to 64 bytes)
Stuff bit countNot trackedIncluded in CRC calculation (gray-coded counter), improving error detection
BRS bitN/ABit Rate Switch — signals the transition to the faster data-phase bit rate
ESI bitN/AError State Indicator — tells receivers whether the transmitter is Error Active or Error Passive

The speed improvement works by using two different bit rates within a single frame. The arbitration phase (SOF through the BRS bit) uses the standard 1 Mbit/s rate to maintain compatibility with all nodes' oscillator tolerances and propagation delays. After the BRS bit, the data phase switches to a higher rate (2, 4, 5, or 8 Mbit/s) for the payload and CRC, then switches back to the nominal rate for the ACK and EOF fields.

CAN-FD is partially backward compatible. CAN-FD and classic CAN nodes can coexist on the same physical bus, but classic CAN controllers will detect CAN-FD frames as errors (because the FDF/EDL bit violates the classic frame format) and transmit error flags. This means you cannot mix classic and FD traffic on the same bus. The common migration strategy is: (1) upgrade all nodes to CAN-FD capable hardware, (2) initially run the bus in classic CAN mode, (3) switch to CAN-FD mode once all nodes are upgraded. The physical layer (transceivers, bus topology, termination) is identical.

Source: CAN Q&A