RL78/F13, F14 CHAPTER 18 CAN INTERFACE (RS-CAN LITE)
R01UH0368EJ0210 Rev.2.10 1416
Dec 10, 2015
(1) When the TMTR bit in the TMCa register 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 TMTSTS flag in the corresponding TMSTSa register is set to 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 TMTRF[1:0] flag in the TMSTSa register is set to B'10 (transmission has
been completed (without transmit abort request)), the TMTSTS flag and the TMTR bit in the TMCa register are
cleared to 0, and the TMTCSTSa bit in the TMTCSTS register is set to 1. When the TMIEa value in the TMIEC
register is 1 (transmit buffer interrupt is enabled), a CANi transmit interrupt request is generated. To clear the
interrupt request, set the TMTRF[1:0] flag to B'00 (transmission is in progress or no transmit request is present).
(4) Before starting the next transmission, set the TMTRF[1:0] flag to B'00. Write the next message to the transmit buffer,
and then set the TMTR bit to 1 (transmission is requested). The TMTR bit can be set to 1 only when the TMTRF[1:0]
flag value is B'00.
If an arbitration lost has occurred after transmission is started, the TMTSTS flag is cleared to 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.
Figure 18-28. Transmit Buffer Transmission Timing Chart (Transmit Abort Completed)
Determine next
transmit priority
TMTCSTSa flag
TMTCSTSb flag
(1) (3) (4) (5)
B'01B'00
B'00
SOF EOF SOF EOF INT
B'00
INT
H
L
[Transmit buffer a]
[Transmit buffer b]
(2) (6)
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
Remark 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: Flag in the TMTCSTS register
TMTASTSa, TMTASTSb: Flag in the TMTASTS register
Example of transmission from transmit buffers a and b
CAN bus
TMTR bit
TMTAR bit
TMTSTS flag
TMTRF[1:0] flag
TMTASTSa flag
TMTR bit
TMTAR bit
TMTSTS flag
TMTRF[1:0] flag
TMTASTSb flag
CRC delimiter
CRC delimiter
B'11
Determine next
transmit priority
Determine next
transmit priority