FREE REPAIR MANUALS & LABOR GUIDES 1982-2013 Vehicles
Courtesy of Operation CHARM: Car repair manuals for everyone.

Part 1






Information about the CAN network, structure and function
This document explains how the structure of the CAN network, its function and how the on-board diagnostic system works. It also explains the circumstances under which diagnostic trouble codes (DTCs) are stored, as well as containing a few tips on how to conduct fault-tracing on the CAN network. Faults in the CAN network are often complicated to fault-trace because it is a distributed system and because diagnostic trouble codes (DTCs) are stored under different circumstances in different control modules.
The information in this document should ideally be used as a basis for understanding how the CAN network works, diagnostics for the system and how to carry out fault-tracing. There is no guarantee that it will help you find a fault source for a specific problem immediately. This document should be viewed as a supplement to the normal training information and is suitable for mechanics who have completed and understood the content of the "Volvo Automotive Networks" course.

Diagnostic functions in the central electronic module (CEM)
The central electronic module (CEM) is the only control module that monitors the voltage levels in the control area network (CAN). Only this control module can store diagnostic trouble codes (DTCs) for short-circuits between the CAN cables and ground or supply voltage (e.g. DTC CEM-DF14). However, other control modules can store diagnostic trouble codes (DTCs) for causes based on a short-circuit (e.g. DIM-E003). This is a small, but very important difference.

Note! The fact that the central electronic module (CEM) contains more diagnostics functions that other control modules does not mean that this control module is the cause of the fault. Do not replace the central electronic module (CEM) in the event of CAN-related faults unless an internal fault has been confirmed through fault-tracing in VIDA or using the information in this document.

The central electronic module (CEM) also has functions for determining whether other control modules have failed. All control modules on the CAN network must transmit and receive information. More specifically, all other control modules in the controller area network (CAN) must receive information from the central electronic module (CEM), and the central electronic module (CEM) must receive information from all other control modules in the controller area network (CAN). If a control module does not receive information from the central electronic module (CEM) it will store diagnostic trouble code (DTC) XXX-E003. If the central electronic module (CEM) cannot receive information from a control module it will store diagnostic trouble code (DTC) CEM-1A51 to CEM- 1A66 depending on which control module the central electronic module (CEM) is not receiving information from. For example, the climate control module (CCM) will store diagnostic trouble code (DTC) CCM-E003 if it does not receive information from the central electronic module (CEM), and the central electronic module (CEM) will store diagnostic trouble code (DTC) CEM-1A55 if it does not receive any information from the climate control module (CCM).
If there is an open-circuit in the CAN network, diagnostic trouble codes (DTCs) will be stored in pairs, one in the central electronic module (CEM) and one in the relevant control module. Note that this may result in the central electronic module (CEM) storing so many diagnostic trouble codes (DTCs) that it reaches its maximum (10).
These diagnostic trouble codes (DTCs) are explained in detail under Diagnostic trouble codes (DTCs) CEM-1A51 to CEM-1A66.

Diagnostic trouble codes (DTCs) for faults in the CAN network
Diagnostic trouble codes (DTCs) CEM-DF03 to CEM-DF16
The central electronic module (CEM) is the only control module that can detect a short-circuit to ground or to voltage. This is done by measuring the voltage level on the CAN cables via an internal voltmeter in the central electronic module (CEM) and as a result the diagnostic trouble codes (DTCs) CEM-DF03 to CEM-DF16 can be stored.

Note! There are different codes for the high speed and low speed networks. DF03, DF04, DF05 and DF06 refer to the low speed network while DF13, DF14, DF15 and DF16 refer to the high speed network.

There is no defined function for detecting an open-circuit in the CAN cables, but a number of diagnostic trouble codes (DTCs) will be stored as a result of an open-circuit. Diagnostic trouble codes (DTCs) CEM-DF03 to CEM-DF16 are the strongest indication of a fault in the CAN network, although the diagnostic trouble codes (DTCs) cannot localize the fault. Due to the criteria that cause these codes to be stored, diagnostic trouble codes (DTCs) can also be stored if the car is driven in areas with strong magnetic fields.
The CAN cables are monitored continuously for faults of this type. It can take up to ten seconds from the time the fault occurs until the diagnostic trouble code (DTC) is stored. Diagnostic trouble codes (DTCs) CEM-DF03 to CEM-DF16 are stored when the voltage on one of the CAN cables is higher than 4.5 V or lower than 0.5 V. A typical scenario when these codes are stored is when one of the CAN cables has been clamped together with a ground lead or a power supply cable.
Diagnostic trouble codes (DTCs) CEM-1A51 to CEM-1A66
The central electronic module (CEM) expects to receive a signal from each control module on the network. The control module stores a diagnostic trouble code (DTC) for faults in the communication with a control module, or "node not alive", if there is no communication for more than ten seconds.
The diagnostic trouble codes (DTCs) are normally stored in the event of an open-circuit in the CAN cables, a short-circuit to voltage or ground, when the control module has no supply voltage or if other circumstances cause the control module to stop communicating with the central electronic module (CEM). Combinations of diagnostic trouble codes (DTCs) CEM-1A51 to CEM-1A66 are very useful for localizing a fault in the network. See the "Multiple diagnostic trouble codes (DTCs) and extended diagnostics".
If the status of diagnostic trouble codes (DTCs) CEM-1A51 to CEM-1A66 is intermittent, always check that communication is possible between all control modules when carrying out repairs. Then check the power supply and ground for the affected control modules. The control module will not store a diagnostic trouble code (DTC) if it was without power when the fault occurred. The central electronic module (CEM) on the other hand will store diagnostic trouble code (DTC) CEM-1A5X or CEM-1A6X even if the control module has no power supply or is experiencing other CAN communication problems.

Diagnostic trouble code (DTC) XXX-E003 stored in control modules other than the central electronic module (CEM)
Diagnostic trouble code (DTC) XXX-E003 is stored when an incorrect CAN configuration ID is received from a control module within 5 seconds of start up. This means that the control module cannot receive the data message with the correct Master Configuration ID that the central electronic module (CEM) transmits. This is normally due to an open-circuit on the CAN cables or some other interference in communication.
The diagnostic trouble code (DTC) is intended to detect whether the central electronic module (CEM) has defective software, but is more common when there are faults in the CAN network or faults in the power supply to the control modules. A combination of E003- codes makes it easier to localize the fault, see "Multiple diagnostic trouble codes (DTCs) and extended diagnostics". On the other hand, the diagnostic trouble code (DTC) is not stored at the same time in all control modules. This depends on the power supply to the control modules (e.g. X / 15 / 15I / 30).
The diagnostic trouble code (DTC) can be stored if incorrect software is downloaded into a control module or if a control module is moved from one car to another. This is why moving control modules between cars is not permitted. If several or all control modules have stored diagnostic trouble code (DTC) E003, this may be due to an incorrect signal configuration having been downloaded into the central electronic module (CEM). This is not particularly likely in practice, however, but is more often due to a physical fault in the CAN network.
X/ 15I / 15 supplied control modules can detect the fault five seconds after the control module has been powered up (ignition on). The control module compares its own CAN configuration ID (SW version) with the CAN configuration ID that is continuously transmitted by the central electronic module (CEM). Diagnostic trouble code (DTC) E003 is stored by the control module if the central electronic module (CEM) ID is absent or is different from the anticipated value five seconds after the control module has been powered up. An incorrect CAN configuration ID may be the result of a control module having been taken from one car and installed in another, although the diagnostic trouble code (DTC) is usually stored due to the signal being completely absent. A control module that is supplied directly from the battery (30) does not follow the same start up procedure as other control modules, but receives information about the position of the ignition key via the CAN network. This means that a 30-supplied control module will not store diagnostic trouble code (DTC) E003 5 seconds after the ignition is switched on if there is a permanent fault. The control modules will store the diagnostic trouble code (DTC) after a time-out lasting approximately ten minutes instead.

Note! This means that for a 30-supplied control module, the diagnostic trouble code (DTC) will be stored or not depending on when then fault occurred.

A typical reason for E003 being stored is an open-circuit in the CAN cables. In this case, the diagnostic trouble code (DTC) is often stored together the codes CEM-1A51 to CEM-1A66.

Diagnostic trouble codes (DTCs) E000 and E001 in a control module (E000=HS-CAN, E001=LS-CAN)
Diagnostic trouble code (DTC) E001 indicates a fault in the data communication on the CAN network. This can be due to interference of various types or if a control module is sending incorrect messages. Monitoring for this type of fault takes place continuously. The diagnostic trouble codes (DTCs) are originally intended to indicate contact bounces of if incorrect messages are sent over the network, but can also be stored in the event of a short-circuit between the two CAN cables or if communication only functions on one of the two cables. It takes a couple of seconds from the fault occurring to its detection.
Another important cause of these codes is if a control module has been disconnected from the network without the battery cable having been disconnected from the negative terminal (in such cases removing the ignition key does not help) or if the signal on the CAN cables is "weak" or disrupted. This can occur if communication is only working on one of the CAN cables or if one of the network resistors in the network is not working. The network resistors on the low speed network are located in the upper electronic module (UEM) and the rear electronic module (REM). On the high speed network, the resistors are located in the anti-lock brake system module (ABS)/brake control module (BCM) and in the electronic throttle module (ETM), except for Bosch EMS MY02 and later where the resistors are located in the brake control module (BCM) and the engine control module (ECM).
In certain cases, the diagnostic trouble code (DTC) may be stored if a control module sends data at the wrong transfer speed or if the crystal in a control module is defective.

Diagnostic trouble codes (DTCs) in the event of lost signal, rapid indication of faults on the CAN network
Some control modules, such as the engine control module (ECM), the electronic throttle module (ETM), the anti-lock brake system module (ABS) and the transmission control module (TCM) continually check the existence of each other and store diagnostic trouble codes (DTCs) in the event of missing signals. These diagnostic trouble codes (DTCs) are often due to different driving conditions and combinations of diagnostic trouble codes (DTCs) are often stored which can make fault-tracing more difficult. When attempting to recreate the fault, there is no guarantee that the same combination of diagnostic trouble codes (DTCs) will be stored. The detection of these diagnostic trouble codes (DTCs) is often more sensitive and they are usually stored more easily than CEM-1A51 to CEM-1A66 or CEM-DF03 to CEM-DF16. This can therefore be an indication of a short-term intermittent fault having occurred on the CAN network.
Below is a selection of diagnostic trouble codes (DTCs) that may or may not be stored in the event of an intermittent fault on the CAN network:
- ECM-928C (Bosch), ECM-922A (Denso), only when the engine is running. These diagnostic trouble codes (DTCs) indicate that the control signal for the cruise control is missing or could not be received by the engine control module (ECM)
- ECM-901A, ECM-901E, ECM-902A, ECM-911A, ECM-912A and ECM-913A for Bosch and ECM-901A, ECM-902A, ECM-911A, ECM-912A for Denso
- SRS-00D6, time-out for the seat belt buckle. This diagnostic trouble code (DTC) indicates that the supplemental restraints system module (SRS) has not received the status of the seat belt buckles from the central electronic module (CEM). The sensor for the seat belt buckles is directly linked to the central electronic module (CEM)
- SRS-00D5, status of the SRS indicator lamp in the driver information module (DIM)
- Discrepancies in the signal from the pedal position sensor between the directly connected signal and the signal over the CAN network. See the table below.






Multiple diagnostic trouble codes (DTCs) and extended diagnostics (counters and freeze frames)
The detection time for faults in the CAN network varies depending on the diagnostic trouble code (DTC). This means that for different fault occurrences, different diagnostic trouble codes (DTCs) can be stored in different control modules. Several diagnostic trouble codes (DTCs) in different control modules can be confusing and must be investigated at the start of fault-tracing to check for any link between the various codes.
It is now possible to read off extended diagnostic trouble code (DTC) information in VIDA, normally counters and frozen values. This can also help with fault-tracing on the CAN network as it can provide information about diagnostic trouble codes (DTCs) that are stored simultaneously. Remember that the function using counters can be implemented differently in different control modules, which can make it difficult to compare cycles between different control modules.
When performing fault-tracing on a car with many intermittent E003 and CEM-1A51 to CEM-1A66 diagnostic trouble codes (DTCs), this can be made easier by checking the affected control modules. Copy the diagram in the Data communication for the relevant car model, and write down all diagnostic trouble codes (DTCs) and counters at the relevant control modules. Check any conclusions can be drawn from where the diagnostic trouble codes (DTCs) are stored. If the diagnostic trouble codes (DTCs) are in control modules at one end of the CAN network, this can give an indication of where the fault may be located.