CAN Bus Troubleshooting
A Simple Explanation
CANBUS is a high-speed network which requires high quality wiring in order to operate properly. As such, it is sensitive to improper wiring. The majority of CANBUS communication problems are caused by poor wiring, incorrect termination, or the use of multiple frequencies on the same bus.
The Controller Area Network (CAN) is a bus structure originally designed for automotive applications, but it has also found its way into other areas. The CAN bus is a balanced (differential) 2-wire interface running through a shielded twisted pair (STP). Several different data rates are defined by the standard, with 1 Mb/s being the fastest & 125Kb/s the slowest for CAN. Issue in the physical layer of CAN network can lead to failure of nodes or corruption of messages transmitted in the bus. Most of the problems discussed in the article can introduce intermittent error frames, it can even lead to failure of the BUS. We often get away with these issues at low baud rates. Errors tend to start becoming particularly noticeable around 250kbps.
Most common CAN Bus physical layer problems are.
Improper CAN Termination.
Improper CAN Voltage levels.
In this article we will discuss on how to identify and resolve these issues.
CAN Bus Termination
The termination is used to match impedance of a node to the impedance of the transmission line being used. This is required to avoid reflections that are caused by digital data communications. The resistors act as an “electrical shock absorber” and if they are not fitted correctly, the digital signals will “bounce” off the end of the data Bus, causing noisy reflections. This will have a significant effect on the performance of the CAN Bus. If the source, transmission line and load impedance are equal these reflections are eliminated.
This test measures the series resistance of the CAN data pair conductors and the attached terminating resistors.
Tum off all power supplies of the attached CAN nodes.
Measure the DC resistance between CAN H and CAN L at the middle and ends of the network.
The measured value should be between 45 Ω and 65 Ω. The measured value should be nearly the same at each point of the network.
If the value is below 45 Ω.
Ensure that there is no short circuit between CAN H and CAN L Line, not more than two terminations, no faulty transceivers in the line.
If the value is above 65 Ω.
Ensure that there is no open circuit between CAN H and CAN L Line, and check whether the line has two 120 Ω resistances or not.
DB9 120 Ohm terminal resistor
If there is no existing termination for the can nodes, we can use an external DB9 120 Ohm terminal resistor which can be directly placed in a can network. It is having a 120 Ohm terminal resistor between the CAN High / CAN Low pins.
Influx Technology branded 120 Ohm termination adapter. Highly recommended to terminate the CAN bus.
CAN Bus Voltage Level
CAN communication problems may result due to wrong voltage levels in the BUS is incorrect. Each node contains a CAN transceiver that outputs differential signals. When the network communication is idle the CAN_ H and CAN_ L voltages are approximately 2.5 volts. Faulty transceivers can cause the idle voltages to vary and disrupt network communication.
To test the voltages:
Tum on all supplies.
Stop all network communication.
Measure the DC voltage between CAN High and Ground
Measure the DC voltage between CAN_ Low and Ground
Normally the voltage should be between 2.0 V and 4.0 V.
If it is lower than 2.0 V or higher than 4.0 V, it is possible that one or more nodes are faulty.
For a voltage lower than 2.0 V please check continuity of CAN High & CAN Low lines.
For a voltage higher than 4.0 V, please check for excessive voltage.
CAN Bus - A Simple Intro
CAN Errors - Understanding the basics
Message Filters in CAN
Understanding CAN DBC
Baud Rate - A Basic Understanding
CAN Bus Grounding
On your desk, CAN without ground is fine. With 20 nodes, it is not. High Speed CAN requires proper grounding to function effectively. The single-point grounding can avoid the ground reflux (which is caused by the different ground potential at different locations), and the multi-point grounding can speed up the release of high-frequency interference signals. Therefore, it is necessary to choose the appropriate grounding mode according to the actual situation.
In a vehicle Shield should be grounded directly to vehicle ground, using wire conductor to one single point, with lowest impedance connection possible, preferably close to the center of the network.
CAN Transceiver test
CAN transceivers have one circuit that controls CAN_H and another circuit that controls CAN_L.
Experience has shown that electrical damage to one or both of the circuits may increase the leakage current in these circuits.
To measure the current leakage through the CAN circuits, please use a resistance measuring device and:
1. Disconnect the node from the network. Leave the node unpowered (see figure below).
2. Measure the DC resistance between CAN_H and CAN_GND (see figure below).
3. Measure the DC resistance between CAN_L and CAN_GND (see figure below).
Normally the resistance should be between 1 MS and 4 MS or higher. If it is lower than this range, the CAN transceiver is probably faulty.
To know more on how Influx data loggers can help you in CAN data acquisition applications, Click here.