Figure 30-11 shows how a receive object for data frames can be initialized.
Figure 30-11 Initialization of a Single Receive Object for Data FramesMsgVal | 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. The arbitration bits define the identifier and type of
accepted received messages. If an 11-bit Identifier (Standard Frame) is used
(Xtd = 0), the Identifier 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] is
set to 0.
- When the message handler stores a data frame in
the message object, the message handler stores the received data length code and
the corresponding number of data bytes. If the data length code is less than 8,
the remaining bytes of the message object can be overwritten by non-specified
values.
- The mask bits (Msk[28:0], UMask, MXtd, and MDir
bits) can be used (UMask = 1) to allow groups of data frames with similar
identifiers to be accepted. The Dir bit must 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 are overwritten by the bits of
the stored data frame.
- If the RxIE bit is set, the IntPnd bit is 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 stored in the Arbitration bits is
triggered. The content of the Arbitration bits can change if the Mask bits are
used (UMask = 1) for acceptance filtering.