English
Language : 

LM3S2110 Datasheet, PDF (353/485 Pages) List of Unclassifed Manufacturers – Microcontroller
LM3S2110 Microcontroller
Table 14-2. Receive Message Object Bit Settings
Register CANIFnARB2 CANIFnCMSK CANIFnMCTL CANIFnARB2
CANIFnMCTL
Bit
MsgVal Arb Data Mask
EoB
Dir
NewDat MsgLst RxIE TxIE IntPnd RmtEn TxRqst
Value
1
appl appl appl
1
0
0
0 appl 0
0
0
0
The Xtd and ID bit fields in the CANIFnARBn registers are set by an application. They define the
identifier and type of accepted received messages. If an 11-bit Identifier (Standard Frame) is used,
it is programmed to bits [28:18] of CANIFnARB1, and bits [17:0] are ignored by the CAN controller.
When a Data Frame with an 11-bit Identifier is received, bits [17:0] are set to 0.
If the RxIE bit is set, the IntPnd bit is set when a received Data Frame is accepted and stored in
the message object.
When the message handler stores a Data Frame in the message object, it stores 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 are overwritten by nonspecified values.
The CAN mask registers (Msk bits in CANIFnMSKn, UMask bit in CANIFnMCTL register, and MXtd
and MDir bits in CANIFnMSK2 register) 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.
14.4.11
Handling of Received Message Objects
The CPU may read a received message any time via the CAN Interface registers because the data
consistency is guaranteed by the message handler state machine.
Typically, the CPU first writes 0x007F to the CAN IFn Command Mask (CANIFnCMSK) register
and then writes the number of the message object to the CAN IFn Command Request
(CANIFnCRQ) register. That combination transfers the whole received message from the message
RAM into the Message Buffer registers (CANIFnMSKn, CANIFnARBn, and CANIFnMCTL).
Additionally, the NewDat and IntPnd bits are cleared in the message RAM, acknowledging that
the message has been read and clearing the pending interrupt being generated by this message
object.
If the message object uses masks for acceptance filtering, the arbitration bits show which of the
matching messages has 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 is not automatically
reset.
Using a Remote Frame, the CPU may request new data from another CAN node on the CAN bus.
Setting the TxRqst bit of a receive object causes the transmission of a Remote Frame with the
receive object's identifier. This Remote Frame triggers the other CAN node to start the transmission
of the matching Data Frame. If the matching Data Frame is received before the Remote Frame
could be transmitted, the TxRqst bit is automatically reset. This prevents the possible loss of data
when the other device on the CAN bus has already transmitted the data, slightly earlier than expected.
14.4.12
Handling of Interrupts
If several interrupts are pending, the CAN Interrupt (CANINT) register points to the pending interrupt
with the highest priority, disregarding their chronological order. An interrupt remains pending until
the CPU has cleared it.
November 29, 2007
353
Preliminary