MCP2510-ESO MICROCHIP [Microchip Technology], MCP2510-ESO Datasheet - Page 45

no-image

MCP2510-ESO

Manufacturer Part Number
MCP2510-ESO
Description
Stand-Alone CAN Controller with SPI Interface
Manufacturer
MICROCHIP [Microchip Technology]
Datasheet
7.0
The device has eight sources of interrupts. The CANINTE
register contains the individual interrupt enable bits for
each interrupt source. The CANINTF register contains the
corresponding interrupt flag bit for each interrupt source.
When an interrupt occurs the INT pin is driven low by the
MCP2510 and will remain low until the Interrupt is cleared
by the MCU. An Interrupt can not be cleared if the respec-
tive condition still prevails.
It is recommended that the bit modify command be
used to reset flag bits in the CANINTF register rather
than normal write operations. This is to prevent unin-
tentionally changing a flag that changes during the
write command, potentially causing an interrupt to be
missed.
It should be noted that the CANINTF flags are read/
write and an Interrupt can be generated by the MCU
setting any of these bits, provided the associated CAN-
INTE bit is also set.
7.1
The source of a pending interrupt is indicated in the
CANSTAT.ICOD (interrupt code) bits as indicated in
Register 9-2. In the event that multiple interrupts occur,
the INT will remain low until all interrupts have been
reset by the MCU, and the CANSTAT.ICOD bits will
reflect the code for the highest priority interrupt that is
currently pending. Interrupts are internally prioritized
such that the lower the ICOD value the higher the inter-
rupt priority. Once the highest priority interrupt condi-
tion has been cleared, the code for the next highest
priority interrupt that is pending (if any) will be reflected
by the ICOD bits (see Table 7-1). Note that only those
interrupt sources that have their associated CANINTE
enable bit set will be reflected in the ICOD bits.
TABLE 7-1:
ICOD<2:0>
2000 Microchip Technology Inc.
000
001
010
100
101
011
110
111
INTERRUPTS
Interrupt Code Bits
ERR•WAK•TX0•TX1•TX2•RX0•RX1
ERR
ERR•WAK
ERR•WAK•TX0
ERR•WAK•TX0•TX1
ERR•WAK•TX0•TX1•TX2
ERR•WAK•TX0•TX1•TX2•RX0
ERR•WAK•TX0•TX1•TX2•RX0•RX1
ICOD<2:0> Decode
Boolean Expression
Preliminary
7.2
When the Transmit Interrupt is enabled (CANINTE.TX
= 1) an Interrupt will be generated on the INT pin when the
associated transmit buffer becomes empty and is ready
to be loaded with a new message. The CANINTF.TX
bit will be set to indicate the source of the interrupt. The
interrupt is cleared by the MCU resetting the TX
a ‘0’.
7.3
When the Receive Interrupt is enabled (CAN-
INTE.RX
INT pin when a message has been successfully
received and loaded into the associated receive buffer.
This interrupt is activated immediately after receiving the
EOF field. The CANINTF.RX
the source of the interrupt. The interrupt is cleared by the
MCU resetting the RX
7.4
When an error occurs during transmission or reception of
a message the message error flag (CANINTF.MERRF)
will be set and, if the CANINTE.MERRE bit is set, an inter-
rupt will be generated on the INT pin. This is intended to
be used to facilitate baud rate determination when used in
conjunction with listen-only mode.
7.5
When the MCP2510 is in sleep mode and the bus activ-
ity wakeup interrupt is enabled (CANINTE.WAKIE = 1),
an interrupt will be generated on the INT pin, and the
CANINTF.WAKIF bit will be set when activity is
detected on the CAN bus. This interrupt causes the
MCP2510 to exit sleep mode. The interrupt is reset by
the MCU clearing the WAKIF bit.
N
Transmit Interrupt
Receive Interrupt
Message Error Interrupt
Bus Activity Wakeup Interrupt
IE = 1) an interrupt will be generated on the
N
IF bit to a ‘0’.
N
IF bit will be set to indicate
MCP2510
DS21291C-page 45
N
IF bit to
N
N
IE
IF

Related parts for MCP2510-ESO