Configuration of Message Objects
1561
SPRUHE8E – October 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
M3 Controller Area Network (CAN)
remote frame will autonomously be answered by a data frame.
•
The Mask bits (Msk[28:0], UMask, MXtd, and MDir bits) may be used (UMask='1') to allow groups of
remote frames with similar identifiers to set the TxRqst bit. The Dir bit should not be masked. For
details see
. Identifier masking must be disabled (UMask = '0') if no remote frames are
allowed to set the TxRqst bit (RmtEn = '0').
23.10.2 Configuration of a Transmit Object for Remote Frames
It is not necessary to configure transmit objects for the transmission of remote frames. Setting TxRqst for
a receive object will cause the transmission of a remote frame with the same identifier as the data frame
for which this receive object is configured.
23.10.3 Configuration of a Single Receive Object for Data Frames
Figure 15-7 shows how a receive object for data frames can be initialized.
Figure 23-8. Initialization of a single Receive Object for Data Frames
MsgVal
Arb
Data
Mask
EoB
Dir
NewDat
MsgLst
RxIE
TxIE
IntPnd
RmtEn
TxRqst
1
appl.
appl.
appl.
1
0
0
0
appl.
0
0
0
0
•
The arbitration bits (ID[28:0] and Xtd bit) are given by the application. They define the identifier and
type of accepted received messages. If an 11-bit Identifier (Standard Frame) is used (Xtd = '0'), it is
programmed to ID[28:18]. In this case, ID[17:0] can be ignored. When a data frame with an 11-bit
Identifier is received, ID[17:0] will be set to '0'.
•
The data length code (DLC[3:0]) is given by the application. When the message handler stores a data
frame in the message object, it will store the received data length code and eight data bytes. If the data
length code is less than 8, the remaining bytes of the message object may be overwritten by non
specified values.
•
The mask bits (Msk[28:0], UMask, MXtd, and MDir bits) may be used (UMask = '1') to allow groups of
data frames with similar identifiers to be accepted. The Dir bit should not be masked in typical
applications. If some bits of the Mask bits are set to "don't care", the corresponding bits of the
Arbitration register will be overwritten by the bits of the stored data frame.
•
If the RxIE bit is set, the IntPnd bit will be set when a received data frame is accepted and stored in the
message object.
•
If the TxRqst bit is set, the transmission of a remote frame with the same identifier as actually stored in
the Arbitration bits will be triggered. The content of the Arbitration bits may change if the Mask bits are
used (UMask = '1') for acceptance filtering.
23.10.4 Configuration of a Single Receive Object for Remote Frames
shows how a receive object for remote frames can be initialized.
Figure 23-9. Initialization of a single Receive Object for Remote Frames
MsgVal
Arb
Data
Mask
EoB
Dir
NewDat
MsgLst
RxIE
TxIE
IntPnd
RmtEn
TxRqst
1
appl.
appl.
appl.
1
1
0
0
appl.
0
0
0
0
•
Receive objects for remote frames may be used to monitor remote frames on the CAN bus. The
remote frame stored in the receive object will not trigger the transmission of a data frame. Receive
objects for remote frames may be expanded to a FIFO buffer, see
.
•
UMask must be set to '1'. The Mask bits (Msk[28:0], UMask, MXtd, and MDir bits) may be set to "must-
match" or to "don't care", to allow groups of remote frames with similar identifiers to be accepted. The
Dir bit should not be masked in typical applications. For details see
•
The arbitration bits (ID[28:0] and Xtd bit) may be given by the application. They define the identifier and
type of accepted received remote frames. If some bits of the Mask bits are set to "don't care", the
corresponding bits of the arbitration bits will be overwritten by the bits of the stored remote frame. If an
11-bit Identifier (standard frame) is used (Xtd = '0'), it is programmed to ID[28:18]. In this case, ID[17:0]
can be ignored. When a remote frame with an 11-bit Identifier is received, ID[17:0] will be set to '0'.
•
The data length code (DLC[3:0]) may be given by the application. When the message handler stores a