The CAN Bus - Introduction

The CAN protocol is an ISO standard (ISO 11898) for serial data communication. The protocol was developed aiming at automotive applications. Today CAN has gained widespread use and is used in industrial automation as well as in automotives and mobile machines.

The CAN standard includes a physical layer and a data-link layer which defines a few different message types, arbitration rules for bus access and methods for fault detection and fault confinement.

 


The CAN Protocol

The CAN protocol is defined by the ISO 11898-1 standard and can be summarized like this:

  • The physical layer uses differential transmission on a twisted pair wire.
  • A non-destructive bit-wise arbitration is used to control access to the bus.
  • The messages are small (at most eight data bytes) and are protected by a checksum.
  • There is no explicit address in the messages, instead, each message carries a numeric value which controls its priority on the bus, and may also serve as an identification of the contents of the message.
  • An elaborate error handling scheme that results in retransmitted messages when they are not properly received.
  • There are effective means for isolating faults and removing faulty nodes from the bus.
  • For further information, view our on-line CAN protocol tutorial >>

 


Higher Layer Protocols

The CAN protocol itself just specifies how small packets of data safely may be transported from point A to point B using a shared communications medium. It (quite naturally) contains nothing on topics such as flow control, transportation of data larger than can fit in a 8-byte message, node addresses, establishment of communication, etc. These topics are covered by a Higher Layer Protocol, HLP . The term HLP is derived from the OSI model and its seven layers.

Higher layer protocols are used in order to

  • standardize startup procedures including bit rate setting
  • distribute addresses among participating nodes or kinds of messages
  • determine the layout of the messages
  • provide routines for error handling on system level
  • For further information, view our on-line overview of CAN Higher Layer Protocols >>

 


User Groups, etc

One of the more efficient ways to increase your long term performance within the CAN area, is to participate in the work carried out within a users' groups that works well. Even when you are not actively contributing to the work, the user's groups are in general good sources of information. Visiting conferences is another good way of getting comprehensive and relevant information.

 


CAN Products

At the low level there are, in principle, two kinds of CAN products available on the open market, CAN chips and CAN development tools. At a higher layer another two kinds of products are relevant, CAN modules and CAN design tools. A wide variety of these are now available on the open market.

 


Patents in the CAN Area

Patents relevant for CAN application can be of many different types: synchronization and clock implementations, transmission of large data sets (the CAN protocol uses data frames of just eight bytes length), etc. 

 


Distributed Control Systems

The CAN protocol is a good basis when designing Distributed Control Systems. The CAN arbitration method ensures that each CAN node just has to deal with messages that are relevant for that node.

A Distributed Control System can be described as a system where the processor capacity is distributed among all nodes in a system. The opposite can be described as a system with a central processor and local I/O-units.


Further Information

There are a large number of information sources. We have tried to organize the information we are aware of, so that it will fit into one of the groups: Slide Shows and White Papers, Magazine and Articles or Links to other CAN related sites.

 

 


© Kvaser AB - All rights reserved | Contact us | Webmaster | Sitemap
Direct link to this page: