user
What is the difference between CAN bus and CAN FD?
alphonsio

The main difference between CAN bus and CAN FD (Flexible Data-rate) lies in data transmission rate and payload size, but there are several specific enhancements in CAN FD over classic CAN. Here's a clear breakdown:


Classic CAN (Controller Area Network)

  • Standardized as: ISO 11898-1 (original version)
  • Max data rate: 1 Mbps (limited by network length)
  • Payload size: 8 bytes maximum per frame
  • Fixed bit rate: Same speed for arbitration and data phases
  • Widespread use: Automotive, industrial automation, etc.

CAN FD (Flexible Data-rate)

  • Standardized as: ISO 11898-1:2015 (updated version)
  • Max data rate: Up to 8 Mbps (depends on implementation)
  • Payload size: Up to 64 bytes per frame
  • Dual bit rate: Slow during arbitration (for compatibility), faster during data transmission
  • Improved CRC: Stronger error checking for larger frames
  • Backwards compatibility: CAN FD controllers can fall back to classic CAN mode

Summary of Key Differences

FeatureClassic CANCAN FD
Max Data Rate1 MbpsUp to 8 Mbps
Max Payload Size8 bytes64 bytes
Bit Rate SwitchingNoYes (dual-speed frames)
CRC Check15/17-bit17/21-bit
Backward CompatibilityN/AYes (with classic CAN)

Why Use CAN FD?

  • More data in fewer messages → Reduced busload
  • Faster communication → Better for high-bandwidth needs (e.g., ADAS, infotainment)
  • Efficient for modern ECUs → Where both speed and payload matter