This is an old revision of the document!


Controller Area Network

Introduced in 1986, CAN is a serial field bus that is low cost, only requires 2 wires, has the ability to function in difficult electrical environments, has a high degree of realtime capability, has excellent error detection and fault confinement capabilities and is easy to use.

Controller Area Network, is a a serial network technology that is a two wire, half duplex, high speed network system. it operates at data rates of up to 1 Megabit per second.

CAN-in-Automation (CiA) is the international users' and manufacturers' organization that develops and supports CAN Standards and CAN-based higher-layer protocols.

ISO 11898 is the international federation that governs the protocol.

  • Multi-Master priority based bus access
  • Non-destructive contention-based arbitration
  • Multicast message transfer by message acceptance filtering
  • Remote data request (that no one uses)
  • Automatic retransmission of messages that lost arbitration

There are 4 types of CAN Frames

  • Data Frame - data transfer from one sending node to one or numerous receiving nodes
  • Remote Frame - any node may request data from one source node. A remote frame is followed by the requested data.
  • Error Frame - any node may signal an error condition at any time during a data or remote frame transmission

The distance between frames is a minimum of 3 bit times.

CAN supports messages between 0 and 8 bytes.

An 11 bit identifier allows a total of 211 = 2048 different messages. An extended version allows 229 = 536+ million

The dominant level (TTL = 0V) always overrides a recessive level (TTL = 5V). This is important during bus arbitration.

A remote frame requests the transmission of a message by another node. This type of message is uncommon and CiA says to avoid its usage.

A lower message ID number represents a high message priority.

Acknowledgement Field

The acknowledgement field serves as a confirmation of a successful CRC check by the receiving nodes in the network.

Error Checking

CAN implements a robust and elegant error checking system that allows for:

  • Retransmission of frames that did not pass a 15 bit CRC check by a receiving node
  • Detection of bus fault by a transmitting node by monitoring the bus after every bit cycle and ensuring the bus level is equal to intended transmission bit
  • Allows a node to determine whether or not it was the first error reporting node, which allows the determination and removal of a defective node.

Transmission Times

A CAN frame has a minimum of 47 bits (no bit stuffing and no data) and a maximum of 135 bits (max bit stuffing and 8 bytes of data)

Maximum number of messages with average bit stuffing at 1 MBit and 8 bytes is 8,771 per seconds and 17,543 per second with 1 data byte.

Data Transfer Synchronization

CAN uses Non-Return-to-Zero bit encoding. This provides highest transport capacity but requires bit stuffing. In CAN synchronization is done with the SOF bit, which marks the start of a frame, and by bit stuffing, by only allowing 5 consecutive bits of the same polarity.

Wire Length

The wire lengths are as follows:

  • can.1547062843.txt.gz
  • Last modified: 2019/01/09 19:40
  • by paul