
Rev.2.10 Apr 14, 2006 page 245 of 378
REJ09B0124-0210
M16C/6N Group (M16C/6NK, M16C/6NM) 19. CAN Module
19.15.2 Transmission
Figure 19.21 shows the Timing of Transmit Sequence.
CTX
TrmReq bit
TrmActive bit
CANi successful
transmission interrupt
TrmState bit
TrmSucc bit
MBOX bit
SentData bit
Transmission slot No.
CiMCTLj register
CiSTR register
(1)
(2)
(2)
(1)
(1)
(3)
(4)
(3)
(3)
i = 0, 1
j = 0 to 15
SOF SOFEOF IFSACK
Figure 19.21 Timing of Transmit Sequence
(1) If the TrmReq bit in the CiMCTLj register (i = 0, 1, j = 0 to 15) is set to 1 (transmission slot) in the bus
idle state, the TrmActive bit in the CiMCTLj register and the TrmState bit in the CiSTR register are set
to 1 (transmitting/transmitter), and CAN module starts the transmission.
(2) If the arbitration is lost after the CAN module starts the transmission, bits TrmActive and TrmState are
set to 0.
(3) If the transmission has been successful without lost in arbitration, the SentData bit in the CiMCTLj
register is set to 1 (transmission is successfully completed) and TrmActive bit is set to 0 (waiting for
bus idle or completion of arbitration). And when the interrupt enable bits in the CiICR register = 1
(interrupt enabled), CANi successful transmission interrupt request is generated and the MBOX (the
slot number which transmitted the message) and TrmSucc bit in the CiSTR register are changed.
(4) When starting the next transmission, set bits SentData and TrmReq to 0. And set the TrmReq bit to 1
after checking that bits SentData and TrmReq are set to 0.
Comentários a estes Manuais