
M0A21/M0A23 Series
May 06, 2022
Page
613
of 746
Rev 1.02
M0
A21
/M
0
A
2
3
SE
RIES
TEC
H
NICAL
RE
FEREN
C
E
M
ANUAL
Data Transfer from Shift Register to the Acceptance Filtering unit
Scanning of Message RAM for a matching Message Object
Handling of TxRqst flags
Handling of interrupts.
Data Transfer from/to Message RAM
When the application software initiates a data transfer between the IFn Registers and Message RAM,
the Message Handler sets the Busy bit (CAN_IFn_CREQ[15]
) to ‘1’. After the transfer has completed,
the Busy bit is again cleared (see Figure 6.16-5).
The respective Command Mask Register specifies whether a complete Message Object or only parts of
it will be transferred. Due to the structure of the Message RAM, it is not possible to write single bits/bytes
of one Message Object. It is always necessary to write a complete Message Object into the Message
RAM. Therefore, the data transfer from the IFn Registers to the Message RAM requires a read-modify-
write cycle. First, those parts of the Message Object that are not to be changed are read from the
Message RAM and then the complete contents of the Message Buffer Registers are written into the
Message Object.
START
Write Command Request Register
Busy = 1
WR/RD = 1
Read Message Object to IFn
Write IFn to Message RAM
Read Message Object to IFn
NO
YES
Busy = 0
Figure 6.16-5 Data Transfer between IFn Registers and Message
After a partial write of a Message Object, the Message Buffer Registers that are not selected in the
Command Mask Register will set the actual contents of the selected Message Object.
After a partial read of a Message Object, the Message Buffer Registers that are not selected in the
Command Mask Register will be left unchanged.