Controller Area Network (CAN)

The Controller Area Network, or CAN, protocol is a serial communication protocol originally developed by Robert Bosch GmbH for use in serial communication networks in vehicles. Several major auto manufacturers are either currently using CAN networks in their vehicles or are developing them for future vehicles. In addition, CAN is becoming very popular for use in factory-floor automation-type industrial networks. The major players in industrial automation, including Allen-Bradley, Honeywell and Eaton Cutler-Hammer are all manufacturing CAN-based industrial control systems, and are publicizing their beliefs that the CAN protocol is the best solution for this type of control network.

The CAN specification addresses the lowest two layers of the ISO's Open Systems Interconnect (OSI) Reference model for communication protocols, the Data Link Layer and the Physical Layer. However, while certain aspects of the Physical Layer are addressed by the CAN protocol, its primary purpose is to define the aspects of the Media Access Control (MAC) sublayer and a small part of the Logical Link Control (LLC) sublayer of the Data Link Layer. Almost all aspects of the Physical Layer (data rate, choice of media, etc) are left to the user.


SOME PROPERTIES OF THE CAN PROTOCOL:

  • CAN is a multi-master protocol which utilizes non-destructive collision resolution to ensure the highest priority message is transmitted

  • The message prioritization is defined by the user, with a guaranteed maximum latency for the highest priority messages

  • A flexible system configuration allows the user to create the network which best fits the application

  • Error detection and error signaling features are built into the CAN protocol, along with automatic retransmission of corrupted messages

  • A distinction between temporary errors and permanent node failures prevents faulty nodes from causing long-term disruptions of network traffic


CAN Specification ver. 2.0

The most recent version of the CAN specification is version 2.0, released in 1991. This version is divided into 2 parts, cleverly named Part A and Part B. Part A is simply a restatement of the previous revision (version 1.2), while Part B adds the definition of the 29-bit Extended Identifier message format to the existing 11-bit Standard Identifier message format defined in the earlier CAN specifications. All current Motorola HC05-based CAN devices support only the 11-bit identifier, and therefore are considered to be compliant with the CAN specification version 2.0 Part A.

The CAN specification is available to download (198K) in Adobe's pdf (Adobe Acrobat Reader required).