Controller Area Network (CAN) Protocol Fundamentals

Last modified by Microchip on 2026/03/26 15:09

Control Area Network (CAN) Graphic

The Controller Area Network (CAN) protocol is a foundational technology in modern embedded and automotive systems, enabling reliable and efficient communication between microcontrollers (MCUs) and devices. CAN is an asynchronous serial communication protocol, meaning it transmits data without a shared clock and sends bits sequentially over a single channel. Its robust and fault-tolerant design allows devices to communicate directly, eliminating the need for a central host computer. This makes CAN especially valuable in environments where reliability and real-time performance are critical, such as vehicles, industrial automation, and medical equipment.

The development of CAN began in 1983, spearheaded by Bosch®, and culminated in the classical CAN standard, also known as CAN 2.0B. This standard was formalized as ISO 11898-1 and ISO 11898-2 in 2003. Classical CAN supports up to 8B of data per frame and typically operates at a baud rate of 1 Mbps. As technology advanced, the need for higher data rates and larger payloads led to the introduction of CAN FD (Flexible Data-rate) in 2012. CAN FD, standardized as ISO 11898-1:2015 and ISO 11898-2:2016, allows for data payloads up to 64B and supports faster communication, addressing the growing demands of modern embedded applications.

Topology

A CAN network is structured as a bus topology, where all nodes connect to a common twisted-pair cable, known as CAN_H (high) and CAN_L (low). This differential signaling method enhances noise immunity, making CAN suitable for electrically noisy environments. Every node on the network must operate at the same baud rate to ensure synchronized communication.

Control Area Network (CAN) Topology

Each node comprises three essential components: a CAN transceiver, which converts digital signals to differential signals for the bus; a CAN controller, which manages the protocol logic; and an application controller, typically an MCU, which runs the application software.

Communication

Flying Emails Graphic

CAN employs a message-based communication model. Instead of using device addresses, messages are broadcast onto the bus, and each message carries a unique identifier. Therefore, new nodes can be added to a system without having to update all the nodes with new addressing information. This identifier can be either 11b (standard format) or 29 bits (extended format). The identifier not only distinguishes messages but also determines their priority. In CAN, a lower message ID signifies higher priority. When multiple nodes attempt to transmit simultaneously, the arbitration process ensures that the message with the highest priority (lowest ID) wins, using a bitwise comparison where dominant bits (logical 0) override recessive bits (logical 1).

The protocol defines several types of frames. The data frame is used to transmit actual data, while the remote frame, enabled by the Remote Transmission Request (RTR) bit, allows nodes to request data from others. Error frames are generated when a node detects a fault, and overload frames are used to introduce delays when a node needs more processing time.

Back to Top

Network Model

Control Area Network (CAN) Network ModelControl Area Network (CAN) Data Link and Physical Layers in Network Model

The CAN standard is mapped to the ISO/OSI network reference model, specifically covering the data link layer (ISO 11898-1) and the physical layer (ISO 11898-2). Within the CAN controller, the data link layer includes Logical Link Control (LLC) functions such as acceptance filtering, overload notification, and recovery management, as well as Medium Access Control (MAC) functions like data encapsulation, frame coding (bit stuffing and destuffing), and error detection/signaling. The physical layer handles bit encoding/decoding, bit timing, and synchronization, ensuring accurate and reliable data transmission.

Back to Top

Application Example

Control Area Network (CAN) Application Circuit

This is a typical application circuit for a CAN node, showing how an MCU connects to the CAN bus using a transceiver, in this case, the ATA6563. The key components here are the MCU and the CAN Transceiver (like the ATA6563), which acts as the interface, converting digital signals from the MCU into differential signals for the CAN bus, and vice-versa.

STBY pin is an active-high pin used to place the transceiver into a low-power standby mode to conserve energy when CAN communication isn't active.

The transceiver can be woken up by a specific CAN wake-up pattern as defined in ISO 11898-2:2016. This allows the system to remain in a low-power state until activity on the CAN bus is detected, optimizing power consumption in applications like automotive systems.

This circuit demonstrates the fundamental hardware setup for a robust CAN communication node.

Back to Top

Waveform

Here is an example of a CAN waveform as shown on an oscilloscope. It shows the CANTX signal from the MCU, CANH and CANL from the bus, and CANRX from the MCU.

Control Area Network (CAN) Waveforms on Oscilloscope

Back to Top

Data Frame

Control Area Network (CAN) Data Frame

A typical CAN 2.0 data frame consists of several fields. The identifier defines the message and its priority. The RTR bit distinguishes between data and remote frames. The data field can contain 0B to 8B in classical CAN or up to 64B in CAN FD. The Cyclic Redundancy Check (CRC) field ensures data integrity by detecting transmission errors. Acknowledge bits allow receivers to signal successful reception. The end of frame marks the conclusion of the message, and the interframe space separates consecutive frames on the bus.

Back to Top

Microchip Solutions

Microchip Technology offers a comprehensive range of solutions for CAN-based designs. Our portfolio includes CAN transceivers such as the MCP2551 and MCP2562, standalone CAN controllers like the MCP2515, and MCUs with integrated CAN peripherals from the PIC®, AVR®, and SAM families. Microchip also provides development tools, including MPLAB® X Integrated Development Environment (IDE), CAN bus analyzers, and evaluation boards, enabling engineers to prototype, debug, and deploy CAN networks efficiently.

Back to Top

Summary

The CAN protocol is a versatile and reliable communication standard that has evolved to meet the needs of increasingly complex embedded systems. Its message-based architecture, priority-driven arbitration, robust error handling, and simple wiring make it an ideal choice for real-time, fault-tolerant communication. With the support of industry leaders, like Microchip Technology, engineers can leverage CAN to build scalable, efficient, and resilient networks for a wide range of applications.

Back to Top