English
Language : 

M68HC128 Datasheet, PDF (267/362 Pages) Motorola, Inc – Microcontrollers
Freescale Semiconductor, Inc.
msCAN12 Controller
Message Storage
16.3.3 Transmit Structures
The msCAN12 has a triple transmit buffer scheme to allow multiple messages to
be set up in advance and to achieve an optimized real-time performance. The three
buffers are arranged as shown in Figure 16-2.
All three buffers have a 13-byte data structure similar to the outline of the receive
buffers (see 16.11 Programmer’s Model of Message Storage). An additional
transmit buffer priority register (TBPR) contains an 8-bit local priority field (PRIO).
See 16.11.5 Transmit Buffer Priority Register.
To transmit a message, the CPU12 has to identify an available transmit buffer
which is indicated by a set transmit buffer empty (TXE) flag in the msCAN12
transmitter flag register (CTFLG). See 16.12.7 msCAN12 Transmitter Flag
Register.
The CPU12 then stores the identifier, the control bits, and the data content into one
of the transmit buffers. Finally, the buffer has to be flagged ready for transmission
by clearing the TXE flag.
The msCAN12 then will schedule the message for transmission and will signal the
successful transmission of the buffer by setting the TXE flag. A transmit interrupt
will be emitted(1) when TXE is set, and this can be used to drive the application
software to reload the buffer.
If more than one buffer is scheduled for transmission when the CAN bus becomes
available for arbitration, the msCAN12 uses the local priority setting of the three
buffers for prioritizing. For this purpose, every transmit buffer has an 8-bit local
priority field (PRIO). The application software sets this field when the message is
set up. The local priority reflects the priority of this particular message relative to
the set of messages being emitted from this node. The lowest binary value of the
PRIO field is defined to be the highest priority.
The internal scheduling process takes place whenever the msCAN12 arbitrates for
the 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 being set up in one of the
three transmit buffers. Because messages that are already under transmission
cannot be aborted, the user has to request the abort by setting the corresponding
abort request flag (ABTRQ) in the transmission control register (CTCR). The
msCAN12 grants the request, if possible, by setting the corresponding abort
request acknowledge (ABTAK) and the TXE flag to release the buffer and by
generating a transmit interrupt. The transmit interrupt handler software can tell from
the setting of the ABTAK flag whether the message was aborted (ABTAK = 1)
or sent in the meantime (ABTAK = 0).
1. The transmit interrupt is generated only if not masked. A polling scheme can be applied on TXE
also.
M68HC12B Family — Rev. 9.0
MOTOROLA
msCAN12 Controller
For More Information On This Product,
Go to: www.freescale.com
Data Sheet
267