|GF54.00-P-0005A||CAN data bus, function||3.7.96|
|The CAN data bus (Controller Area Network) is a data bus system specifically designed for used in vehicles.
The CAN data bus is a bi-directional bus, that is, each connected control module is able to send and receive information.
The CAN data bus consists of a special twisted two-core cable. The users (control modules) are connected to this cable. Transmission of data takes place redundantly via both cables, whereby the data bus levels are mirrored (that is, if the level on one cable is 0, the other cable transmits level 1 and vice versa). The twin-line concept is used for two reasons: for fault identification and as a safety concept.
If a voltage peak occurs on just one line (e.g. due to EMC problems), the receivers can identify this as a fault and ignore the voltage peak.
|If a short circuit or interruption occurs on one of the two CAN lines, a software-hardware linked safety concept allows switching to single-line operation. The defective data line is shut down.
A specific data protocol controls how and when the participants can send and receive.
The CAN data bus is significantly different to other data bus systems that are based on the participant addressing principle, in that it uses a message-related addressing system.
That means, every CAN message is assigned a fixed address (identifier), which identifies the CAN message content (e.g. coolant temperature). The CAN protocol allows up to 2048 different CAN messages, whereby the addresses from 2033 to 2048 are permanently assigned. Data capacity per CAN message is 8 bytes.
|A recipient only evaluates those CAN messages (data messages) which are stored in its list of CAN messages to be accepted (acceptance filtering).
Data messages can only be sent when the CAN data bus is free (i.e. once a 3 bit interval has elapsed after the last data message, and no control module starts to send). The data bus level is then in recessive state (logical 1).
If several control modules simultaneously start to send, a procedure initiates,
|in which the highest priority CAN message is transmitted, without incurring a time or bit loss (arbitration).
Every control module that loses the arbitration, automatically reverts to receiver and repeats its transmission attempt as soon as the CAN data bus becomes free.
Besides data messages, there is also a request message used for calling a particular CAN message.
The control module that can provide the requested data message then reacts to the request.
|CAN data bus data telegram||GF54.00-P-0005-01A|
|CAN data bus specification||GF54.00-P-0005-02A|
|CAN data bus fault identification||GF54.00-P-0005-03A|
|CAN data bus applications||GF54.00-P-0005-04A|
|GF54.00-P-0005F||CAN data bus, function||11.7.96|
|Example of engine CAN data bus
Models 129, 140, 163, 168, 170, 202, 203, 208, 210
TO1 Instrument cluster
N3/4 HFM-SFI [HFM] control module
N3/5 ECM control module up to 08/01
N3/10 ME-SFI [ME] control module
N3/18 ECM control module with throttle valve actuator as of 09/01
N15/3 ETC control module (in part Special Equipment)
N15/4 AKS control module (Special Equipment)
N19/1 Tempmatic air conditioning (TAC) pushbutton control module (in part Special Equipment)
cc Air conditioning (AAC) pushbutton control module (in part Special Equipment)
N47-1 ASR control module
N47-2 ETS control module
N47-5 ESP control module
N47-7 ABS control module
N54 RCL control module
N54/4 Radio frequency/infrared DAS [FBS] control module
N65 Cycling module Models 170, 210
Y3/7n2 Front-wheel-drive transmission control (FTC FGS) control module (Special Equipment)
|Example of engine CAN data bus, model 220 with engines 112, 113
TO1 Instrument cluster
N3/10 ME-SFI [ME] control module
N15/3 ETC (electronic transmission control) control module
N15/5 Electronic selector lever module control module
cc AAC pushbutton control module
N47 Traction system control module
|N51 AIRmatic with ADS control module
N63/1 Control module for DTR (SA)
N73 DI control module
N80 Steering column module
CAN B Engine CAN data bus
CAN C Body CAN data bus
Data transfer between individual control modules
Readying sensor signals for several systems
Reducing the number of electric cables
Improving electromagnetic compatibility
The CAN data bus consists of a special twisted two-core data line that connects all CAN users (control modules) in parallel. The two wires of the data line must not be mixed up (low or high level).
The engine control module and the RCL control module are always consumers with regard to bus adaptation. A 120 terminating resistor is therefore installed in the engine control module (except for the ME-SFI control module with engine 120, which is equipped with a 240 resistor). A 120 terminating resistor is installed in the DAS control module.
If the resistance of the CAN data line is measured (with the ignition switched off!) the various terminating resistors in the consumers are connected in parallel.
The data is transmitted digitally over the CAN data bus at various intervals. The individual data blocks are defined in a protocol and it is specified which data are received or transmitted by a control module.
Each connected control module is able to transmit or receive data.
The total of the data blocks, the short pause between two transmission intervals and further properties of the CAN data bus, are constantly checked. Any faults detected are stored.
Vehicles with electronic ignition switch control module (N73)
A distinction is made in the vehicle between the fast CAN engine data bus (CAN-C) and the slightly slower CAN body data bus (CAN-B). They are connected (via a gateway) in the electronic ignition switch control module (N73).
CAN data bus, see wiring diagrams.
|GF54.00-P-0005-01A||CAN data bus data telegram||all|
|During normal operation, messages consist of the following transfer frames:
for transmitting CAN messages (such as coolant temperature, etc.).
for requesting CAN data from a different control unit.
informs all connected control units that an error has occured and that the most recent CAN message is invalid.
|The CAN protocol supports two different data frame formats, with the only difference residing in the length of the identifier:
- Standard format
- Expanded format
Only the standard format is currently in use at DaimlerChrysler.
|The data telegram for transmitting CAN messages through the CAN data bus consists of seven sequential blocks:
Start of frame: indicates the start of the CAN message
(Start bit) and synchronizes all stations.
Arbitration field: This field consists of the identifier
(identifier and) (address) with 11 bits and one control bit
request) (remote transmission request bit). This control bit indicates if the message contains a data frame or a remote frame without bytes.
Control field: The control field (6 bits) contains the IDE bit (identifier extension bit) to distinguish
(control bits) between the standard and expanded format, a reserved bit for future expansions and the number of bytes contained in the data field in the last 4 bits.
| Data field: The data field can contain between 0 and
(data) 8 bytes of data. A CAN message with a length of 0 can be employed to synchronize distributed processes.
CRC field: The CRC field (cyclic redundancy
(check field) check field) consists of 16 bits and is used to detect transmission errors.
ACK field: The ACK field (acknowledgment field)
(receipt contains a confirmation signal from all
confirmation) receivers that have received the CAN message without error.
End of frame: Marks the end of the message.
| Intermission: The interval between two messages.
(Intermission) The interval must contain at least 3 bits. The next message can then be sent by any control module.
| IDLE: If none of the control modules transfer data, the
(idle) CAN data bus remains idle until the next message is sent.
|GF54.00-P-0005-02A||CAN data bus specification||all|
|In order to be able to process data in real time, it must be possible to transfer data quickly.
This presupposes not only a quick physical data path but also demands a quick CAN data bus division when multiple control units simultaneously want to transfer.
To distinguish between the importance of different CAN messages that are being sent over the CAN data bus there exists priorities for the individual messages.
The ignition angle, for example is assigned high priority, the slip value medium priority and the outside temperature has a lower priority.
|The priority by which the CAN message is established is through the identifier of the (address) particular CAN message
An identifier which corresponds to a low binary number has a high priority and vice versa.
The CAN protocol is based on two logic states: The bits are either "recessive" (logic 1) or "dominant" (logic 0). If a dominant bit is sent by at least one station, recessive bits sent by other stations are overwritten.
If several control modules transmit a message at the same time, the conflict of bus access is solved by means of bus arbitration using the appropriate idenitifers.
The transmitor checks every bit when the arbitration field is sent whether it is able to be sent or whether another control unit is sending a CAN transmission of higher priority.
If a recessive bit transferred by the first sending unit is overwritten by a dominant bit from another sending unit, the first sending unit looses its right to transmit (arbitration) and it becomes a receiver.
The first control module (N I) looses the arbitration with bit 3.
The third control module (N III) looses the arbitration with bit 7.
The second control unit (N II) maintains bus access and can send its CAN massage.
|The other control units then try to send their CAN messages when the CAN data bus is free.The right to send is newly divided according to the priority.|
|GF54.00-P-0005-03A||CAN data bus fault identification||all|
|Faults which occur during data transfer can result in errors. These transmission errors must therefore be detected and rectified. A distinction is made between two levels of fault identification in the CAN protocol:
Mechanisms at the data frame level
Mechanisms at the bit level
Mechanisms at the data frame level
Cyclic redundancy check:
The transmitor establishes test bits from the CAN messages that are to be sent in the data telegram "CRC Field"The receiver calculates these test bits from the received CAN message and compares them to the received test bits.
This mechanism checks the structure of the transferred frame by comparing the bit fields with the specified fixed format and frame length.
Errors detected using the frame check are referred to as format errors.
Mechanisms at the bit level
During transmission every station observes the CAN data bus gauge and recognizes the difference between sent and received bits. Both global and local bit errors which occur at the sending unit can therefore be detected.
In each message, a maximum of 5 successive bits may have the same polarity between the "start of frame" and the end of the "CRC field". After 5 consecutive identical bits, the sending unit inserts a bit of the opposite polarity into the bit stream. The receiver removes these bits again after the CAN message reception.
If the a certain station on the CAN data bus detects an error then the running trasmission is interupted by an error message. The error message consists of 6 dominant bits.
|When an error message appears a local error is distributed to all the connected control units so that they ignore the transmitted CAN message.
After a short interuption the other control units can transmit CAN messages again according to their priority.
The control unit whose CAN message caused the error also begins to send its CAN message again (Automatic Repeat Request).
|GF54.00-P-0005-04A||CAN data bus applications||all|
|At this time different CAN data bus systems are used for the engine compartment and the passenger compartment. They differ from one another by the rate of transmission.
The CAN engine bus CAN C has a transmission rate of 125 kbit/sec and the CAN passenger bus CAN B has a transmission rate of 83 kbit/sec due to the less critical CAN messages.
The data transfer between both data bus systems transpires over so-called "gateways" which are control units that connect both.
CAN C/CAN engine compartment
On the last control unit on both sides sits the so-called data bus conclusion that has a resistance of 120 and is switched between both pathways.
The CAN engine compartment is only active when the ignition is turned on.
|CAN B/CAN passenger compartment
Many of the control units that are found in the CAN passenger compartment are not dependant upon the activation of the ignition (for example, central locking).
In this case the CAN passenger compartment has to be accessible with out ignition. This means that it can transmit data telegrams without the ignition being activated.
To keep the resting energy consumption as low as possible the CAN data bus goes into a "sleeping mode" if no data telegrams are being transmitted and is activated again when the data bus is accessed.
If a "sleeping" CAN passenger compartment control unit sends a CAN message ( for example, the central locking control unit) then the CAN message will only be received by the master (electronic ignition switch, EZS).The EZS saves the the CAN message and sends an activation message (wake-up) to all the control units in the passenger compartment.
When waking the control modules, the EZS checks that all stations at available on the CAN data bus and then sends the message previously stored.