Motorola MPC533 Reference Manual page 703

Table of Contents

Advertisement

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.
The CPU should not write data into a receive message buffer. If this occurs while a message
is being transferred from a serial message buffer, the control/status word will reflect a full
or overrun condition, but no interrupt is requested.
16.4.4.2 Locking and Releasing Message Buffers
The lock/release/busy mechanism is designed to guarantee data coherency during the
receive process. The following examples demonstrate how the lock/release/busy
mechanism affects TouCAN operation.
1. Reading a control/status word of a message buffer triggers a lock for that message
buffer. A new received message frame which matches the message buffer cannot be
written into this message buffer while it is locked.
2. To release a locked message buffer, the CPU either locks another message buffer by
reading its control/status word or globally releases any locked message buffer by
reading the free-running timer.
3. If a receive frame with a matching ID is received during the time the message
buffer is locked, the receive frame is not immediately transferred into that message
buffer, but remains in the serial message buffer. There is no indication when this
occurs.
4. When a locked message buffer is released, if a frame with a matching identifier
exists within the serial message buffer, then this frame is transferred to the
matching message buffer.
5. If two or more receive frames with matching IDs are received while a message
buffer with a matching ID is locked, the last received frame with that ID is kept
within the serial message buffer, while all preceding ones are lost. There is no
indication when this occurs.
6. If the control/status word of a receive message buffer is read while a frame is being
transferred from a serial message buffer, the BUSY code is indicated. The user
should wait until this code is cleared before continuing to read from the message
buffer to ensure data coherency. In this situation, the read of the control/status word
does not lock the message buffer.
Polling the control/status word of a receive message buffer can lock it, preventing a
message from being transferred into that buffer. If the control/status word of a receive
message buffer is read, it should be followed by a read of the control/status word of another
buffer, or by a read of the free-running timer, to ensure that the locked buffer is unlocked.
MOTOROLA
PRELIMINARY—SUBJECT TO CHANGE WITHOUT NOTICE
Chapter 16. CAN 2.0B Controller Module
TouCAN Operation
16-17

Advertisement

Table of Contents
loading

This manual is also suitable for:

Mpc534

Table of Contents