Users Manual

Table Of Contents
R01UH0823EJ0110 Rev.1.10 Page 1300 of 1852
Nov 30, 2020
RX23W Group 36. CAN Module (RSCAN)
Figure 36.27 Transmit Buffer Transmission Timing Chart (Transmission Completed Successfully)
(1) When the TMCa.TMTR bit (a = 0 to 3) is set to 1 while the CAN bus is idle, the transmit priority determination
processing starts to determine the highest-priority transmit buffer. If transmit buffer a is determined to be the
highest-priority transmit buffer, the corresponding TMSTSa.TMTSTS flag becomes 1 (transmission is in progress)
and the CAN channel starts transmitting data.
(2) When a transmit request from a buffer is present, the priority determination starts with the CRC delimiter for the
next transmission.
(3) When transmit completes successfully, the TMSTSa.TMTRF[1:0] flags become 10b (transmission has been
completed (without transmit abort request)), the TMSTSa.TMTSTS flag and the TMCa.TMTR bit become 0, and
the TMTCSTS.TMTCSTSa flag becomes 1. When the TMIEC.TMIEa value is 1 (transmit buffer interrupt is
enabled), a transmit interrupt request is generated. To clear the interrupt request, set the TMSTSa.TMTRF[1:0] flags
to 00b (transmission is in progress or no transmit request is present).
(4) Before starting the next transmission, set the TMSTSa.TMTRF[1:0] flags to 00b. Write the next message to the
transmit buffer, and then set the TMCa.TMTR bit to 1 (transmission is requested). The TMCa.TMTR bit can be set
to 1 only when the TMSTSa.TMTRF[1:0] flag value is 00b.
If an arbitration lost has occurred after transmission is started, the TMSTSa.TMTSTS flag becomes 0. The transmit
priority determination is reexecuted at the beginning of the CRC delimiter to search the highest-priority transmit
buffer. If an error has occurred during transmission or after arbitration lost, the priority determination processing is
reexecuted during transmission of an error frame.
(1)
(2) (3) (4)
10b
00b
00b
SOF
Determine next
transmit priority
Determine next
transmit priority
EOF
SOF
CRC delimiter EOF
INT
00b
INTCRC delimiter
High
Low
10b
[Transmit buffer a]
[Transmit buffer b]
Example of transmission from transmit buffers a and b
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
CAN bus
TMTR bit
TMTSTS flag
TMTRF[1:0] flags
TMTCSTSa flag
TMTASTSa flag
TMTR bit
TMTSTS flag
TMTRF[1:0] flags
TMTCSTSb flag
TMTASTSb flag
a = 0 to 3, b = 0 to 3
TMTR: Bit in the TMCa or TMCb register
TMTSTS, TMTRF[1:0]: Flags in the TMSTSa or TMSTSb register
TMTCSTSa, TMTCSTSb: Flags in the TMTCSTS register
TMTASTSa, TMTASTSb: Flags in the TMTASTS register