CAN Network
CAN-network (Controller Area Network)
General
CAN (Controller Area Network) is a standardized system for multiplex communication. Multiplex communication means that you can transmit messages between one or more control modules on the same wires without communication between the various control modules disrupting one another. Volvo has produced a new standard for multiplex communication, known as VOLCANO. VOLCANO is a further development of CAN and works with real-time processing, as well as prioritization. The description of prioritization is based on VOLCANO but named 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 wires CAN H and CAN L must not be confused with HS CAN and LS CAN, which indicate the speed of the CAN network. CAN H and CAN L are the names for the wires used to distribute the signals in the multiplex communications network.
Communication takes place using two wires. These two wires are twisted together and are made of a copper material.
The voltage levels for communication take place using differential voltage levels. Two twisted-pair wires and differential voltage levels are used because this makes the network less susceptible 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. When measured between the two CAN wires, with normal traffic on the network, the average voltage level is approx. 0.5 V.
Controller area network (CAN) message
The message consists of the following components:
- Identifier ("flag"), which indicates the message's identity and priority.
- 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 Controller area message is called a frame.
Prioritizing
Conflicts can occur in a network when several control modules wish to send a message at the same time. For example when the driver presses the brake pedal at the same time as the passenger changes the climate control settings and a passenger in the rear seat opens the power window.
For safe function the messages have to be prioritized. In addition the time delays which occur in case of queue situations must be held within reasonable limits. This is so that the customer does not experience the system as "sluggish" or slow.
To solve problems with conflicts and time delays there is a priority order of messages to ensure good functionality.
Prioritization of messages is determined by the number of zeroes at the beginning of a message, the more zeroes the higher the priority.
Prioritization occurs as follows:
- When the network is available, all the control modules that have "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 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).
However, 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 generate a diagnostic trouble code.
Diagnostic trouble codes (DTCs) can also be stored if the receiving control module does not "understand" the message it has received. Examples of this may include intermittent short-circuits between one of the CAN wires and voltage or earth.
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 modules. If any module has a signal configuration which does not tally with other modules, this module is unable to communicate with other modules. This means that all modules must have compatible signal configuration. The signal configuration is sometimes changed as new messages are added and old ones are deleted.
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), and others.)
- Which control module should do what (for example "you are control module in driver's door - you are control module in 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.
In the central electronic module (CEM), information is stored on which control modules are installed in this particular vehicle. This information is stored and retrieved from Volvo's central database when software is downloaded. The central electronic module (CEM) also contains information on which primary signal configuration is to be used in the vehicle. Information on the vehicle's signal configuration must be stored in all control modules connected to the CAN network so that they can communicate in the first place.
The signal configuration is a part of the software downloaded after a control module is fitted or replaced. When software is loaded to a control module, the information in the control module indicating, for example, that a new accessory has been connected is updated automatically.
Once software has been downloaded, some values may be changed according to the customer's requirements, for example whether lamp indication upon locking or unlocking the vehicle should be active, or the dip degree of the interior rear view mirror. These settings may disappear when new software is downloaded.
Software is downloaded via the Software Manager.
Note! Even if two cars appear identical, they may behave differently because of differing configurations, a parameter may have been modified by, e.g., the customer or workshop.