English
Language : 

MCP2510I-ST Datasheet, PDF (23/80 Pages) Microchip Technology – Stand-Alone CAN Controller with SPI™ Interface
MCP2510
FIGURE 4-2:
MESSAGE RECEPTION FLOWCHART
Start
Detect
No
Start of
Message
?
Yes
Begin Loading Message into
Message Assembly Buffer (MAB)
Generate
Error
Frame
Valid
No
Message
Received
?
Yes
Yes, meets criteria Message Yes, meets criteria
for RXBO Identifier meets
for RXB1
a filter criteria
?
No
The CANINTF.RXnIF bit
determines if the receive
register is empty and able
to accept a new message
Go to Start
The RXB0CTRL.BUKT
bit determines if RXB0
can roll over into RXB1
if it is full
Is
CANINTF.RX0IF=0
No
Is
Yes
RXB0CTRL.BUKT=1
?
?
Yes
No
Move message into RXB0 Generate Overflow Error:
Set EFLG.RX0OVR
Generate Overflow Error: No
Set EFLG.RX1OVR
Is
CANINTF.RX1IF = 0
?
Set CANINTF.RX0IF=1
Set RXB0CTRL.FILHIT <0>
according to which filter criteria
Is
No
CANINTE.ERRIE=1
?
Yes
Go to Start
Yes
Move message into RXB1
Set CANINTF.RX1IF=1
Set RXB0CTRL.FILHIT <2:0>
according to which filter criteria
was met
CANINTE.RX0IE=1? Yes
Generate
Interrupt on INT
Yes
CANINTE.RX1IE=1?
No
RXB0
ARE
Yes
BFPCTRL.B0BFM=1
AND
BF1CTRL.B0BFE=1
Set RXBF0
Pin = 0
?
No
Set CANSTAT <3:0> accord-
ing to which receive buffer
the message was loaded into
RXB1
No
Yes
ARE
Set RXBF1
Pin = 0
BFPCTRL.B1BFM=1
AND
BF1CTRL.B1BFE=1
?
No
© 2007 Microchip Technology Inc.
DS21291F-page 23