SPRUHM8K December 2013 – May 2024 TMS320F28374D , TMS320F28375D , TMS320F28376D , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28378D , TMS320F28379D , TMS320F28379D-Q1
Once the CAN is initialized and the Init bit is reset to zero, the CAN Core synchronizes to the CAN bus and is ready for communication.
Received messages are stored into the appropriate message objects, if the messages pass acceptance filtering. The whole message (MSGID, DLC, and up to 8 data bytes) is stored into the message object. As a consequence, for example, if the identifier mask is used, the MSGID bits that are masked to "don't care" can change in the message object when a received message is stored.
The CPU can read or write each message at any time using the interface registers, as the message handler provides data consistency in case of concurrent accesses.
Messages to be transmitted can be updated by the CPU. If a permanent message object (MSGID, control bits set up during configuration, and setup for multiple CAN transfers) exists for the message, it is possible to only update the data bytes. If several transmit messages must be assigned to one message object, the whole message object has to be configured before the transmission of this message is requested.
The transmission of multiple message objects can be requested at the same time. The message objects are subsequently transmitted, according to the internal priority. Messages can be updated or set to "not valid" at any time, even if a requested transmission is still pending. However, the data bytes are discarded if a message is updated before a pending transmission has started.
Depending on the configuration of the message object, a transmission can be automatically requested by the reception of a remote frame with a matching identifier.