User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 561
UG585 (v1.11) September 27, 2016
Chapter 18: CAN Controller
TxHPB. When the controller exits sleep mode, can.MSR[SLEEP] is set to
0
by the hardware and an
interrupt can be generated.
The CAN controller enters Sleep mode from Configuration mode when the LBACK bit in MSR is
0
, the
SLEEP bit in MSR is 1, and the CEN bit in SRR is 1. The CAN controller enters Sleep mode only when
there are no pending transmission requests from either the TX FIFO or the TX High Priority Buffer.
The CAN controller enters Sleep mode from Normal mode only when the SLEEP bit is 1, the CAN bus
is idle, and there are no pending transmission requests from either the TX FIFO or TX High Priority
Buffer.
When another node transmits a message, the CAN controller receives the transmitted message and
exits Sleep mode. When the controller is in Sleep mode, if there are new transmission requests from
either the TX FIFO or the TX High Priority Buffer, these requests are serviced, and the CAN controller
exits Sleep mode. Interrupts are generated when the CAN controller enters Sleep mode or wakes up
from Sleep mode. From sleep mode, the CAN controller can enter either the Configuration or Normal
modes.
Loop Back Mode (Diagnostics)
Loop back mode is used for diagnostic purposes. When in loop back mode, the controller must only
be programmed to enter
conf
iguration mode or issue reset. In loop back mode:
The controller transmits a recessive bitstream onto the CAN_TX bus signal.
Tx messages are internally looped back to the Rx line and are acknowledged.
Tx messages are not sent on the CAN_TX bus signal.
The controller receives all message that it transmits.
The controller does not receive any messages transmitted by other CAN nodes.
Snoop Mode (Diagnostics)
Snoop mode is used for diagnostic purposes. When in snoop mode, the controller must only be
programmed to enter
conf
iguration mode or be held in reset. In snoop mode:
The controller transmits a recessive bitstream onto the CAN bus.
The controller does not participate in normal bus communication.
The controller receives messages that are transmitted by other CAN nodes.
Software can program acceptance
f
ilters to dynamically enable/disable and change criteria. Error
counters are disabled and cleared to 0. Reads to error counter registers return 0.
Mode Transitions
The supported mode transitions are shown in Figure 18-3. The transitions are primarily controlled by
the resets, the CEN bit, the MSR register settings, and a hardware wake-up mechanism.
To enter normal mode from configuration mode:
Clear can.MSR[LBACK, SNOOP, SLEEP] = 0