logologo
ArticleDiscussion

CAN Bus Communication Protocol

fav gif
Save
viki star outline

The Controller Area Network (CAN) bus is a serial communication protocol that supports distributed real-time control with high reliability. It was developed by Robert Bosch GmbH in the 1980s and was first used in Mercedes-Benz vehicles. To improve safety and comfort, many Electronic Control Units (ECUs) were added to cars, such as anti-lock braking systems, engine management, traction control, climate control, central locking, electric seats, and mirror control. The CAN bus was implemented to connect these ECUs and reduce complex wiring. This protocol works reliably even in harsh environments.


Due to its success in automotive applications, CAN bus technology has attracted interest from manufacturers in process control, the textile industry, and medical devices. It is also used by Airbus in the A380 superjumbo aircraft.


Technical Features

The CAN bus operates at speeds up to 1 Mbps for cable lengths shorter than 40 meters. As cable length increases, data speed decreases. For example, for a 500-meter cable, the speed is reduced to 125 Kbps. The data signal is usually transmitted through a twisted-pair cable (shielded or unshielded), but single-wire cables, ground connections, or optical fibers can also be used.


Controllers connected to the CAN bus can both send and receive data. Possible data collisions are prevented using Carrier Sense Multiple Access with Arbitration on Message Priority (CSMA/AMP). In this method, a terminal can only transmit when the bus is free. If two or more terminals try to transmit at the same time, the arbitration mechanism ensures that the message with the highest priority continues.


Theoretically, there is no limit to the number of terminals connected to the CAN bus, but in practice, this number is usually limited to 32 to prevent data delays. CAN bus uses Non-Return to Zero (NRZ) encoding with bit stuffing.


The CAN bus has two logic levels: dominant (0) and recessive (1). If a dominant and a recessive bit are sent at the same time, the dominant bit (0) has priority.


There are different versions of the CAN bus:

  • CAN 2.0A
  • CAN 2.0B
  • CAN Open


The International Organization for Standardization (ISO) has also defined the following standards:

  • ISO 11898 (High-speed CAN bus, up to 1 Mbps)
  • ISO 11519 (Low-speed CAN bus, up to 125 Kbps)


Working Principles

The CAN bus is a broadcast-based communication system. A message sent by a device (LRU) is received by all devices connected to the bus. Each device has a filter to accept only relevant messages. Messages on the CAN bus do not contain source or destination addresses. Instead, each message has a unique identifier, and devices determine whether the message is relevant to them based on this identifier.


For example, let’s assume LRU 1, a fuel quantity processor unit, sends fuel data on the CAN bus (e.g., ID=6BC hex). LRU 2, a water quantity unit, receives the message but ignores it because it is irrelevant. However, LRU 3, a fuel quantity display unit, accepts and uses the data to show the fuel level.


A CAN bus data frame consists of seven different fields:


1. Start of Frame (SOF): A single dominant bit that marks the beginning of a message.

2. Arbitration Field: Contains the identifier and Remote Transmission Request (RTR) bit. This field distinguishes between data frames and remote frames (used for data requests).

3. Control Field: Includes the Identifier Extension (IDE) bit, which differentiates between standard (CAN 2.0A) and extended (CAN 2.0B) frames. It also contains the Data Length Code (DLC), which specifies the number of data bytes.

4. Data Field: Contains the actual message (up to 8 bytes).

5. Cyclic Redundancy Check (CRC): Ensures data integrity.

6. Acknowledgment (ACK) Field: The ACK slot is normally recessive (1). If the receiver correctly receives the message, it sends a dominant (0) bit to acknowledge. The ACK delimiter is always recessive (1).

7. End of Frame (EOF): Consists of 7 recessive bits, marking the end of the message.


A message with the lowest numerical identifier has the highest priority. Bitwise arbitration resolves bus collisions by ensuring that a dominant (0) bit always overwrites a recessive (1) bit.


CAN Bus Protocol Structure Frame


Advantages of the CAN Bus

  • No need for a central network controller. Any node with a higher-priority message can send data.
  • Bitwise arbitration prevents message retransmissions—only the highest-priority message remains on the bus.
  • No need to wait for token passing, unlike token-ring networks.
  • No need for collision detection circuits like Ethernet—CAN’s arbitration mechanism ensures only one message is active at a time.
  • The speed limit is determined only by the bus’s maximum capacity. The CAN bus never crashes or locks up.
  • The data speed decreases as the bus length increases. For ISO 11898-compliant devices:
  • 40 meters → 1 Mbps
  • 100 meters → 500 Kbps
  • 200 meters → 250 Kbps
  • 500 meters → 125 Kbps





Bibliographies

RMC. (t.y.). CAN Bus (Controller Area Network) nedir ve diğer araç Bus veri yolu ağları ile nasıl karşılaştırılır? RMC Teknoloji ve Otomasyon Sistemleri. https://rmc.com.tr/can-bus-controller-area-network-nedir-ve-diger-arac-bus-veri-yolu-aglari-ile-nasil-karsilastirilir/


Aviation Today. (2009, May 1). CAN Bus in aviation.https://www.aviationtoday.com/2009/05/01/can-bus-in-aviation/


You Can Rate Too!

0 Ratings

Author Information

Avatar
Main AuthorBeyza Nur TürküJanuary 29, 2025 at 10:11 AM
Ask to Küre