CAN Controller
UG0331 User Guide Revision 15.0
439
12.2.2.2 Remove a Message from a Transmit Holding Register
A message can be removed from the transmit holding buffer by asserting the TxAbort flag. The content of
a particular transmit message buffer can be removed by setting TxAbort to 1 to request message
removal. This flag remains set as long as the message abort request is pending. It is cleared when either
the message wins arbitration (tx_msg interrupt active) or the message is removed (tx_msg interrupt
inactive).
12.2.2.2.1 Single-Shot Transmission
Single-shot transmission (SST) mode is used in systems where the retransmission of a CAN message
due to an arbitration loss or a bus error must be prevented. An SST request is set by asserting TxReq
and TxAbort at the same time. Upon a successful message transmission, both flags are cleared.
If an arbitration loss or if a bus error happens during the transmission, the TxReq and TxAbort flags are
cleared when the message is removed or when the message wins arbitration. At the same time, the
sst_failure interrupt is asserted.
12.2.3
Receive Procedures
The CAN controller provides 32 individual receive message buffers. Each one has its own message filter
mask. Automatic reply to RTR messages is supported. If a message is accepted in a receive buffer, its
MsgAv flag is set. The message remains valid as long as MsgAv flag is set. The host CPU has to reset
the MsgAv flag to enable receipt of a new message. The following figure shows the overall block diagram
of the receive message buffers.
Figure 168 •
Receive Message Buffers
12.2.3.1 Received Message Processing
After a new message is received, the receive message handler searches all receive buffers, starting from
the receive message0 until it finds a valid buffer. A valid buffer is indicated by:
•
Receive buffer is enabled (indicated by RxBufferEbl = 1)
•
Acceptance filter of receive buffer matches incoming message
TxMessage1
RxMessage0
RxMessage1
RxMessage2
RxMessage31
External
Transceiver
Chip
CAN
Framer
Receive Message
Handler
RX
TX
TX_EN_N