Freescale’s Scalable Controller Area Network (S12MSCANV3)
S12XS Family Reference Manual, Rev. 1.13
332
Freescale Semiconductor
The MSCAN facilitates a sophisticated message storage system which addresses the requirements of a
broad range of network applications.
11.4.2.1
Message Transmit Background
Modern application layer software is built upon two fundamental assumptions:
•
Any CAN node is able to send out a stream of scheduled messages without releasing the CAN bus
between the two messages. Such nodes arbitrate for the CAN bus immediately after sending the
previous message and only release the CAN bus in case of lost arbitration.
•
The internal message queue within any CAN node is organized such that the highest priority
message is sent out first, if more than one message is ready to be sent.
The behavior described in the bullets above cannot be achieved with a single transmit buffer. That buffer
must be reloaded immediately after the previous message is sent. This loading process lasts a finite amount
of time and must be completed within the inter-frame sequence (IFS) to be able to send an uninterrupted
stream of messages. Even if this is feasible for limited CAN bus speeds, it requires that the CPU reacts
with short latencies to the transmit interrupt.
A double buffer scheme de-couples the reloading of the transmit buffer from the actual message sending
and, therefore, reduces the reactiveness requirements of the CPU. Problems can arise if the sending of a
message is finished while the CPU re-loads the second buffer. No buffer would then be ready for
transmission, and the CAN bus would be released.
At least three transmit buffers are required to meet the first of the above requirements under all
circumstances. The MSCAN has three transmit buffers.
The second requirement calls for some sort of internal prioritization which the MSCAN implements with
the “local priority” concept described in
Section 11.4.2.2, “Transmit Structures
11.4.2.2
Transmit Structures
The MSCAN triple transmit buffer scheme optimizes real-time performance by allowing multiple
messages to be set up in advance. The three buffers are arranged as shown in
All three buffers have a 13-byte data structure similar to the outline of the receive buffers (see
Section 11.3.3, “Programmer’s Model of Message Storage
”). An additional Transmit Buffer Priority
Register (TBPR) contains an 8-bit local priority field (PRIO) (see
Section 11.3.3.4, “Transmit Buffer
”). The remaining two bytes are used for time stamping of a message, if required
(see
Section 11.3.3.5, “Time Stamp Register (TSRH–TSRL)
”).
To transmit a message, the CPU must identify an available transmit buffer, which is indicated by a set
transmitter buffer empty (TXEx) flag (see
Section 11.3.2.7, “MSCAN Transmitter Flag Register
”). If a transmit buffer is available, the CPU must set a pointer to this buffer by writing to the
CANTBSEL register (see
Section 11.3.2.11, “MSCAN Transmit Buffer Selection Register
”). This makes the respective buffer accessible within the CANTXFG address space (see
Section 11.3.3, “Programmer’s Model of Message Storage
”). The algorithmic feature associated with the
CANTBSEL register simplifies the transmit buffer selection. In addition, this scheme makes the handler
Содержание MC9S12XS128
Страница 4: ...S12XS Family Reference Manual Rev 1 13 4 Freescale Semiconductor ...
Страница 58: ...Device Overview S12XS Family S12XS Family Reference Manual Rev 1 13 58 Freescale Semiconductor ...
Страница 150: ...Memory Mapping Control S12XMMCV4 S12XS Family Reference Manual Rev 1 13 150 Freescale Semiconductor ...
Страница 168: ...Interrupt S12XINTV2 S12XS Family Reference Manual Rev 1 13 168 Freescale Semiconductor ...
Страница 194: ...Background Debug Module S12XBDMV2 S12XS Family Reference Manual Rev 1 13 194 Freescale Semiconductor ...
Страница 364: ...Periodic Interrupt Timer S12PIT24B4CV1 S12XS Family Reference Manual Rev 1 13 364 Freescale Semiconductor ...
Страница 396: ...Pulse Width Modulator S12PWM8B8CV1 S12XS Family Reference Manual Rev 1 13 396 Freescale Semiconductor ...
Страница 506: ...Voltage Regulator S12VREGL3V3V1 S12XS Family Reference Manual Rev 1 13 506 Freescale Semiconductor ...
Страница 736: ...Ordering Information S12XS Family Reference Manual Rev 1 13 736 Freescale Semiconductor ...
Страница 737: ......