Chapter 16 Freescale’s Scalable Controller Area Network (S12MSCANV3)
MC9S12XE-Family Reference Manual Rev. 1.21
Freescale Semiconductor
641
Because of an order from the United States International Trade Commission, BGA-packaged product lines and partnumbers
indicated here currently are not available from Freescale for import or sale in the United States prior to September 2010
software simpler because only one address area is applicable for the transmit process, and the required
address space is minimized.
The CPU then stores the identier, the control bits, and the data content into one of the transmit buffers.
Finally, the buffer is agged as ready for transmission by clearing the associated TXE ag.
The MSCAN then schedules the message for transmission and signals the successful transmission of the
is generated1 when TXEx is set and can be used to drive the application software to re-load the buffer.
If more than one buffer is scheduled for transmission when the CAN bus becomes available for arbitration,
the MSCAN uses the local priority setting of the three buffers to determine the prioritization. For this
purpose, every transmit buffer has an 8-bit local priority eld (PRIO). The application software programs
this eld when the message is set up. The local priority reects the priority of this particular message
relative to the set of messages being transmitted from this node. The lowest binary value of the PRIO eld
is dened to be the highest priority. The internal scheduling process takes place whenever the MSCAN
arbitrates for the CAN bus. This is also the case after the occurrence of a transmission error.
When a high priority message is scheduled by the application software, it may become necessary to abort
a lower priority message in one of the three transmit buffers. Because messages that are already in
transmission cannot be aborted, the user must request the abort by setting the corresponding abort request
(CANTARQ)”.) The MSCAN then grants the request, if possible, by:
1. Setting the corresponding abort acknowledge ag (ABTAK) in the CANTAAK register.
2. Setting the associated TXE ag to release the buffer.
3. Generating a transmit interrupt. The transmit interrupt handler software can determine from the
setting of the ABTAK ag whether the message was aborted (ABTAK = 1) or sent (ABTAK = 0).
16.4.2.3
Receive Structures
The received messages are stored in a ve stage input FIFO. The ve message buffers are alternately
mapped into a single memory area (see
Figure 16-39). The background receive buffer (RxBG) is
exclusively associated with the MSCAN, but the foreground receive buffer (RxFG) is addressable by the
CPU (see
Figure 16-39). This scheme simplies the handler software because only one address area is
applicable for the receive process.
All receive buffers have a size of 15 bytes to store the CAN control bits, the identier (standard or
signals the status of the foreground receive buffer. When the buffer contains a correctly received message
with a matching identier, this ag is set.
Acceptance Filter”) and simultaneously is written into the active RxBG. After successful reception of a
valid message, the MSCAN shifts the content of RxBG into the receiver FIFO, sets the RXF ag, and
1. The transmit interrupt occurs only if not masked. A polling scheme can be applied on TXEx also.