FlexRay Module (FLEXRAYV2)
MFR4300 Data Sheet, Rev. 3
174
Freescale Semiconductor
3.4.6.4.4
Message Preparation
The application provides the message data through the commit side. The transmission itself is executed
from the transmit side. The transfer of the message data from the commit side to the transmit side is done
by the
Internal Message Transfer
, which is described in
Section 3.4.6.4.5, “Internal Message Transfer
To transmit a message over the FlexRay bus, the application writes the message data into the message
buffer data field of the commit side and sets the commit bit CMT in the
Message Buffer Configuration,
Control, Status Registers (MBCCSRn)
. The physical access to the message buffer data field is described
in
Section 3.4.3.1, “Individual Message Buffers
”.
As indicated by
Table 3-102
, the application shall write to the message buffer data field and change the
commit bit CMT only if the transmit message buffer is in one of the states
HDis, HDisLck, or HLck
. The
application can change the state of a message buffer if it issues the appropriate commands given in
Table 3-104
. The state change is indicated through the MBCCSRn.EDS and MBCCSRn.LCKS status bits.
3.4.6.4.5
Internal Message Transfer
The internal message transfer transfers the message data from the commit side to the transmit side. The
internal message transfer is implemented as the swapping of the content of the
Message Buffer Index
Registers (MBIDXRn)
of the commit side and the transmit side. After the swapping, the commit side CMT
bit is cleared, the commit side interrupt flag MBIF is set, the transmit side CMT bit is set, and the transmit
side DVAL bit is cleared.
The conditions and the point in time when the internal message transfer is started are controlled by the
message buffer commit mode bit MCM in the
Message Buffer Configuration, Control, Status Registers
(MBCCSRn)
. The MCM bit configures the message buffer for either the streaming commit mode or the
immediate commit mode. A detailed description is given in
Streaming Commit Mode
and
Immediate
Commit Mode
. The Internal Message Transfer is triggered with the transition
IS
. Both sides of the message
buffer enter enter one of the CC
ITx
states. The internal message transfer is finished with the transition
IE
.
Streaming Commit Mode
The intention of the streaming commit mode is to ensure that each committed message is transmitted
at
least once
. The FlexRay module will not start the Internal Message Transfer for a message buffer as long
as the message data on the transmit side is not transmitted at least once.
The streaming commit mode is configured by clearing the message buffer commit mode bit MCM in the
Message Buffer Configuration, Control, Status Registers (MBCCSRn)
.
In this mode, the internal message transfer from the commit side to the transmit side is started for a double
transmit message buffer when all of the following conditions are fulfilled
1. the commit side is in the
Idle
state
2. the commit site message data are valid, i.e. MBCCSR[2n].CMT = 1
3. the transmit side is in one of the states
Idle
,
CCSa
, or
CCMa
4. the transmit side contains either no valid message data, i.e. MBCCSR[2n+1].CMT = 0 or
the message data were transmitted at least once, i.e. MBCCSR[2n+1].DVAL = 1