English
Language : 

LM3S2739 Datasheet, PDF (399/532 Pages) List of Unclassifed Manufacturers – Microcontroller
LM3S2739 Microcontroller
16.4.7
Receiving a Data Frame
The message handler stores the message from the CAN module receive shift register into the
respective message object in the message RAM. It stores the data bytes, all arbitration bits, and
the Data Length Code into the corresponding message object. This is implemented to keep the data
bytes connected with the identifier even if arbitration mask registers are used. The
CANIFnMCTL.NewDat bit is set to indicate that new data has been received. The CPU should reset
CANIFnMCTL.NewDat when it reads the message object to indicate to the controller that the
message has been received and the buffer is free to receive more messages. If the CAN controller
receives a message and the CANIFnMCTL.NewDat bit was already set, the MsgLst bit is set to
indicate that the previous data was lost. If the CANIFnMCTL.RxIE bit is set, the
CANIFnMCTL.IntPnd bit is set, causing the CANINT interrupt register to point to the message
object that just received a message. The CANIFnMCTL.TxRqst bit of this message object is reset
to prevent the transmission of a Remote Frame, while the requested Data Frame has just been
received.
16.4.8
Receiving a Remote Frame
When a Remote Frame is received, three different configurations of the matching message object
have to be considered:
■ Dir = 1 (direction = transmit), RmtEn = 1, UMask = 1 or 0
At the reception of a matching Remote Frame, the TxRqst bit of this message object is set. The
rest of the message object remains unchanged.
■ Dir = 1 (direction = transmit), RmtEn = 0, UMask = 0
At the reception of a matching Remote Frame, the TxRqst bit of this message object remains
unchanged; the Remote Frame is ignored. This remote frame is disabled and will not automatically
respond or indicate that the remote frame ever happened.
■ Dir = 1 (direction = transmit), RmtEn = 0, UMask = 1
At the reception of a matching Remote Frame, the TxRqst bit of this message object is reset.
The arbitration and control field (ID + Xtd + RmtEn + DLC) from the shift register is stored into
the message object in the message RAM and the NewDat bit of this message object is set. The
data field of the message object remains unchanged; the Remote Frame is treated similar to a
received Data Frame. This is useful for a remote data request from another CAN device for which
the Stellaris® controller does not have readily available data The software must fill the data and
answer the frame manually.
16.4.9
Receive/Transmit Priority
The receive/transmit priority for the message objects is controlled by the message number. Message
object 1 has the highest priority, while message object 32 has the lowest priority. If more than one
transmission request is pending, the message objects are transmitted in order based on the message
object with the lowest message number. This should not be confused with the message identifier
as that priority is enforced by the CAN bus. This means that if message object 1 and message object
2 both have valid messages that need to be transmitted, message object 1 will always be transmitted
first regardless of the message identifier in the message object itself.
16.4.10 Configuring a Receive Message Object
Table 16-2 on page 400 specifies the bit settings for a transmit message object.
June 04, 2007
399
Preliminary