In this article we will talk about one of the most popular communication protocol in the on-board diagnostics (OBD)-II standard,which is Controller Area Network (CAN) Bus.
What is CAN Bus System?
A Controller Area Network (CAN) refers to a net work of independent controllers. It is a serial communications protocol that efficiently supports distributed real-time control with a very high level of security. The CAN bus standard was developed by Bosch and Intel and the version of the current standard has been in use since 1990.
Back in a day when the world was less concerned about environment,there were fewer sensors and modules in the car.At that time,all sensors and modules were connected by point to point wires because they did not need to be linked together for exchanging real time information.
However,as the environment regulation gets stricter,vehicles were required t have more and more sensors and modules to control emission from the exhaust pipe.
They need to share information in real time to effectively control emission.This mean more wire harnesses were required between modules,and therefor much more weight to the vehicle,more complexity of the system and eventually higher cost.
In order to optimize efficiency of the network,Robert Bosch GmbH came up with a new protocol in 1985,called CAN (Controller Area Network).CAN allowed different modules to communicate each other using a common cable.
In short, the Controller Area Network (CAN) is a standard used to allow Electronic Control Units (ECUs) to communicate in an efficient manner without a central computer. Messages are broadcast in a system that requires very little physical wiring making CAN bus low cost, robust and efficient. Applications of the CAN protocol include in particular automotive (cars, trucks, buses, commercial vehicles etc.), but also e.g. boats, drones and industrial automation.
As the automotive industry started to adopt CAN,International Organization for Standardization (ISO) released the CAN standard ‘ISO 11898’ in 1993.Later on ISO added several higher versions,for example,ISO11898-2 (High speed CAN) and ISO 11898-3(Low Speed/Fault Tolerant CAN).There are more types of CAN bus,but for the sake of simplicity of this article,we are not going to go over all the details of each types.
Let’s dive into major difference between two mostly used types:
High Speed CAN & Low Speed/Fault Tolerant CAN
In automotive industry,High Speed CAN (ISO 11898-2) has been the most widely used protocol among others due to its fast transfer rate and simplicity of wires between modules.High speed CAN allows up to 1 Mbit/sec and uses a linear bus with 120 ohms termination resistor located at each end.
Instead of having two termination resistors at the end,in Low Speed/Fault Tolerant CAN (ISO 11898-3),termination resistors are located at each modules and its overall resistance is around 100 ohms.Due to the individual termination at modules,Low speed/fault tolerant CAN allows the CAN bus to communicate in case of wire failure.It offers transfer rate (baud rate) from 40 Kbit/s to 125 Kbit/s.
CAN Bus Communication Advantages:
Low cost: ECUs communicate via a single CAN interface, i.e. not direct analogue signal lines, reducing errors, weight, costs
Centralized: The CAN bus system allows for central error diagnosis and configuration across all ECUs
Robust: The system is robust towards failure of subsystems and electromagnetic interference, making it ideal for e.g. vehicles
Efficient: CAN messages are prioritized via IDs so that the highest priority IDs are non-interrupted (key in e.g. vehicles)
Flexible: Each ECU contains a chip for receiving all transmitted messages, decide relevance and act accordingly – this allows easy modification and inclusion of additional nodes (e.g. CAN bus data loggers) – cf. below figure
How do CAN bus modules communicate?
CAN bus uses two dedicated wires for communication.The wires are called CAN high and CAN low. When the CAN bus is in idle mode, both lines carry 2.5V. When data bits are being transmitted, the CAN high line goes to 3.75V and the CAN low drops to 1.25V, thereby generating a 2.5V differential between the lines. Since communication relies on a voltage differential between the two bus lines, the CAN bus is NOT sensitive to inductive spikes, electrical fields or other noise. This makes CAN bus a reliable choice for networked communications on mobile equipment.
CAN power can be supplied through CAN bus. Or a power supply for the CAN bus modules can be arranged separately. The power supply wiring can be either totally separate from the CAN bus lines (using suitable gauge wiring for each module) resulting in two 2-wire cables being utilized for the network, or it can be integrated into the same cable as the CAN bus lines resulting in a single 4-wire cable. CAN bus cabling is available from multiple vendors.
When there is a problem in CAN line,symptoms could be ranging from communication error between modules to thoroughly no communication with a scan tool.You may diagnose it manually with a set of oscilloscope but probing onto correct pins on OBD port and analyzing the graph can sometimes be cumbersome.But what if your scan tool can check the CAN line with just DTC cable connected?
8
Automotive CAN Bus Trouble Repair & Diagnosis Check here:
G-scan2 Diagnose Automotive CAN Bus No Communication Error
Automotive CAN Bus Related Diagnostic Trouble Codes:
Note: This is only a partial list of all the possible U-codes.
U0001 High Speed CAN Communication Bus
U0002 High Speed CAN Communication Bus Performance
U0003 High Speed CAN Communication Bus (+) open
U0004 High Speed CAN Communication Bus (+) low
U0005 High Speed CAN Communication Bus (+) high
U0006 High Speed CAN Communication Bus (-) open
U0007 High Speed CAN Communication Bus (-) low
U0008 High Speed CAN Communication Bus (-) high
U0009 High Speed CAN Communication Bus (-) shorted to Bus (+)
U0010 Medium Speed CAN Communication Bus
U0011 Medium Speed CAN Communication Bus Performance
U0012 Medium Speed CAN Communication Bus (+) open
U0013 Medium Speed CAN Communication Bus (+) low
U0014 Medium Speed CAN Communication Bus (+) high
U0015 Medium Speed CAN Communication Bus (-) open
U0016 Medium Speed CAN Communication Bus (-) low
U0017 Medium Speed CAN Communication Bus (-) high
U0018 Medium Speed CAN Communication Bus (-) shorted to Bus (+)
U0019 Low Speed CAN Communication Bus
U0020 Low Speed CAN Communication Bus Performance
U0021 Low Speed CAN Communication Bus (+) open
U0022 Low Speed CAN Communication Bus (+) low
U0023 Low Speed CAN Communication Bus (+) high
U0024 Low Speed CAN Communication Bus (-) open
U0025 Low Speed CAN Communication Bus (-) low
U0026 Low Speed CAN Communication Bus (-) high
U0027 Low Speed CAN Communication Bus (-) shorted to Bus (+)
U0028 Vehicle Communication Bus A
U0029 Vehicle Communication Bus A Performance
U0030 Vehicle Communication Bus A (+) open
U0031 Vehicle Communication Bus A (+) low
U0032 Vehicle Communication Bus A (+) high
U0033 Vehicle Communication Bus A (-) open
U0034 Vehicle Communication Bus A (-) low
U0035 Vehicle Communication Bus A (-) high
U0036 Vehicle Communication Bus A (-) shorted to Bus (+)
U0037 Vehicle Communication Bus B
U0038 Vehicle Communication Bus B Performance
U0039 Vehicle Communication Bus B (+) open
U0040 Vehicle Communication Bus B (+) low
U0041 Vehicle Communication Bus B (+) high
U0042 Vehicle Communication Bus B (-) open
U0043 Vehicle Communication Bus B (-) low
U0044 Vehicle Communication Bus B (-) high
U0045 Vehicle Communication Bus B (-) shorted to Bus (+)
U0046 Vehicle Communication Bus C
U0047 Vehicle Communication Bus C Performance
U0048 Vehicle Communication Bus C (+) open
U0049 Vehicle Communication Bus C (+) low
U0050 Vehicle Communication Bus C (+) high
U0051 Vehicle Communication Bus C (-) open
U0052 Vehicle Communication Bus C (-) low
U0053 Vehicle Communication Bus C (-) high
U0054 Vehicle Communication Bus C (-) shorted to Bus (+)
U0055 Vehicle Communication Bus D
U0056 Vehicle Communication Bus D Performance
U0057 Vehicle Communication Bus D (+) open
U0058 Vehicle Communication Bus D (+) low
U0059 Vehicle Communication Bus D (+) high
U0060 Vehicle Communication Bus D (-) open
U0061 Vehicle Communication Bus D (-) low
U0062 Vehicle Communication Bus D (-) high
U0063 Vehicle Communication Bus D (-) shorted to Bus (+)
U0064 Vehicle Communication Bus E
U0065 Vehicle Communication Bus E Performance
U0066 Vehicle Communication Bus E (+) open
U0067 Vehicle Communication Bus E (+) low
U0068 Vehicle Communication Bus E (+) high
U0069 Vehicle Communication Bus E (-) open
U0070 Vehicle Communication Bus E (-) low
U0071 Vehicle Communication Bus E (-) high
U0072 Vehicle Communication Bus E (-) shorted to Bus (+)
U0073 Control Module Communications Bus A Off
U0074 Control Module Communications Bus B Off
U0100 Lost Communication with ECM/PCM A
U0101 Lost Communication with TCM
U0102 Lost Communication with Transfer Case Control Module
U0103 Lost Communication with Gear Shift Module
U0104 Lost Communication with Cruise Control Module
U0105 Lost Communication with Fuel Injector Control Module
U0106 Lost Communication with Glow Plug Control Module
U0107 Lost Communication with Throttle Actuator Control Module
U0108 Lost Communication with Alternative Fuel Control Module
U0109 Lost Communication with Fuel Pump Control Module
U0110 Lost Communication with Drive Motor Control Module A
U0111 Lost Communication with Battery Energy Control Module A
U0112 Lost Communication with Battery Energy Control Module B
U0113 Lost Communication with Emissions Critical Control Info
U0114 Lost Communication with Four-Wheel Drive Clutch Control Module
U0115 Lost Communication with ECM/PCM B
U0116 Lost Communication with Coolant Temperature Control Module
U0117 Lost Communication with PTO Control Module
U0118 Lost Communication with Fuel Additive Control Module
U0119 Lost Communication with Fuel Cell Control Module
U0120 Lost Communication with Starter/Generator Control Module
U0121 Lost Communication with ABS Control Module
U0122 Lost Communication with Vehicle Dynamics Control Module
U0123 Lost Communication with Yaw Rate Sensor Module
U0124 Lost Communication with Lateral Acceleration Sensor Module
U0125 Lost Communication with Multi-Axis Acceleration Sensor Module
U0126 Lost Communication with Steering Angle Sensor Module
U0127 Lost Communication with Tire Pressure Monitor Module
U0128 Lost Communication with Parking Brake Control Module
U0129 Lost Communication with Brake System Control Module
U0130 Lost Communication with Steering Effort Control Module
U0131 Lost Communication with Power Steering Control Module
U0132 Lost Communication with Suspension Control Module A
U0133 Lost Communication with Active Roll Control Module
U0139 Lost Communication with Suspension Control Module B
U0140 Lost Communication with Body Control Module
U0151 Lost Communication with Restraints Control Module
U0155 Lost Communication with Instrument Panel Cluster Control Module
U0161 Lost Communication with Compass Module
U0162 Lost Communication with Navigation Display Module
U0163 Lost Communication with Navigation Control Module
U0164 Lost Communication with HVAC Control Module
U0165 Lost Communication with Rear HVAC Control Module
U0167 Lost Communication with Vehicle Immobilizer Control Module
U0168 Lost Communication with Vehicle Security Control Module
U0169 Lost Communication with Sunroof Control Module
U0170 Lost Communication with Restraint System Sensor A
U0171 Lost Communication with Restraint System Sensor B
U0172 Lost Communication with Restraint System Sensor C
U0173 Lost Communication with Restraint System Sensor D
U0174 Lost Communication with Restraint System Sensor E
U0175 Lost Communication with Restraint System Sensor F
U0180 Lost Communication with Automatic Lighting Control Module
U0181 Lost Communication with Headlamp Leveling Control Module
U0182 Lost Communication with Front Lighting Control Module
U0183 Lost Communication with Rear Lighting Control Module
U0184 Lost Communication with Radio
U0185 Lost Communication with Antenna Control Module
U0187 Lost Communication with Digital Disc Player/Changer Module A
U0197 Lost Communication with Telephone Control Module
U0198 Lost Communication with Telematic Control Module
U0199 Lost Communication with Door Control Module A
U0200 Lost Communication with Door Control Module B
U0201 Lost Communication with Door Control Module C
U0202 Lost Communication with Door Control Module D
U0212 Lost Communication with Mirror Control Module A
U0222 Lost Communication with Door Window Motor A
U0235 Lost Communication with Cruise Control Front Distance Range Sensor
U0241 Lost Communication with Headlamp Control Module A
U0242 Lost Communication with Headlamp Control Module B
U0246 Lost Communication with Seat Control Module E
U0254 Lost Communication with Remote Start Module
U0293 Lost Communication with Hybrid Powertrain Control Module
U029A Lost Communication with Hybrid Battery Pack Sensor Module
U0301 Software Incompatibility with ECM/PCM
U0302 Software Incompatibility with TCM (Transmission Control Module)
U0303 Software Incompatibility with Transfer Case Control Module
U0321 Software Incompatibility with Ride Level Control Module
U0326 Software Incompatibility with Vehicle Immobilizer Control Module
U0327 Software Incompatibility with Vehicle Security Control Module
U0400 series codes Invalid data received from various modules
U0500 series codes Invalid data received from various modules
U3000 Control Module
U3003 Battery Voltage