1 self-received frames, 3 message buffer handling, 1 serial message buffers (smbs) – Motorola ColdFire MCF5281 User Manual

Page 480: 2 transmit message buffer deactivation, 3 receive message buffer deactivation, 1 self-received frames -10, 3 message buffer handling -10

Advertising
background image

FlexCAN

25-10

Freescale Semiconductor

Note that the received identifier field is always stored in the matching MB, thus the contents of the
identifier field in a MB may change if the match was due to mask.

25.4.2.1

Self-Received Frames

The FlexCAN receives self-transmitted frames if there exists a matching receive MB.

25.4.3

Message Buffer Handling

To maintain data coherency and proper FlexCAN operation, the CPU must obey the rules listed in

Section 25.4.1, “Transmit Process

” and in

Section 25.4.2, “Receive Process

.” Deactivation of a message

buffer (MB) is a host action that causes that message buffer to be excluded from FlexCAN transmit or
receive processes. Any CPU write access to a control/status word of MB structure deactivates that MB,
thus excluding it from Rx/Tx processes. Any form of CPU MB structure access within the FlexCAN (other
than those specified in

Section 25.4.1, “Transmit Process

” and in

Section 25.4.2, “Receive Process

”) may

cause the FlexCAN to behave in an unpredictable manner.

The match/arbitration processes are performed only during one period by the FlexCAN. Once a winner or
match is determined, there is no re-evaluation whatsoever, in order to ensure that a receive frame is not
lost. Two receive MBs or more that hold a matching ID to a received frame do not assure reception in the
FlexCAN if the user has deactivated the matching MB after FlexCAN has scanned the second.

25.4.3.1

Serial Message Buffers (SMBs)

To allow double buffering of messages, the FlexCAN has two shadow buffers called serial message
buffers. These two buffers are used by the FlexCAN for buffering both received messages and messages
to be transmitted. Only one SMB is active at a time, and its function depends upon the operation of the
FlexCAN at that time. At no time does the user have access to or visibility of these two buffers.

25.4.3.2

Transmit Message Buffer Deactivation

Any write access to the control/status word of a transmit message buffer during the process of selecting a
message buffer for transmission immediately deactivates that message buffer, removing it from the
transmission process.

If the user deactivates the transmit MB while a message is being transferred from a transmit message buffer
to a SMB the message will not be transmitted.

If the user deactivates the transmit message buffer after the message is transferred to the SMB, the message
will be transmitted, but no interrupt will be requested and the transmit code will not be updated.

If a message buffer containing the lowest ID is deactivated while that message is undergoing the internal
arbitration process to determine which message should be sent, then that message may not be transmitted.

25.4.3.3

Receive Message Buffer Deactivation

Any write access to the control/status word of a receive message buffer during the process of selecting a
message buffer for reception immediately deactivates that message buffer, removing it from the reception
process.

If a receive message buffer is deactivated while a message is being transferred into it, the transfer is halted
and no interrupt is requested. If this occurs, that receive message buffer may contain mixed data from two
different frames.

MCF5282 and MCF5216 ColdFire Microcontroller User’s Manual, Rev. 3

Advertising
This manual is related to the following products: