German English

CAN - Controller Area Network

(0 votes)

The Controller Area Network is the first Class-C and thus the first high-speed bus system that was used in motor vehicles.

CAN – Controller Area NetworkCAN - Controller Area Network

It was developed by Bosch and introduced in 1991 with the then-new Mercedes S-Class. The first semiconductor came from Intel. The bus system is now the standard bus system in motor vehicles. Originally designed only for the drive train, it is now in virtually all areas of the vehicle, such as bodywork, chassis, etc. represented.

General

The Bosch specification is virtually unchanged to this day the basis of the bus system you dar. was acquired in 1994 as ISO 11898 in the official standardization.

CAN wurde 1994 als ISO 11898 standardisiertCAN was standardized in 1994 as ISO 11898

In data-link layer, there are two versions: The necessary for the addressing and arbitration so-called message identifiers (CAN-ID) are available with 11 and 29 bits in length. Both versions can coexist on the same bus system that can be so parallel.

At the physical layer, there are three variants that are not compatible with each other: High-speed CAN, low-speed CAN and one driven by General Motors, the U.S. standard version with only a data line (single-wire CAN) . There is also a version for commercial vehicles, standardized in the SAE J1939 and a number of embodiments for industrial automation. The best known is the CAN in Automation (CANopen, DeviceNet).

CAN itself is a bus system that is at the level of Layer 1 and Layer-2 of the standardized ISO / OSI reference model. The higher levels were not originally standardized. There are now but with the ISO 14229 and ISO 15765, at least for the diagnosis and standards at the application level.

Physical layer and bus topology

CAN uses a bit stream based transmission using a bidirectional two-wire line in the standard version. The controllers are connected via a short spur lines to this bus, shown at left. The permissible length of a spur line depends on the bit rate. At 1 Mbit / s is that the branch lines should be no longer than about 30 centimeters. The high-speed CAN supports bit rates up to 1 Mbit / s. But is typically only 500 kbit / s operation. His bus lines should be completed at the two bus ends with a terminator. Bus length and bit rate are in an inverse relation. As a rule of thumb: at 1 Mbit / s, a bus length according to maximum 40 to 50 meters, at a lower bit rate longer.

CAN – Physical Layer und Bus-TopologieCAN - Bus physical layer and topology

In the right figure, the signals and the levels for the three different physical layer of CAN are compared. Due to the different signal levels are the physical layer incompatible and can not be run on one bus.

The low-speed CAN was introduced for two reasons. First, it is somewhat easier to implement because it requires no resistors and stubs must be somewhat longer. Second, and this is the decisive advantage of the low-speed CAN is fault tolerant to a limited extent. Disruption of a single line or a line to ground short circuits, battery voltage, or to other lines of this bus system can tolerate.

Data Link Layer

The CAN bus system is in idle state at logic high. This is also the recessionary signal. Once a control unit for at least three bit times has detected that the bus system is at rest, may at any time begin to send a CAN frame, as illustrated. The CAN frame begins with a zero bit, the so-called Start-Of-Frame bit - zero is the dominant signal in CAN. Then comes the 11 or 29-bits of CAN-identifier that identifies the contents of the message is clear and that is used simultaneously for the arbitration. The CAN identifier is set as the most significant bit first. If, on the bus to a collision, wins this ensures the message, that CAN-ID is the lowest in other words, the CAN-ID has the most leading zeros.

CAN-Frame BotschaftsformatCAN message frame format

According to the CAN-Identifier is followed by seven control bits contain the most important information, the data length of the following useful data. The payload can be between 0 and 8 bytes long. In the end, followed by a 25 bit long trailer. It mainly contains a 15-bits of CRC. It also contains the so-called acknowledge bit. This is a bit of confirmation that the recipient or recipients have received the message correctly. Furthermore, in the trailer a few control bits are available on completion of the frame.

CAN itself is a broadcast system is dar., each receiver can receive all messages. About the message identifier, he selects the messages that interest them. Typically, this selection is realized within the communication controller. Is called the selection filter, defined in those which CAN identifier is to be received, as an acceptance filter.

The maximum transmission length of a CAN message is at a bit rate of 500 kbit / s at approximately 220 microseconds for 11-bit IDs and 260 microseconds for 29-bit IDs. On this basis, a data rate of about 33 kB / s. In 29 bit IDs is 10% less.

The message format is shown here in the picture is not exactly the message format that can be found on the physical plane again. The communication controller scattered within the embassy, ​​a number of additional bits, called stuff bits. Stuff bits are complementary bits that are inserted, if not for 5 bit times, the signal changed. They are used to synchronize the transmitter and receiver and can thus increase the number of bits to be transmitted by up to 20%. Of these, however, the user sees when he's not measuring an oscilloscope on the bus line, nothing. The stuff bits are sending from the communication controller and automatically inserted in receiving again automatically removed.

CAN is a very fail-safe communication system. It is capable of busweit provide data consistency. That is, when a controller detects an error, then it sends the so-called error frame. So that all other control devices, that this message does not in any way valid. The sender of the message then repeats automatically send this message. The same applies to a lost arbitration. The transmitter automatically repeated. Dis is all task of the bus controller. The user need not worry about it. If a bus controller often finds errors, then it will shut off gradually as well. The first error level set itself to passive, that is, the controller can still receive messages, but no longer actively sending. In the next stage, he may even shut down completely. This failure mechanism avoids a "bombard" the bus by faulty I / O controller, called "babbling idiot." Conversely, a bus controller when a fault disappears, the capacity of automatically returned to work. This takes the communication controller, a whole series of tasks that would otherwise be performed by software.

See also

  • Created
    12. January 2011
  • Version
    5
  • Amended
    06th October 2011
  • Hits
    2171

Comments 

 
0 # Dipl.-Ing (FH) - slossin 2011-10-06 09:10
Correctly, it should at the user data rate 33kbyte / s hot. 33byte / s would be a bit slow.
Answers | Reply with quote | Quote