Information
Arbitration process stops in the following situation:
• All Mailboxes were scanned
• A Tx active Mailbox is found in case of Lowest Buffer feature enabled
• Arbitration winner inactivation or abort during any arbitration process
• There was not enough time to finish Tx arbitration process (for instance, when a
deactivation was performed near the end of frame). In this case arbitration process is
pending.
• Error or Overload flag in the bus
• Low Power or Freeze mode request in Idle state
Arbitration is considered pending as described below:
• It was not possible to finish arbitration process in time
• C/S write during arbitration if write is performed in a MB which number is lower
than the Tx arbitration pointer
• Any C/S write if there is no Tx Arbitration process in progress
• Rx Match has just updated a Rx Code to Tx Code
• Entering Busoff state
C/S write during arbitration has the following effect:
• If C/S write is performed in the arbitration winner, a new process is restarted
immediately.
• If C/S write is performed in a MB whose number is higher than the Tx arbitration
pointer, the ongoing arbitration process will scan this MB as normal.
45.4.3 Receive process
To be able to receive CAN frames into a Mailbox, the CPU must prepare it for reception
by executing the following steps:
1. If the Mailbox is active (either Tx or Rx) inactivate the Mailbox (see Mailbox
inactivation), preferably with a safe inactivation (see Transmission abort
mechanism).
2. Write the ID word
3. Write the EMPTY code (0b0100) to the CODE field of the Control and Status word
to activate the Mailbox.
After the MB is activated, it will be able to receive frames that match the programmed
filter. At the end of a successful reception, the Mailbox is updated by the move-in process
(see Section "Move-in") as follows:
Chapter 45 CAN (FlexCAN)
K20 Sub-Family Reference Manual, Rev. 1.1, Dec 2012
Freescale Semiconductor, Inc.
Preliminary
1153
General Business Information
