Microchip Technology DM164134 Data Sheet

Page of 402
© 2006 Microchip Technology Inc.
DS41159E-page 231
PIC18FXX8
FIGURE 19-5:
INTERNAL MESSAGE RECEPTION FLOWCHART
Start
Detect
Start of
Message?
Valid
Message
Received?
Generate
Error 
Message
Identifier meets a
Filter Criteria?
Is
RXFUL = 0?
Go to Start
Move Message into RXB0
Set RXRDY = 1
Set FILHIT <2:0>
Is
RXFUL = 0?
Move Message into RXB1
Set RXRDY = 1
Yes, meets criteria
for RXBO
Yes, meets criteria
for RXB1
No
Generate
Interrupt
Yes
Yes
No
No
Yes
Yes
No
No
Yes
Yes
Frame
The RXFUL bit determines if the
receive register is empty and able
to accept a new message.
No
Yes
No
Generate Overrun Error:
Begin Loading Message into
Message Assembly Buffer (MAB)
according to which Filter
Criteria was met
Is
RXIE = 1?
Is
RXIE = 1?
Is
RX0DBEN = 1?
The RXB0DBEN bit determines if
RXB0 can rollover into RXB1 if it is
full.
Set RXB0OVFL
Generate Overrun Error:
Set RXB1OVFL
Is
ERRIE = 1?
No
Go to Start
Yes
No
Set FILHIT <0>
according to which Filter
Criteria was met
Set CANSTAT <3:0> according
to which Receive Buffer the
Message was loaded into