RM0046 FlexCAN
Doc ID 16912 Rev 5 539/936
0XY1
(1)
BUSY: Flexcan is updating
the contents of the MB. The
CPU must not access the
MB.
0010
An EMPTY buffer was written with a new
frame (XY was 01).
0110
A FULL/OVERRUN buffer was overwritten (XY
was 11).
1. Note that for Tx MBs (see Table 269), the BUSY bit should be ignored upon read, except when AEN bit is set in the MCR.
Table 268. Message buffer code for Rx buffers (continued)
Rx Code
BEFORE
Rx New Frame
Description
Rx Code
AFTER
Rx New Frame
Comment
Table 269. Message Buffer code for Tx buffers
RTR
Initial Tx
code
Code after
successful
transmission
Description
X 1000 – INACTIVE: MB does not participate in the arbitration process.
X 1001 –
ABORT: MB was configured as Tx and CPU aborted the transmission.
This code is only valid when AEN bit in MCR is asserted. MB does not
participate in the arbitration process.
0 1100 1000
Transmit data frame unconditionally once. After transmission, the MB
automatically returns to the INACTIVE state.
1 1100 0100
Transmit remote frame unconditionally once. After transmission, the MB
automatically becomes an Rx MB with the same ID.
0 1010 1010
Transmit a data frame whenever a remote request frame with the same
ID is received. This MB participates simultaneously in both the matching
and arbitration processes. The matching process compares the ID of the
incoming remote request frame with the ID of the MB. If a match occurs
this MB is allowed to participate in the current arbitration process and
the Code field is automatically updated to ‘1110’ to allow the MB to
participate in future arbitration runs. When the frame is eventually
transmitted successfully, the Code automatically returns to ‘1010’ to
restart the process again.
0 1110 1010
This is an intermediate code that is automatically written to the MB by
the MBM as a result of match to a remote request frame. The data frame
will be transmitted unconditionally once and then the code will
automatically return to ‘1010’. The CPU can also write this code with the
same effect.
Table 270. MB0–MB31 addresses
Address Register Address Register
Base + 0x0080 MB0 Base + 0x0180 MB16
Base + 0x0090 MB1 Base + 0x0190 MB17
Base + 0x00A0 MB2 Base + 0x01A0 MB18
Base + 0x00B0 MB3 Base + 0x01B0 MB19
Base + 0x00C0 MB4 Base + 0x01C0 MB20