Introduction to CAN Networks

CAN is a multi-master serial bus system where each node can access the bus simultaneously. The decision if a node is granted bus access for transmission is made whilst the nodes are already transmitting their messages. This system, defined in ISO 11898, is real time capable and is using the two bottom layers of the ISO/OSI-Layer-Model.

There is no direct addressing of nodes or endpoints in CAN networks in the ordinary sense, but the messages are transmitted using a priority system based on the message contents itself. When a sending node transmits a message, each CAN-node within the network can decide to ignore it based on the identifier of the message. This identifier is also the essential part for the priority system.

Each CAN message may contain up to 8 Bytes of users data while larger amounts of data may be split into smaller packages. The maximum transmission baud rate is fixed to 1 Mbit/s, which can be applies across a maximum network length of 40 meters. For longer distances the baud rate is reduced as follows:

  • 1 Mbit/s <= 40 m
  • 125 kbit/s <= 500 m
  • 50 kbit/s <= 1000 m

Low cost controllers providing the CAN data link layer and the ability of easy connection have been available since 1989. Nowadays, more than 25 CAN transceivers from over 10 vendors are available (excluding FPGA / Field Programmable Gate Array implementations).

The main criteria for the uses of CAN are as follows:

  • low cost
  • reliable function, also with extreme environmental conditions
  • excellent real time ability and
  • ease of use

CANopen

CANopen is a communication protocol based on CAN, mainly used for automation technology and for connection within complex devices. The main area of circulation of CANopen is Europe, but the number of users in North America and also Asia is growing.

CANopen supports communications objects holding data from an object dictionary, enabling the user or other devices to read, write or request data or to react on a data change or a data event. Additionally there are specific device- and user- profiles, describing the functions of a device or the application in detail.