TECHNOLOGY

What is CAN-Bus? Print

The Controller Area Network (CAN) was originally developed by Bosch for use in the automotive industry, but has since established itself as the standard bus system for mobile applications (under SAE ISO 11898). The high degree of reliability and the price/performance ratios offered by CAN make it the perfect network choice for your application.

STW-CAN_Graphic

Above: A typical CAN layout

A Controller Area Network (CAN) refers to a network of independent controllers, sensors, actuators, I/O modules, HMIs and other CAN-enabled devices. It is a communications protocol that efficiently supports distributed real-time control with a very high level of security. Components for CAN-based systems are available in large quantities at very reasonable prices due to their wide spread use.

A number of different capabilities (CRC, frame checking, acknowledgment, bit monitoring and bit stuffing) enables the CAN protocol to recognize errors in transmitted data caused for example by electromagnetic disturbances, and to correct them (transmission stop with error flag and automatic repetition of the message). Since the length of the data packages are limited to a maximum of 8 bytes of information per message, correction takes place with very little loss of time. 

The number of participants per network (in theory unlimited) depends on the type of chip used (transceiver, physical layer). With commonly used chips, 32, 64 or up to 110 (and, with restrictions, up to 128) nodes per network are possible (further extensions require repeaters or bridges). CAN is a "multi-master system" with line topology and real time capability. Unique "identifiers" contain information not directly related to the address of a participant, but to the contents of a message (i.e. temperature, rotational or linear speeds). All participants check out the identifier being transmitted and decide if the type of message is relevant to them (acceptance filtering). In this way all messages can be received from many or all of the participants simultaneously. The unique identifier also determines the priority of the message relating to bus access.

In case a number of participants try to access the bus simultaneously, the higher priority message is guaranteed to gain bus access (prevention of bus accessing conflicts through bitwise arbitration). For these reasons it is important to incorporate functional procedures and safety requirements into the process of defining identifiers. Standard format (11-bit identifier) and extended format (29-bit identifier) are two different message formats which can coexist on the same physical CAN-Bus. The specification CAN 2.0 B supports both formats, while CAN 2.0 A only allows frames with 11-bit identifiers. Through content oriented identifiers in a message, the system achieves a high degree of configuration flexibility and allows a simple extension of the network to include further devices. There are a number of higher protocols such as LBS (Agricultural Bus System), SAE J1939, OSEK, CAL (CAN Application Layer, the basis for the communications profile CANopen), DeviceNet and others which have been normalized or standardized. These are available on the so called "application layer".

The various semiconductor manufacturers offer CAN controllers with differing functionalities: one common type has one data buffer for transmitting and one for receiving - here the receive buffer is followed by a shadow buffer and the message filtering function utilizes the associated microprocessor ("Basic-CAN"). Another type has a number of buffers for managing and filtering multiple messages simultaneously ("Full CAN", reduces workload on CPU). In addition there are so called SLIO (serial linked I/O) devices, which require no further microprocessor but function only as CAN slave modules (for I/O extension).