Understanding CAN Bus Physical Layer
Understanding CAN Bus Physical Layer
Bidirectional communication in a CAN bus system occurs at both the on-frame and within-frame levels. On the on-frame level, each ECU can both send and receive entire frames from other ECUs without needing a central controller, forming a peer-to-peer network. During the within-frame level, bidirectional communication involves an acknowledgment (ACK) slot. When an ECU transmits a frame, the ACK slot initially remains at a recessive state (1). Upon receipt of the frame by any other ECU, the slot is driven to a dominant state (0) to signal successful reception. If the transmitting ECU reads a recessive ACK, it retransmits the frame knowing the message wasn't received .
Differential signaling in the CAN bus involves two wires, CAN_H and CAN_L, which help transfer data by creating a voltage difference (VDiff) between them. This approach minimizes the impact of external electrical noise and allows the bus to maintain the integrity of the signals over a single pair of wires. Differential signaling enables the CAN protocol to send data more reliably and efficiently across electronic control units (ECUs), which is crucial in automotive environments where multiple ECUs are interconnected .
High-speed CAN bus systems can operate at speeds up to 1 Mbit/s and are used for time-sensitive data, such as airbag, anti-lock brakes, and powertrain controls, where minimum reaction time is critical. The maximum cable length for high-speed CAN is limited to 40 meters to maintain data integrity. In contrast, low-speed or fault-tolerant CAN bus systems have speeds up to 125 kbit/s and are used for non-urgent modules like radio, GPS, and light control. They provide greater cable length flexibility, which is beneficial for less demanding applications. The differentiation allows time-sensitive data to have their own channel while less critical data can utilize lower speed systems to ensure overall efficiency .
The CAN protocol is used to transfer raw data across a network of Electronic Control Units (ECUs) using a two-wire, twisted-pair communication line, known as CAN high (CAN_H) and CAN low (CAN_L). It is favored in automotive networks because it simplifies the wiring needed among the modules, reducing complexity and errors that are prevalent with analog signal lines. Furthermore, it allows for efficient data transfer among up to 80 ECUs found in modern cars without the messiness and cost associated with analog signal lines .
The 'dominant' state in CAN signal transmission is characterized by a voltage difference (VDiff) between 0.9V and 2.0V, indicating a logical '0'. Typically, in this state, the CAN High (CAN_H) voltage ranges from 2.75V to 4.50V, and the CAN Low (CAN_L) voltage ranges from 0.50V to 2.25V, with standard values of 3.75V for CAN_H and 1.25V for CAN_L. The 'recessive' state indicates a logical '1' and occurs when the VDiff is less than 0.5V or between -1.0V and 0.5V. The state of the system switches according to the transmitted data frames for communication .
The 'Gateway' in vehicle CAN bus systems facilitates communication between modules on different bus systems. It connects high-speed and low-speed CAN bus systems to allow data exchange. For instance, when engine speed data from a high-speed CAN bus (such as the engine control module) needs to adjust the radio volume on a low-speed CAN bus, the Gateway allows this cross-communication. This setup supports functional integration and ensures seamless operation and user interaction regardless of the bus speed differences .
A malfunctioning ECU in a CAN network can generate excessive electrical noise, leading to signal interference or incorrect data transmission across the network. Since all ECUs communicate over the same bus lines, such disruptions can propagate through the system, potentially causing widespread malfunction or miscommunication between other ECUs. This can result in the loss of crucial functions like braking, stability control, or engine management, posing a significant risk to vehicle safety. Therefore, fault identification and isolation mechanisms are critical to maintaining overall system reliability and safety in automotive CAN networks .
CAN_H and CAN_L create a communication framework by generating voltage differences to represent binary states (0s and 1s) across ECUs, thereby forming a language or protocol for module interaction. The states translate into frames containing series of bits, which are further divided into fields with specific functions like start of frame, arbitration ID, control, data, CRC, acknowledgment, and end of frame. These fields carry not only data but also critical control information, facilitating synchronized communication among various modules in the vehicle, regardless of the distinct electronic systems they belong to .
If termination resistors are not correctly implemented in a CAN bus system, signals may 'bounce' back, causing data reflections that corrupt communication much like ghost images in an old analog TV. Such signal reflections can lead to erroneous data transmission and overall system instability, particularly in high-speed CAN systems. To resolve this, termination resistors are employed at the end of CAN_H and CAN_L lines, matching the cable impedance to 120 Ohms in high-speed CAN. This prevents signal reflections by absorbing the signals and thus stabilizing the communication across the network .
The arbitration ID in a CAN bus network is a part of the data frame that identifies the priority of the message. During data transmission, when multiple ECUs want to send messages simultaneously, the arbitration ID determines the order based on priority. The highest priority message wins arbitration and is sent first, while lower priority messages wait until the bus is free. This system ensures that critical messages are delivered promptly. Additionally, the arbitration ID indicates the address of the ECU intended to receive the message, enabling accurate and efficient data routing within the network .