beautypg.com

Can – controller area network, 1 features, 2 overview – Rainbow Electronics ATmega64M1 User Manual

Page 164: 3 can protocol, 1 principles

background image

164

8209A–AVR–08/09

ATmega16M1/32M1/64M1

20. CAN – Controller Area Network

20.1

Features

Full CAN Controller

Fully Compliant with CAN Standard rev 2.0 A and rev 2.0 B

6 MOb (Message Object) with their own:

– 11 bits of Identifier Tag (rev 2.0 A), 29 bits of Identifier Tag (rev 2.0 B)

– 11 bits of Identifier Mask (rev 2.0 A), 29 bits of Identifier Mask (rev 2.0 B)

– 8 Bytes Data Buffer (Static Allocation)

– Tx, Rx, Frame Buffer or Automatic Reply Configuration

– Time Stamping

1 Mbit/s Maximum Transfer Rate at 8 MHz

TTC Timer

Listening Mode (for Spying or Autobaud)

20.2

Overview

The Controller Area Network (CAN) protocol is a real-time, serial, broadcast protocol with a very
high level of security. The ATmega16M1/32M1/64M1 CAN controller is fully compatible with the
CAN Specification 2.0 Part A and Part B. It delivers the features required to implement the ker-
nel of the CAN bus protocol according to the ISO/OSI Reference Model:

The Data Link Layer

– the Logical Link Control (LLC) sublayer

– the Medium Access Control (MAC) sublayer

The Physical Layer

– the Physical Signalling (PLS) sublayer

– not supported - the Physical Medium Attach (PMA)

– not supported - the Medium Dependent Interface (MDI)

The CAN controller is able to handle all types of frames (Data, Remote, Error and Overload) and
achieves a bitrate of 1 Mbit/s.

20.3

CAN Protocol

The CAN protocol is an international standard defined in the ISO 11898 for high speed and ISO
11519-2 for low speed.

20.3.1

Principles

CAN is based on a broadcast communication mechanism. This broadcast communication is
achieved by using a message oriented transmission protocol. These messages are identified by
using a message identifier. Such a message identifier has to be unique within the whole network
and it defines not only the content but also the priority of the message.

The priority at which a message is transmitted compared to another less urgent message is
specified by the identifier of each message. The priorities are laid down during system design in
the form of corresponding binary values and cannot be changed dynamically. The identifier with
the lowest binary number has the highest priority.

Bus access conflicts are resolved by bit-wise arbitration on the identifiers involved by each node
observing the bus level bit for bit. This happens in accordance with the "wired and" mechanism,
by which the dominant state overwrites the recessive state. The competition for bus allocation is
lost by all nodes with recessive transmission and dominant observation. All the "losers" automat-