Understanding CAN Communication: A Comprehensive Guide (Part 1) – Starting with the Classics

CAN communication is a broad concept encompassing not only the physical layer and data link layer protocols defined in ISO 11898 and ISO 11519, but also application layer protocols based on these standards. Examples include the CANopen protocol by CiA, the DeviceNet protocol by Rockwell, and the UDS diagnostic protocol widely used in the automotive industry. CAN technology is continuously evolving, from the early days of classic CAN with a maximum of 8 bytes per frame, to CAN FD with up to 64 bytes per frame (and variable communication rates in some segments), to the latest CAN XL which supports larger data volumes and higher speeds. Known for its reliability, CAN communication is widely used in automotive, rail transport, medical, and industrial control applications.

In this article, we will start with classic CAN and explore the ongoing development of CAN communication technology. The topics covered include:

  • What is CAN?
  • Classic CAN
  • CAN FD
  • CAN XL

What is CAN?

CAN stands for "Controller Area Network." In February 1986, researchers from Bosch introduced the concept of the CAN bus at the SAE conference in Detroit. This serial network-based bus system was designed to meet the growing communication needs among control units within vehicles. About a year later, in 1987, Intel released the first CAN controller chip, the 82526, followed shortly by Philips with their 82C00 chip. These developments marked the transition of CAN communication from a conceptual stage to practical application. By 1990, the first mass-produced car using the CAN bus was launched, and in 1991, the CAN 2.0 protocol was released. In 1993, the International Organization for Standardization (ISO) published the CAN communication standards ISO 11898 and ISO 11519.

Classic CAN

Initially, there was no term "Classic CAN"; it emerged to distinguish earlier CAN technology from newer advancements. Classic CAN includes two types: High-Speed CAN and Low-Speed CAN, differentiated by their communication rates. After CAN bus standardization by ISO, two standards were published: ISO 11898 and ISO 11519. ISO 11898 defines CAN communication speeds ranging from 125 kbps to 1 Mbps, while ISO 11519 defines speeds below 125 kbps. Hence, ISO 11898 is referred to as "High-Speed CAN" and ISO 11519 as "Low-Speed CAN."

Both standards define the physical layer and data link layer of the CAN bus. The physical layer includes connector types and pin definitions, cables used for CAN communication, CAN levels (differing definitions in the two standards, which will be discussed in later articles), and communication rates (bit timing). The data link layer defines five types of CAN frames: data frame, remote frame, error frame, overload frame, and interframe spacing.

The CAN 2.0 protocol has two versions, A and B, differing in data frame structure. Version A defines an 11-bit identifier (CAN-ID), while version B extends compatibility with Version A by defining a 29-bit identifier. Consequently, 11-bit identifier frames are termed "standard frames," and 29-bit identifier frames are termed "extended frames." Detailed frame definitions will be discussed in subsequent articles.

CAN FD

Classic CAN limits each frame to a maximum of 8 bytes and a top communication rate of 1 Mbps. With the increase in control units and data transmission needs in vehicles, manufacturers sought to increase data capacity per frame and communication speed, leading to the development of CAN FD.

CAN FD stands for "CAN with Flexible Data-rate," also known as "Flexible Bit Rate CAN." In classic CAN, all frame segments (such as arbitration, control, data, CRC, etc.) have the same transmission rate. In CAN FD, segments like the data and CRC sections can have different rates from the arbitration segment, allowing parts of a frame to be sent at variable rates, theoretically supporting up to 10 Mbps (commonly 5 Mbps in practice), while unchanged segments remain at a maximum of 1 Mbps. Additionally, CAN FD can transmit up to 64 bytes per frame, a significant increase from the classic CAN's 8 bytes.

Classic CAN and CAN FD messages can coexist on the same network, and both are widely used today.

CAN XL

CAN XL represents the next generation of CAN communication technology. While CAN FD offers higher transmission rates and larger data frames than classic CAN, it still lags behind Fast Ethernet (100BASE-T). CAN XL was developed to bridge this gap. Key features of CAN XL include:

  • Compatibility with CAN FD, allowing coexistence on the same network.
  • Maximum transmission rate of 20 Mbps.
  • Support for up to 2048 bytes per frame.

Currently, CAN XL is in its early stages and has not seen widespread use. The CAN in Automation (CiA) organization is actively promoting and developing this protocol. More information can be found on their official website: CiA - CAN in Automation.

Like my work? Consider a donation! 👇