GD32A50x User Manual
623
The shift-in process can be cancelled for a Rx mailbox, but can not be cancelled for the Rx
FIFO. The shift-in process will be cancelled when matching one of the following situations:
The target mailbox is inactivated after the CAN bus has reached the first bit of
Intermission field next to the frame that carried the message and its matching process
has finished.
The Rx shift buffer receives a message transmitted by itself while the self reception is
disabled by setting SRDIS bit in CAN_CTL0 register.
There is a CAN protocol error.
When the shift-in process is done, Rx mailbox descriptor or Rx FIFO descriptor (if Rx FIFO is
enabled) will be updated with the received message, and CAN_RFIFOIFMN will be updated
if shift-in to the Rx FIFO, CODE field of Rx mailbox descriptor will be updated if shift-in to the
Rx mailbox.
Filter data configuration
When Rx FIFO is disabled:
If RPFQEN bit in CAN_CTL0 register is 0, then CAN_RMPUBF is used for all mailboxes.
If RPFQEN bit in CAN_CTL0 register is 1, then CAN_RFIFOMPFx (x = 0..31) is used for
mailboxes individually.
When Rx FIFO is enabled:
If RPFQEN bit in CAN_CTL0 register is 0, then CAN_RMPUBF is used for all mailboxes,
CAN_RFIFOPUBF and CAN_RFIFOMPFx (x = 0..31) are used for all the Rx FIFO ID
filter table elements, and the value of these registers must be all the same.
If RPFQEN bit in CAN_CTL0 register is 1, then CAN_RFIFOMPFx (x = 0..31) is used for
the Rx FIFO ID filter table elements defined by RFFN[3:0] bits in CAN_CTL2 register and
the mailboxes individually (because the Rx FIFO descriptor and the Rx mailbox
descriptors can not occupy the same RAM space at the same time), CAN_RFIFOPUBF
is used for the Rx FIFO ID filter table elements of the rest.
Self reception
When SRDIS bit in CAN_CTL0 register is 1, self reception is disabled, thus the frames
transmitted by itself will not be received even if there is a matched Rx mailbox or Rx FIFO is
matched, and no flag or interrupt will be generated. When the SRDIS bit is 0, it is allowed to
receive a matching frame sent by itself.
23.3.7.
Data reception in Pretended Networking mode
When PNEN bit and PNMOD bit in CAN_CTL0 register are configured to 1,the Pretended
Networking mode is enabled, then the CAN is able to process received messages in MCU
sleep mode. A wakeup event will wake up the CAN module from the Pretended Networking
mode.