
Chapter 13 FlexRay Communication Controller (FLEXRAY)
MC9S12XF - Family Reference Manual, Rev.1.19
Freescale Semiconductor
573
to the application in a receive message buffer. The basic structure of a receive shadow buffer is described
The receive shadow buffers temporarily store the received frame header and message data. After the slot
boundary the slot status information is generated. If the slot status information indicates the reception of
the valid non-null frame (see
Table 13-103), the FlexRay block writes the slot status into the slot status
(MBIDXRn) with the content of the corresponding internal shadow buffer index register. In all other cases,
the FlexRay block writes the slot status into the identied receive message buffer, depending on the slot
status and the FlexRay segment the message buffer is assigned to.
The shadow buffer concept, with its index exchange, results in the fact that the FRM located message
buffer associated to an individual receive message buffer changes after successful reception of a valid
frame. This means that the message buffer area in the FRM accessed by the application for reading the
received message is different from the initial setting of the message buffer. Therefore, the application must
13.6.6.4
Double Transmit Message Buffer
The section provides a detailed description of the functionality of the double transmit message buffers.
Double transmit message buffers are used by the application to provide the FlexRay block with the
message data to be transmitted over the FlexRay Bus. The FlexRay block uses this message buffer to
provide information to the application about the transmission process, and status information about the slot
in which message data was transmitted.
In contrast to the single transmit message buffers, the application can provide new transmission data while
the transmission of the previously provided message data is running. This scheme is called double
buffering and can be considered as a FIFO of depth 2.
Double transmit message buffers are implemented by combining two individual message buffers that form
the two sides of an double transmit message buffer. One side is called the commit side and will be accessed
by the application to provide the message data. The other side is called the transmit side and is used by the
FlexRay block to transmit the message data to the FlexRay bus. The two sides are located in adjacent
individual message buffers. The message buffer that implements the commit side has an even message
buffer number 2n. The transmit side message buffer follows the commit side message buffer and has the
message buffer number 2n+1. The basic structure and data ow of a double transmit message buffer is
Figure 13-124. Double Transmit Buffer Structure and Data Flow
Commit Side
Transmit Side
Application
FlexRay Bus
MB# 2n
MB# 2n+1
Internal Message
Transfer
message data