CAN Newsletter magazine
As automotive CAN FD networks are proliferating throughout today’s road vehicles, it is important to diagnose, if there is a fault on the CAN lines. As new features find their ways into the vehicle, the number of CAN nodes increase as well as the overall complexity of the communication network has created the need for transceivers with network diagnostic capabilities.
Legacy CAN high-speed transceivers compliant with ISO 11898-2 served their purpose in delivering robust CAN communication throughout the vehicle, but lack the ability to communicate network fault conditions when they occur. Transceivers have, over time, migrated from an 8-pin component to more complex components by adding pins. These more complex components come in 14-pin packages, but are still basically the 8-pin components with an added nFault pin that marginally addresses a network fault condition. System-basis chips (SBCs) are also rapidly being adopted across numerous applications throughout the vehicle. As such, CAN FD transceivers and CAN FD SBCs must become smarter and need more capable interface with the MCU (microcontroller unit) than a general-purpose pin control. This interface could be Serial Peripheral Interface (SPI), which offers high bandwidth for communicating the latest features of a smarter transceiver or SBC.
Some of these components include fail-safe modes, which can intervene if a CAN node is otherwise stuck in a higher power state. This prevents the transceiver from needlessly draining the battery or allowing invalid data frames on the CAN network during certain fault cases. This article considers methods to avoid invalid data and how TI's CAN transceivers and SBCs can help a node’s local processor determine if an issue exists on the CAN network.
By understanding the amount and complexity of electronics is increasing each year, transceiver architecture improvements are needed. These new complexities need more useful information and control in order to enable the most robust CAN node architectures. Improved network diagnostics is one area that has been lacking. Electronic control units (ECUs) tend to follow a general architecture. It will consist of a local MCU, communication ports (CAN FD, LIN, Ethernet), and power. There will often be other specialized interfaces such as motor drivers, LED drivers, and cameras. The ECU’s primary function could be for advanced driver assistance system (ADAS), body electronics and lighting, infotainment and cluster, or even electric vehicle/hybrid electric vehicle (EV/HEV) applications. For such systems, CAN FD is an appropriate interface, because of its higher data throughput and robustness, when compared to other automotive communication options.
In applications like ADAS or radar, knowing if the CAN network has some common faults would be beneficial to the system designer or vehicle repair technicians. Understanding if there is a network fault and not just a faulty ECU and possibly general location could reduce help reduce down time. Knowing this difference allows services to avoid un-needed warranty component replacements. If the network has a fault that prevents communication between one or more of the nodes on the CAN network, diagnostics can be difficult. In comparison, in a scenario where only one ECU has an issue, communications may not be blocked, but some other action is required for resolution.
In many CAN FD networks, the CAN high (CAN_H) and CAN low (CAN_L) lines are used in a line topology with 120-Ω termination resistors at each end. Another CAN network configuration is a star topology with a central 60-Ω termination resistor. For our examples, we will consider a mostly linear, non-star topology. Figure 1 depicts a simplified three-node CAN network. The CAN FD transceiver must be able to handle certain network fault voltages that can swing between -42 V and +42 V for 12-V battery systems and between -58 V and +58 V for 24-V battery systems.
Legacy CAN transceivers from 8-pin to more capable 14-pin components have limited capability to communicate back to the MCU. 8-pin transceivers need all pins just for control, while 14-pin transceivers have added extra pins that can communicate limited information back to the MCU. Some 14-pin components have added the capability to detect certain network fault conditions such as CAN_H or CAN_L shorted to battery (Vbat), shorted to ground or being open (no termination between CAN_H and CAN_L). Communicating this fault information back to the MCU is challenging due to the single GPIO pin only communicating a high (logical 1) or low (logical 0) status. An example could be a nFault pin; a low indicates that a fault has occurred, but no real information is shared on what the fault was. Many SBC's include Serial Peripheral Interface (SPI) communication, yet the network condition communication between the transceiver and MCU has progressed very little.
Though it is possible to determine the presence and type of network fault, the location of the fault on the CAN network can influence how it appears to a connected transceiver. Let’s start our analysis by considering the three-node configuration in Figure 1 and applying different network faults. Network faults typically manifest as opens and shorts. Figure 2 and Figure 3 show different scenarios of CAN_H and CAN_L being open. The location of the open lines can determine whether the fault is detectable.
In Figure 2, the opening occurs at Node 2 or Node 3. The whole network could detect this fault condition because one or both terminations are missing. When the fault happens at Node 1, only Node 1 will detect the fault. Node 2 and Node 3 will detect a “good” network, because the end-point termination is intact and therefore cannot report that an opening has occurred at Node 1. Figure 3 provides further examples, where either CAN_H or CAN_L is open, but these may not hamper network communication. Network faults that are the result of a short have their own set of challenges. The short can be either CAN_H or CAN_L shorted to Vbat, Vcc, or ground, as well as CAN_H and CAN_L being shorted together. When shorted together, CAN_H and CAN_L could also be shorted to Vbat, Vcc, or ground.
News and reports