Move Process - NXP Semiconductors freescale KV4 Series Reference Manual

Table of Contents

Advertisement

Chapter 43 Flex Controller Area Network (FlexCAN)
matching algorithm finds the first match in MB number 2. The code of this MB is
EMPTY, so the message is stored there. When the second message arrives, the matching
algorithm finds MB number 2 again, but it is not "free-to-receive", so it keeps looking,
finds MB number 5 and stores the message there. If yet another message with the same
ID arrives, the matching algorithm finds out that there are no matching MBs that are
"free-to-receive", so it decides to overwrite the last matched MB, which is number 5. In
doing so, it sets the CODE field of the MB to indicate OVERRUN.
The ability to match the same ID in more than one MB can be exploited to implement a
reception queue (in addition to the full featured FIFO) to allow more time for the CPU to
service the MBs. By programming more than one MB with the same ID, received
messages are queued into the MBs. The CPU can examine the Time Stamp field of the
MBs to determine the order in which the messages arrived.
Matching to a range of IDs is possible by using ID Acceptance Masks. FlexCAN
supports individual masking per MB. See the description of the Rx Individual Mask
Registers (CAN_RXIMRx). During the matching algorithm, if a mask bit is asserted,
then the corresponding ID bit is compared. If the mask bit is negated, the corresponding
ID bit is a "don't care". Note that the Individual Mask Registers are implemented in
RAM, so they are not initialized out of reset. Also, they can only be programmed while
the module is in Freeze mode; otherwise, they are blocked by hardware.
FlexCAN also supports an alternate masking scheme with only four mask registers
(CAN_RXFGMASK, CAN_RXMGMASK, CAN_RX14MASK and
CAN_RX15MASK) for backwards compatibility with legacy applications. This alternate
masking scheme is enabled when the IRMQ bit in the CAN_MCR Register is negated.

43.5.5 Move process

There are two types of move process: move-in and move-out.
43.5.5.1 Move-in
The move-in process is the copy of a message received by an Rx SMB to a Rx Mailbox
or FIFO that has matched it. If the move destination is the Rx FIFO, attributes of the
message are also copied to the CAN_RXFIR FIFO. Each Rx SMB has its own move-in
process, but only one is performed at a given time as described ahead. The move-in starts
only when the message held by the Rx SMB has a corresponding matching winner (see
Matching
process) and all of the following conditions are true:
• The CAN bus has reached or let past either:
KV4x Reference Manual, Rev. 2, 02/2015
Preliminary
Freescale Semiconductor, Inc.
1141

Advertisement

Table of Contents
loading

Table of Contents