The CAN communication system is described below.


Because each ECU transmits data independently on the CAN bus, there are cases of data collision when multiple data frames that ECUs attempt to transmit simultaneously (if multiple ECUs transmit at nearly the same moment). At this moment, processing of the ECUs attempting transmission is performed in the following way.

  1. Data frame with high priority is transmitted first according to ID codes memorized in data frames.
  2. Transmission of low-priority data (data frames) is suspended by the issuing ECUs until the bus clears (when no transmission data exists on the CAN bus).
    note If the suspended state continues for a specific time, new data (data frame content) is created and sent.
  3. ECU containing suspended data frames transmits the data when the bus becomes available.
note There is enough capacity on the CAN bus, which never prevents data frames from being sent.


Data frame transmission through the CAN bus line involves voltage transformation (for output signals) in the distinctive CAN profile as follows. The ECU transmitting through the CAN_H and CAN_L bus lines sends 2.5 - 3.5 V signals to the CAN_H side and 2.5 - 1.5 V signals to the CAN_L side. The receiving ECU reads the data from the CAN_H and CAN_L potential difference. "Recessive" refers to the state where both CAN_H and CAN_L are under the 2.5 V state, and "Dominant" refers to the state where CAN_H is under the 3.5 V state and CAN_L is under the 1.5 V state. By transformation mainly to 2.5 V, even in cases when voltage is rendered 0 from faulty earthing or the like (causing a problem of an approximate 0.5 voltage increase on the communications line), communication can be continued uninterrupted. Employing dual communications lines improves reliability to prevent the presence of noise, compared to the conventional communication method.


The data frame, which is sent from each ECU (or sensor) to the CAN bus line, consists of the fields bellow.
SOF (Start of Frame)
ID (Identifier) region
Control region
Data region
CRC (Cyclic Redundancy Check) region
ACK (Acknowledge) region
EOF (End of Frame)


CAN protocol secures its reliability of communication by providing several error detection function such as CRC shown in data frame, and the recovery function (recovery is performed by resending, from abnormal state such as transmission errors). If an error is detected but it is not resolved even after recovery, communication is stopped. This state is called "Bus Off."