CAN data link layers in some detail

CAN is a very reliable producer/consumer serial bus system with multi-drop capabilities. The network arbitration method is the same for all CAN data link layer protocols: Classical CAN, CAN FD, and CAN XL. The CAN frames are broadcasted. This means every node is able to consume any frame produced by any other node in the CAN network.

The structure of CAN data frames are the same for Classical CAN and CAN FD, just the field details are different

The CAN data link layer features include:

  • Non-destructive bus-arbitration method
  • Standardized data, remote, error, and overload frames
  • Fault confinement with automatic re-transmission of erroneous data and remote frames
  • Scalable bit-timing
  • Integrated error detection methods

Originally, CAN was developed for use as an in-vehicle network in passenger cars, nowadays CAN is used in many other industries. This includes applications in any kind of transportation system (rail vehicle, aircraft, marine, etc.), in industrial machine control systems, in home and building automation (e.g. HVAC, elevators), in mobile machines (construction and agriculture equipment), in medical devices and laboratory automation, as well as in many other embedded and deeply embedded applications. Each year, more than two billion CAN nodes are sold. The price for CAN protocol controllers is very reasonable.

In the beginning, there was only the data link layer protocol, what we today name Classical CAN. Introduced by Bosch as CAN 2.0 A/B, it has been internationally standardized in the ISO 11898 series since 1993. CiA doesn’t use the term CAN 2.0 anymore: we call it Classical CAN.

In 2012, Bosch and other CAN experts improved the CAN protocol to what is known as the CAN FD protocol. The Classical CAN and CAN FD protocols are by some means backward compatible: Any CAN FD-compliant node understands Classical CAN frames. However, legacy Classical CAN nodes not supporting CAN FD destroy a consumed CAN FD frame by sending an error frame.

Both protocols are internationally standardized in ISO 11898-1:2015 and feature a high reliability. All single-bit failures are detectable. Multi-bit failures are found with a very high probability. One of the unique features is the fault confinement, which provides a network-wide data consistency.

The third CAN protocol generation, called CAN XL, has been developed by CiA technical groups. It provides a lot of new features including the separation of bus access arbitration (11-bit priority ID) and data frame content indication (32-bit acceptance field) as well as layer management information (e.g. SDT field). The data field length ranges from 1 byte to 2048 byte. The CAN XL data link layer is specified in CiA 610-1.