User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 568
UG585 (v1.11) September 27, 2016
Chapter 18: CAN Controller
RxFIFO and TxFIFO Interrupts
The FIFO watermark levels and all the FIFO interrupts are illustrated in Figure 18-4, CAN RxFIFO and
TxFIFO Watermark Interrupts.
Example: Program RxFIFO Watermark Interrupt (12)
The following steps can be used to setup and control the RxFIFO watermark interrupt. See
Figure 18-4. The watermark status and control interrupts are described in Protocol Engine, page 572.
1. Disable RxFIFO watermark interrupt. Write a 0 to can.IER[12].
2. Program RxFIFO full watermark level. Write to can.WIR[FW].
3. Clear RxFIFO watermark interrupt. Write a 1 to can.ICR[12].
4. Read RxFIFO watermark status. Read can.ISR[12].
5. Enable RxFIFO watermark interrupt. Write a 1 to can.IER[12].
Example: Program TxFIFO Watermark Interrupt (13)
The following steps can be used to setup and control the TxFIFO watermark interrupt. See
Figure 18-4. The watermark status and control interrupts are described in Protocol Engine, page 572.
1. Disable TxFIFO watermark interrupt. Write a 0 to can.IER[13].
2. Program TxFIFO empty watermark level. Write to can.WIR[EW].
Exit Sleep Mode 11 Write 0 to
can.SRR[CEN]
Controller can go to normal or configuration
mode.
Bus Off 9 Write 0 to
can.SRR[CEN]
Table 18-4: List of CAN Status and Interrupts
Name Bit Number
Additional
Method to Clear
Interrupt
Usage
X-Ref Target - Figure 18-4
Figure 18-4: CAN RxFIFO and TxFIFO Watermark Interrupts
TxFIFO (64 messages)
Full Interrupt
can.ISR[2]
Empty Interrupt
can.ISR[14]
Watermark
Interrupt
can.ISR[13]
RxFIFO (64 messages)
Overflow Interrupt
can.ISR[6]
Not Empty
Interrupt
can.ISR[7]
Watermark Interrupt
can.ISR[12]
Interrupt bit RXFWMFLL is
asserted when the number of
messages in RxFIFO exceeds
the can.WIR[FW, bits 5:0]
threshold.
Interrupt bit TXFWMEMP
is asserted when the
number of messages in
TxFIFO is less than the
can.WIR[EW, bits 13:8]
threshold.
FIFO is Filling FIFO is Emptying
Underflow Interrupt
can.ISR[5]
UG585_c18_06_071012