Information
Note that the received frame’s Identifier field is always stored in the matching Mailbox,
thus the contents of the ID field in an Mailbox may change if the match was due to
masking. Note also that FlexCAN does receive frames transmitted by itself if there exists
a matching Rx Mailbox, provided the MCR[SRXDIS] bit is not asserted. If the
MCR[SRXDIS] bit is asserted, FlexCAN will not store frames transmitted by itself in any
MB, even if it contains a matching MB, and no interrupt flag or interrupt signal will be
generated due to the frame reception.
To be able to receive CAN frames through the Rx FIFO, the CPU must enable and
configure the Rx FIFO during Freeze mode (see Rx FIFO). Upon receiving the Frames
Available in Rx FIFO interrupt (see the description of the IFLAG[BUF5I] "Frames
available in Rx FIFO" bit in the IMASK1 register), the CPU should service the received
frame using the following procedure:
1. Read the Control and Status word (optional – needed only if a mask was used for
IDE and RTR bits)
2. Read the ID field (optional – needed only if a mask was used)
3. Read the Data field
4. Read the RXFIR register (optional)
5. Clear the Frames Available in Rx FIFO interrupt by writing 1 to IFLAG[BUF5I] bit
(mandatory – releases the MB and allows the CPU to read the next Rx FIFO entry)
45.4.4 Matching process
The matching process scans the MB memory looking for Rx MBs programmed with the
same ID as the one received from the CAN bus. If the FIFO is enabled, the priority of
scanning can be selected between Mailboxes and FIFO filters. In any case, the matching
starts from the lowest number Message Buffer toward the higher ones. If no match is
found within the first structure then the other is scanned subsequently. In the event that
the FIFO is full, the matching algorithm will always look for a matching MB outside the
FIFO region.
As the frame is being received, it is stored in a hidden auxiliary MB called Rx Serial
Message Buffer (Rx SMB).
The matching process start point depends on the following conditions:
• If the received frame is a remote frame, the start point is the CRC field of the frame
Chapter 45 CAN (FlexCAN)
K20 Sub-Family Reference Manual, Rev. 1.1, Dec 2012
Freescale Semiconductor, Inc.
Preliminary
1155
General Business Information
