Datasheet
SAM9263 [DATASHEET]
Atmel-6249N-ATARM-SAM9263-Datasheet_14-Mar-16
634
36.5 Product Dependencies
36.5.1 I/O Lines
The pins used for interfacing the CAN may be multiplexed with the PIO lines. The programmer must first program
the PIO controller to assign the desired CAN pins to their peripheral function. If I/O lines of the CAN are not used
by the application, they can be used for other purposes by the PIO Controller.
36.5.2 Power Management
The programmer must first enable the CAN clock in the Power Management Controller (PMC) before using the
CAN.
A Low-power Mode is defined for the CAN controller: If the application does not require CAN operations, the CAN
clock can be stopped when not needed and be restarted later. Before stopping the clock, the CAN Controller must
be in Low-power Mode to complete the current transfer. After restarting the clock, the application must disable the
Low-power Mode of the CAN controller.
36.5.3 Interrupt
The CAN interrupt line is connected on one of the internal sources of the Advanced Interrupt Controller. Using the
CAN interrupt requires the AIC to be programmed first. Note that it is not recommended to use the CAN interrupt
line in edge-sensitive mode.
36.6 CAN Controller Features
36.6.1 CAN Protocol Overview
The Controller Area Network (CAN) is a multi-master serial communication protocol that efficiently 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.
36.6.2 Mailbox Organization
The CAN module has 16 buffers, also called channels or mailboxes. An identifier that corresponds 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