NUC970 Technical Reference Manual
Publication Release Date: Dec. 15, 2015
- 782 -
Revision V1.30
NUC97
0
T
E
CHNIC
A
L
RE
F
E
RE
N
CE
MA
NUA
L
To prevent the reset of TxRqst at the end of a transmission that may already be in progress while the
data is updated, NewDat has to be set together with TxRqst.
When NewDat is set together with TxRqst, NewDat will be reset as soon as the new transmission has
started.
Configuring a Receive Object
5.24.7.9
The following table shows how a Receive Object should be initialized.
MsgV
a
l
A
rb
D
a
ta
Mas
k
E
oB
D
ir
N
e
wD
a
t
MsgLst
R
x
IE
TxIE
Int
P
n
d
R
m
tE
n
TxR
qst
1
appl.
appl.
appl.
1
0
0
0
appl.
0
0
0
0
Table 5.24-2 Initialization of a Receive Object
The Arbitration Registers values (ID28-0 and Xtd bit) are provided by the application. They define the
identifier and type of accepted received messages. If an 11-
bit Identifier (“Standard Frame”) is used, it
is programmed to ID28 - ID18. Then ID17 - ID0 can be disregarded. When a Data Frame with an 11-
bit Identifier is received, ID17 -
ID0 will be set to ‘0’.
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.
The Data Length Code (DLC3-0) is provided 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 will be overwritten by
unspecified values.
The Mask Registers (Msk28-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.
Handling Received Messages
5.24.7.10
The application software may read a received message any time through the IFn Interface registers.
The data consistency is guaranteed by the Message Handler state machine.
Typically, the software will write first 0x007F to the Command Mask Register and then the number of
the Message Object to the Command Request Register. This combination will transfer the whole
received message from the Message RAM into the Message Buffer Register. Additionally, the bits
NewDat and IntPnd are cleared in the Message RAM (not in the Message Buffer).
If the Message Object uses masks for acceptance filtering, the arbitration bits shows which of the
matching messages have been received.
The actual value of NewDat shows whether a new message has been received since the last time this
Message Object was read. The actual value of MsgLst shows whether more than one message has
been received since the last time this Message Object was read. MsgLst will not be automatically
reset.
By means of a Remote Frame, the software may request another CAN node to provide new data for a