6 can controller features, 1 can protocol overview, 2 mailbox organization – Rainbow Electronics AT91CAP9S250A User Manual

Page 684

Advertising
background image

684

6264A–CAP–21-May-07

AT91CAP9S500A/AT91CAP9S250A

39.6

CAN Controller Features

39.6.1

CAN Protocol Overview

The Controller Area Network (CAN) is a multi-master serial communication protocol that effi-
ciently supports real-time control with a very high level of security with bit rates up to 1 Mbit/s.

The CAN protocol supports four different frame types:

• Data frames: They carry data from a transmitter node to the receiver nodes. The overall

maximum data frame length is 108 bits for a standard frame and 128 bits for an extended
frame.

• Remote frames: A destination node can request data from the source by sending a remote

frame with an identifier that matches the identifier of the required data frame. The
appropriate data source node then sends a data frame as a response to this node request.

• Error frames: An error frame is generated by any node that detects a bus error.

• Overload frames: They provide an extra delay between the preceding and the successive

data frames or remote frames.

The Atmel CAN controller provides the CPU with full functionality of the CAN protocol V2.0
Part A and V2.0 Part B. It minimizes the CPU load in communication overhead. The Data Link
Layer and part of the physical layer are automatically handled by the CAN controller itself.

The CPU reads or writes data or messages via the CAN controller mailboxes. An identifier is
assigned to each mailbox. The CAN controller encapsulates or decodes data messages to
build or to decode bus data frames. Remote frames, error frames and overload frames are
automatically handled by the CAN controller under supervision of the software application.

39.6.2

Mailbox Organization

The CAN module has

16

buffers, also called channels or mailboxes. An identifier that corre-

sponds to the CAN identifier is defined for each active mailbox. Message identifiers can match
the standard frame identifier or the extended frame identifier. This identifier is defined for the
first time during the CAN initialization, but can be dynamically reconfigured later so that the
mailbox can handle a new message family. Several mailboxes can be configured with the
same ID.

Each mailbox can be configured in receive or in transmit mode independently. The mailbox
object type is defined in the MOT field of the CAN_MMRx register.

39.6.2.1

Message Acceptance Procedure

If the MIDE field in the CAN_MIDx register is set, the mailbox can handle the extended format
identifier; otherwise, the mailbox handles the standard format identifier. Once a new message
is received, its ID is masked with the CAN_MAMx value and compared with the CAN_MIDx
value. If accepted, the message ID is copied to the CAN_MIDx register.

Advertising