![](http://datasheet.mmic.net.cn/370000/PFR4200MAE40_datasheet_16728610/PFR4200MAE40_186.png)
MFR4200 FlexRay Communication Controller
MFR4200 Data Sheet, Rev. 0
186
Freescale Semiconductor
3.6
Receive FIFO Function
Some or all of the message buffers can be configured as a receive first-in-first-out (FIFO) system.
The FIFO always starts at message buffer 0 and can be configured to a maximum of 59 message message
buffers by means of the FIFO size register (see
Section 3.2.3.7.1, “FIFO Size Register (FSIZR)
”).
Table 3-18. Double Transmit Message Buffer Data Collection with Event Driven Transmit Operation
Time
Point
Host Operations
CC Operations
1
The host sends a lock request to a host part buffer of a
double transmit message buffer (it writes LOCK=’1’) and
receives a request acknowledge (read back value of the
LOCK=’1’).
The Valid bit of the CC part buffer is ‘0’ – data is not valid
and the CC does not transmit frame containing data from
this buffer
2
The host part buffer is locked. The host updates the buffer
contents.
The Valid bit of the CC part buffer is ‘0’ – data is not valid
and the CC does not transmit frame containing data from
this buffer
3
The host part buffer is locked. The host updates the buffer
contents.
The Valid bit of the CC part buffer is ‘0’ – data is not valid
and the CC does not transmit frame containing data from
this buffer
4
The host part buffer is locked. The host finished data
update (buffer holds the DATA1), committed the buffer for
transmission (BUFCMT=’1’) and sent an unlock request
(it writes again LOCK=’1’)
The Valid bit of the CC part buffer is ‘0’ – data is not valid
and the CC does not transmit frame containing data from
this buffer
5
Unlock granted.
The CC clears the IFLG bit of the host part buffer to ‘0’ and
sets the VALID bit. The CC performs an atomic swap of
the host part and CC part buffers including the BUFCSnR
registers and starts a copy process.
6
–
The atomic swap of the host part and CC part buffers is
done. The CC starts the copy process from the new CC
part buffer to the host part buffer. BUFCMT bit of the host
part buffer is ‘1’ until those processes are finished (The
host cannot lock the host part buffer).
7
–
The CC continues the copy process and starts frames
transmission. The CC sends a buffer lock request for CC
part buffer to transmit the frame this buffer holds.
8
The host sends a lock request to a host part buffer of a
double transmit message buffer (it writes LOCK=’1’) but
does not receive a lock request acknowledge (read back
value of the LOCK=’0’) due to the copy process running.
The CC continues the copy process.The CC locked the
CC part buffer and transmits the frame from it.
9
–
The CC transmits the frame from the CC part buffer. The
CC finished the copy process (The host can lock the
buffer).
10
The host sends a lock request to a host part buffer of a
double transmit message buffer (it writes LOCK=’1’) and
receives a request acknowledge (read back value of the
LOCK=’1’) and has starts to update data in the host part
buffer.
The CC transmits the frame from the CC part buffer.