HomeAbout UsContact Us

CAN Communication Protocol Explained for Embedded Systems

By embeddedSoft
Published in Embedded Concepts
May 14, 2026
2 min read
CAN Communication Protocol Explained for Embedded Systems

Table Of Contents

01
Introduction to CAN Protocol
02
CAN Bus Physical Layer
03
Message Format
04
Error Handling
05
Application Examples
06
CAN Variants
07
Conclusion

CAN (Controller Area Network) communication protocol is a robust vehicle bus standard designed to allow microcontrollers and devices to communicate with each other without a host computer. It is a message-based protocol, designed originally for multiplex electrical wiring within automobiles, but is also used in many other embedded systems.

Introduction to CAN Protocol

CAN protocol was developed by Robert Bosch GmbH in the 1980s for automotive applications. The primary goals were to reduce wiring complexity, increase reliability, and enable real-time communication between various electronic control units (ECUs) in vehicles.

Key features of CAN include:

  • Multi-master bus arbitration
  • Built-in error detection and confinement
  • Prioritized message transmission
  • Robustness in noisy environments
  • Classical CAN supports up to 1 Mbps, while CAN FD enables higher data rates (typically up to 8 Mbps) during the data phase.

CAN Bus Physical Layer

The CAN bus uses a two-wire differential signaling scheme:

  • CAN_H (CAN High)
  • CAN_L (CAN Low)

In dominant state: CAN_H ≈ 3.5V, CAN_L ≈ 1.5V In recessive state: Both lines at approximately 2.5V (no differential voltage)

The differential nature makes CAN highly resistant to electromagnetic interference (EMI), which is crucial in automotive and industrial environments.

CAN networks typically use 120Ω termination resistors at both ends of the bus to prevent signal reflections.

Message Format

CAN uses either Standard (11-bit identifier) or Extended (29-bit identifier) frame formats. Each frame consists of:

  1. Start of Frame (SOF) - 1 dominant bit
  2. Arbitration Field - 11-bit (standard) or 29-bit (extended) identifier + RTR bit
  3. Control Field - Contains IDE (Identifier Extension) (1 bit), reserved bit(s), DLC (Data Length Code) (4 bits)
  4. Data Field - 0-8 bytes (Classical CAN) or up to 64 bytes (CAN FD)
  5. CRC Field - Classical CAN uses a 15-bit CRC, while CAN FD uses 17- or 21-bit CRC depending on the payload size + CRC delimiter
  6. ACK Field - ACK slot + ACK delimiter
  7. End of Frame (EOF) - 7 recessive bits
  8. InterFrame Space (IFS) - 3 recessive bits

Error Handling

CAN implements sophisticated error detection mechanisms:

  • Bit Monitoring
  • Bit Stuffing
  • CRC Check
  • Form Check
  • Acknowledgment Check

When errors are detected, nodes maintain transmit and receive error counters and can transition from Error Active to Error Passive, and eventually to Bus-Off state.

Application Examples

CAN is widely used in:

  • Automotive: Engine control, transmission, braking systems, body electronics
  • Industrial: Factory automation, robotics, process control
  • Medical: Medical devices and equipment
  • Aerospace: Avionics and spacecraft systems
  • Maritime: Ship navigation and control systems

CAN Variants

Several CAN variants have been developed to meet evolving needs:

  • Classical CAN (ISO 11898-1): Original specification
  • CAN FD (Flexible Data-rate): Higher data rates and larger payloads
  • CAN XL: Even higher bandwidth for future applications
  • CANopen: Higher-layer protocol for industrial automation
  • DeviceNet: Industrial network protocol based on CAN

Conclusion

CAN protocol remains a cornerstone of embedded communication systems due to its reliability, real-time capabilities, and robustness in harsh environments. Understanding CAN is essential for embedded engineers working in automotive, industrial, and many other sectors where reliable communication between microcontrollers is critical.


Tags

cancommunication-protocolembedded-systems

Share


Previous Article
Career Advice for Embedded Engineers Navigating the Job Market
embeddedSoft

embeddedSoft

Insightful articles on embedded systems

Related Posts

Bootloader Design for Embedded Systems
Bootloader Design for Embedded Systems
May 12, 2026
3 min
© 2026, All Rights Reserved.
Powered By Netlyft

Quick Links

Advertise with usAbout UsContact Us

Social Media