User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 567
UG585 (v1.11) September 27, 2016
Chapter 18: CAN Controller
18.2.4 Interrupts
Each CAN controller has a single interrupt signal to the GIC interrupt controller. CAN 0 connects to
IRQ ID#60 and CAN 1 connects to ID #83. The source of an interrupt can be grouped into one of the
following:
•TxFIFO and TxHPB
•RxFIFO
Message passing and arbitration
Sleep mode and bus off
Enable and disable interrupts using the can.IER register. Check the raw status of the interrupt using
can.ISR. Clear interrupts by writing a 1 to can.ICR. Some interrupt sources have an additional method
to clear the interrupt as shown in Table 18-4.
List of Interrupts
All of the CAN interrupts are sticky; that is, once the hardware sets them they stay set until cleared
by software. CAN status and interrupts are identified in Table 18-4.
Table 18-4: List of CAN Status and Interrupts
Name Bit Number
Additional
Method to Clear
Interrupt
Usage
TxFIFO Watermark 13 none Operational threshold.
TxFIFO Empty 14 none Empty indicator.
TxFIFO Full 2 none Full indicator.
TxHPB Full 3 none This status indicates if the buffer is in-use and
should not be written.
RxFIFO Watermark 12 none Operational threshold.
RxFIFO Not Empty 7 none One or more messages can be read.
RxFIFO overflow 6 Write 0 to
can.SRR[CEN]
FIFO was full and message(s) likely lost.
RxFIFO underflow 5 none Programming error, message read from RxFIFO
when no messages were there.
Message Rx 4 Write 0 to
can.SRR[CEN]
Message Tx 1 Write 0 to
can.SRR[CEN]
Message Error 8 Write 0 to
can.SRR[CEN]
Any of the five CAN errors in the Error Status
register.
Arbitration Lost 0 none
Enter Sleep Mode 10 Write 0 to
can.SRR[CEN]