Message Object Configurations
1436
SPNU563A – March 2018
Copyright © 2018, Texas Instruments Incorporated
Controller Area Network (DCAN) Module
27.7 Message Object Configurations
This section describes the possible message object configurations for CAN communication.
27.7.1 Configuration of a Transmit Object for Data Frames
shows how a Transmit Object can be initialized.
Figure 27-9. Initialization of a Transmit Object
MsgVal
Arb
Data
Mask
EoB
Dir
NewDat
MsgLst
RxIE
TxIE
IntPnd
RmtEn
TxRqst
1
appl.
appl.
appl.
1
1
0
0
0
appl.
0
appl.
0
The Arbitration bits (ID[28:0] and Xtd bit) are given by the application. They define the identifier and type
of the outgoing message. 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.
The Data Registers (DLC[3:0] and Data0-7) are given by the application, TxRqst and RmtEn should not be
set before the data is valid.
If the TxIE bit is set, the IntPnd bit will be set after a successful transmission of the message object.
If the RmtEn bit is set, a matching received Remote Frame will cause the TxRqst bit to be set; the 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).
27.7.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.
27.7.3 Configuration of a Single Receive Object for Data Frames
shows how a Receive Object for Data Frames can be initialized.
Figure 27-10. 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.