4 arbitration process, 5 receive process, Arbitration process -24 – Freescale Semiconductor MCF5480 User Manual

Page 594: Receive process -24

Advertising
background image

MCF548x Reference Manual, Rev. 3

21-24

Freescale Semiconductor

Once the arbitration process is complete and there is a “winner” MB for transmission, the frame is

transferred to the serial message buffer (SMB) for transmission (move out).
While transmitting, the FlexCAN transmits up to 8 data bytes, even if the DLC is bigger in value.
At the end of the successful transmission, the value of the free-running timer (which was captured at the

beginning of the ID field on the CAN bus), is written into the TIMESTAMP field in the MB, the CODE

field in the control/status word of the MB is updated, and a status flag is set in the IFLAG register. An

interrupt is generated if allowed by the corresponding interrupt mask register bit.

21.4.4

Arbitration Process

The arbitration process is an algorithm executed by the message buffer management (MBM) that scans the

whole MB memory looking for the highest priority message to be transmitted. All MBs programmed as

transmit buffers will be scanned to find the lowest ID or the lowest MB number, depending on the LBUF

bit on the control register.

NOTE

If LBUF is cleared, the arbitration considers not only the ID, but also the

RTR and IDE bits placed inside the ID at the same positions they are

transmitted in the CAN frame.

The arbitration process is triggered in the following events:

During the CRC field of the CAN frame

During the error delimiter field of the CAN frame

During intermission, if the winner MB defined in a previous arbitration was deactivated, or if there

was no MB to transmit, but the CPU wrote to the C/S word of any MB after the previous arbitration

finished

When MBM is in idle or bus off state and the CPU writes to the C/S word of any MB

Upon leaving freeze mode

Once the highest priority MB is selected, it is transferred to a temporary storage space called serial

message buffer (SMB), which has the same structure as a normal MB but is not user accessible. This

operation is called “move-out.” At the first opportunity window on the CAN bus, the message on the SMB

is transmitted according to the CAN protocol rules. FlexCAN transmits up to 8 data bytes, even if the DLC

(data length code) value is bigger. Refer to

Section 21.4.6.1, “Serial Message Buffers (SMBs)

” for more

information on serial message buffers.

21.4.5

Receive Process

The CPU prepares or changes an MB for frame reception by executing the following steps:

Writing the control/status word to hold Rx MB inactive (CODE = 0000).

Writing the ID word.

Writing the control/status word to mark the Rx MB as active and empty.

NOTE

The first and last steps are mandatory!

Starting from the last step, this MB is an active receive buffer and will participate in the internal matching

process, which takes place every time the receiver receives an error-free frame. In this process, all active

receive buffers compare their ID value to the newly received one, and if a match occurs, the frame is

transferred (move in) to the first (lowest entry) matching MB. The value of the free-running timer (which

Advertising
This manual is related to the following products: