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

The Controller Area Network (CAN)






The controller area network (CAN)

General
CAN (Controller Area Network) is a standardized system for multiplex-communication. Multiplex communication means that several control modules can use the same cables for communication without traffic from one control module interfering with traffic from another.
Volvo has developed a new standard for multiplex communication - VOLCANO. VOLCANO is a development of CAN and uses real time operation and prioritizing. The description of prioritizing is based on VOLCANO but is designated CAN.

The standard for Control area network (CAN) specifies:
- That two cables should be used (CAN H and CAN L)
- Which voltage levels should be used
- What a message should look like
- How transfer errors should be handled.

Cables, CAN H and CAN L




The CAN H and CAN L cables must not be confused with HS CAN and MS CAN which are speeds on the control area network. CAN H and CAN L are a way of distributing signals within the multiplex communication network.
Communication occurs through two cables. These two cables are paired together.
The voltage levels for communication occur using differential voltage levels.
The reason for communicating using paired cables and differential voltage levels is that the network becomes less sensitive to interference.
The same message is transferred simultaneously by both cables, but different voltage levels are used.
- Binary 1 = 2.5 V on both CAN H and CAN L.
- Binary 0 = 4 V on CAN H and 1 V on CAN L.
When measured between CAN L and earth, the average voltage level is approx. 2.3 V.
When measured between CAN H and earth, the average voltage level is approx. 2.8 V.
These measurement values generally apply to "normal" traffic on the controller area network (CAN), i.e. if no fault has occurred that causes the control modules in the network to start transmitting error messages.
When measuring between the two CAN-cables, at normal traffic on the network, the average voltage level is approx. 0.55-0.90 V (up to max. 0.6-1.4 V)
Volvo's CAN-net meets ISO 11898-2. Other standard is 11898-3 where the voltage on CAN H changes from approx. 5 V to approx. 1 V, and CAN L from approx. 0 V to approx. 4 V when changing from logic "0" to logic "1". Other standard is SAE J2411 where only one cable is used for CAN-communication.

Note! Certain control modules, such as the Supplemental restraint system module (SRS) and the Brake control module (BCM), also have CAN communication for their own sensors. These networks are called internal controller area networks (CANs) and have nothing to do with communication on the general controller area network (CAN). These controller area networks (CANs) are only used to transmit data between the relevant sensor and the control module that the sensor is connected to.

Controller area network (CAN) message




The message consists of the following components:
- Identifier ("flag"), which indicates the message identity and prioritizing.
- Data information (value, information, etc.).
- Check sum, used to check that the message has arrived correctly
- Stop signal, which indicates that the message has finished.
A complete CAN-message is called a frame.

Prioritizing
Conflicts can arise in a network when several control modules try to transmit messages at the same time. For example, if the driver brakes at the same time as the front seat passenger changes the climate control settings and a passenger in the rear seat uses the power windows. To ensure safe operation the messages must be prioritized. In addition, the delays that arise when messages are queued must be reasonable. This is so the customer does not feel the system is slow.
To solve problems with conflicts and time delays there is a priority order of messages to ensure good functionality.
Prioritizing of messages is determined by the number of zeroes at the beginning of a message, the more zeroes the higher the priority.
Prioritizing occurs as follows:
- When the network is available all the control modules with "something to say" send bit one in their message.
- All the control modules detect what has been transmitted on the network
- If a control module has transmitted 0 those that have sent 1 stop and wait until the next time the network is available
- Those that transmitted 0 transmit bit two of the message
- If a control module has transmitted 0 as bit two those that have sent 1 stop and wait until the next time the network is available and so on.
The message with the highest priority (most zeroes at the beginning) "wins" and is sent first.
The end of a message is seven zeroes. The control modules then know that the network is available and a new message can be sent in priority order.

Two types of message
There are two types of message in the system:
- Periodical frames. These messages are sent regularly and give the present status of a parameter. They are used for information which is frequently updated, speed signals for example.
- Event frames, which are only sent when predetermined conditions have been met. This type of message is used for things that seldom occur, raising / lowering a window for example.
The message can contain an update bit which states how "fresh" the information is.
The system assumes that the receiver has received the message so an acknowledgement is not sent. A reply is only sent to a direct question from another control module.
On the other hand, the receiver "knows" how often it should receive a message about which status applies. If the message is missing the receiver can connect an emergency program and / or set a diagnostic trouble code (DTC).

Quality factor
In a distributed system where information (signals) is sent between different control modules in a network, it is usually the control module that generates/creates information (the signal) that knows the quality of the information that is sent. To be able to inform receiving control modules about the quality of information, a quality factor (Q-factor) is sent over the network at the same time as the information (signal). The quality factor describes status of the information (signal). For example, if the signal is defective due to a faulty sensor, a receiving control module can use the quality factor to decide if the control module shall take any action (e.g., reconfiguration).

The quality factor can be of the following status:
- Ok
The value indicates that the signal is normal and shows a credible status and accuracy.
- Outside specified range
Even though the value indicates that the signal is normal and may be usable, some fault has been detected that indicates that accuracy has been reduced so that performance may be affected or instability can occur.
- No data found
The value indicates that the signal has its initial start-up value and has not yet had time to receive measured or calculated value. This may occur when the control module's start-up process is not completely finished. As soon as the control module has started, the signal shall have a correct value. Receiving control module has a built-in delay to wait for correct signal.
- No data exists
The value indicates that the signal is faulty. This prevents the signal from being used by receiving control modules.





* Diagnostic trouble code may be stored.

Compatibility
The units must "speak" the same language and must be compatible with each other. A standardized communication protocol is used for this.
Signal configuration (sfg) contains the language between the units. If any module has a signal configuration which does not correspond to other units the module cannot communicate. This means that all the units must have compatible signal configuration.
To check this the central electronic module (CEM) transmits an identification number for its signal configuration over the controller area network (CAN). The other control modules receive this number and compare it with their own. If this identity does not correspond the control modules store a diagnostic trouble code (DTC). The signal configuration is occasionally modified so that the new messages are added and old messages removed.

Configuration
Instructions for the following are downloaded when a system is configured:
- Which control modules are included in the system (for example central electronic module (CEM)).
- Which control module should do what (for example "you are the control module for the driver's door - you are the control module for the passenger door").
- Which functions should be included (for example if the alarm function should be on or off).
- Which components are connected to the control modules (for example whether the inclination sensor is included in the alarm or not).
- Which messages a control module is to transmit and which it is to receive
- Where the different data should be stored.
The configuration must be changed (adapted) after installing accessories and it must be downloaded again after replacing any control module. The information is stored and retrieved from Volvo's central database when downloading software.

Note! Even if two cars appear identical they may behave differently because of differing configurations, a parameter may have been modified by the customer or workshop.