Controller Area Network (CAN bus) is a standard serial communication protocol, meaning that its support of distributed real-time control and multiplexing allows for the interchange of information among the different components of a vehicle. The Classical CAN frame format allows bit rates up to 1 Mbit/s and payloads up to 8 byte per frame, but a newly introduced format, the CAN Flexible Data Rate Frame format, allows bit rates higher than and payloads higher and longer than these conventional values. While the CAN protocol was designed for and is still used primarily in road vehicles, the vehicle bus format has been incorporated into aircraft, aerospace, and railway systems.
CAN was developed in 1985 for in-vehicle networks as a replacement for the increasingly troublesome point-to-point wiring systems that were being used by automotive manufacturers to connect electronic vehicle components. Prior to this time, manufacturers had been incorporating more and more electronics into vehicles, resulting in bulky wire harnesses that proved to be both heavy and expensive. As an in-vehicle network, CAN quickly became a highly advantageous alternative, as it was not only high-integrity but also reduced wiring cost, complexity, and weight. After its adoption by the automotive industry, CAN became the focus of the ISO 11898 international standard in 1993.
CAN is a multi-master peer-to-peer network, in that each node (“assembly, linked to a communication network, capable of communicating across the network according to a communication protocol specification”) in the system is able to temporarily control the action of other nodes. When a CAN node is ready to transmit data, it checks to see if the bus is busy and then simply writes a CAN frame onto the network, giving bus access to the node with the greatest priority.
Other defining properties of CAN are: non-destructive content-based arbitration, all frame transfer is done as broadcast, remote data request, configuration flexibility, network-wide data consistency, error detection and error signaling, automatic retransmission of frames that have lost arbitration, have not been acknowledged, or have been destroyed by errors during transmission, and distinction between temporary errors and permanent failures of nodes and autonomous switching off of defective nodes.
CAN protocol should not be confused with Local Interconnect Network (LIN) protocol, another serial network protocol standard for vehicles. LIN also functions through signal-based communication between nodes, but differs in that it follows a master/slave system, in which the LIN master schedules the transmitted frames and the LIN slave serves the master’s communication requests. In general, LIN protocol is cheaper but less complex than CAN. If you’d like to learn more, please refer to this past post: Local Interconnect Network (LIN)
CAN Protocol Standards
As previously mentioned, CAN is internationally standardized in ISO 11898. Over its lifetime, this standard has seen several revisions, resulting in it being broken up into multiple parts. The current CAN protocol standards include:
ISO 11898-1:2015 – Road vehicles – Controller area network (CAN) – Part 1: Data link layer and physical signalling
- specifies the characteristics of setting up an interchange of digital information between modules implementing the protocol’s data link layer.
ISO 11898-2:2016 – Road vehicles – Controller area network (CAN) – Part 2: High-speed medium access unit
- specifies the high-speed physical media attachment (HS-PMA), including HS-PMAs without and with low-power mode capability and those with selective wake-up functionality.
ISO 11898-3:2006 – Road vehicles – Controller area network (CAN) – Part 3: Low-speed, fault-tolerant, medium-dependent interface
- specifies characteristics of setting up an interchange of digital information between electronic control units of road vehicles equipped with CAN.
- provides a replacement for Figure 9 on page 17.
ISO 11898-4:2004 – Road vehicles – Controller area network (CAN) – Part 4: Time-triggered communication
- sets up a time-triggered interchange of digital information between electronic control units (ECU) of road vehicles equipped with CAN.
All ISO 11898 series standards for the CAN protocol are available on the ANSI Webstore. In addition, they can all be acquired together as the ISO 11898 – Road Vehicles Controller Area Network (CAN) Package, which is available only on the ANSI Webstore.