Controller area network (bxCAN)
RM0090
1076/1731
DocID018909 Rev 11
The transmit mailboxes can be configured as a transmit FIFO by setting the TXFP bit in the
CAN_MCR register. In this mode the priority order is given by the transmit request order.
This mode is very useful for segmented transmission.
Abort
A transmission request can be aborted by the user setting the ABRQ bit in the CAN_TSR
register. In
pending
or
scheduled
state, the mailbox is aborted immediately. An abort
request while the mailbox is in
transmit
state can have two results. If the mailbox is
transmitted successfully the mailbox becomes
empty
with the TXOK bit set in the
CAN_TSR register. If the transmission fails, the mailbox becomes
scheduled,
the
transmission is aborted and becomes
empty
with TXOK cleared. In all cases the mailbox
will become
empty
again at least at the end of the current transmission.
Nonautomatic retransmission mode
This mode has been implemented in order to fulfil the requirement of the Time Triggered
Communication option of the CAN standard. To configure the hardware in this mode the
NART bit in the CAN_MCR register must be set.
In this mode, each transmission is started only once. If the first attempt fails, due to an
arbitration loss or an error, the hardware will not automatically restart the message
transmission.
At the end of the first transmission attempt, the hardware considers the request as
completed and sets the RQCP bit in the CAN_TSR register. The result of the transmission is
indicated in the CAN_TSR register by the TXOK, ALST and TERR bits.
Figure 340. Transmit mailbox states
EMPTY
TXRQ=1
RQCP=X
TXOK=X
PENDING
RQCP=0
TXOK=0
S
CHEDULED
RQCP=0
TXOK=0
b
ox has
TRAN
S
MIT
RQCP=0
TXOK=0
CAN Bus = IDLE
Transmit failed * NART
Transmit succeeded
b
ox does not
EMPTY
RQCP=1
TXOK=0
highest priority
have highest priority
EMPTY
RQCP=1
TXOK=1
ABRQ=1
ABRQ=1
Transmit failed * NART
TME = 1
TME = 0
TME = 0
TME = 0
TME = 1
TME = 1