RX610 Group
22. I
2
C Bus Interface (RIIC)
R01UH0032EJ0120 Rev.1.20
Page 755 of 1006
Feb 20, 2013
22.8.3
Function to Prevent Failure to Receive Data
If response processing is delayed when receive data (ICDRR) read is delayed for a period of one transfer frame or more
with receive data full (RDRF flag = 1 in ICSR2) in receive mode (TRS = 0 in ICCR2), the RIIC holds the SCLn line low
automatically immediately before the next data is received to prevent failure to receive data.
This function to prevent failure to receive data using the automatic low-hold function is also enabled even if the read
processing of the final receive data is delayed and, in the meantime, the RIIC's own slave address is designated after a
stop condition is issued. This function does not disturb other communication because the RIIC does not hold the SCLn
line low when a mismatch with its own slave address occurs after a stop condition is issued.
Sections in which the SCLn line is held low can be selected with a combination of the WAIT and RDRFS bits in ICMR3.
(1)
One-Byte Receive Operation and Automatic Low-Hold Function Using the WAIT Bit
When the WAIT bit in ICMR3 is set to 1, the RIIC performs one-byte receive operation using the WAIT bit function.
Furthermore, when the ICMR3.RDRFS bit is 0, the RIIC automatically sends the ACKBT bit value in ICMR3 for the
acknowledge bit in the period from the falling edge of the eighth SCL clock cycle to the falling edge of the ninth SCL
clock cycle, and automatically holds the SCLn line low at the falling edge of the ninth SCL clock cycle using the WAIT
bit function. This low-hold is released by reading data from ICDRR, which enables bytewise receive operation.
The WAIT bit function is enabled for receive frames after a match with the RIIC's own slave address (including the
general call address and host address) is obtained in master receive mode or slave receive mode.
(2)
One-Byte Receive Operation (ACK/NACK Transmission Control) and Automatic Low-Hold Function
Using the RDRFS Bit
When the RDRFS bit in ICMR3 is set to 1, the RIIC performs one-byte receive operation using the RDRFS bit function.
When the RDRFS bit is set to 1, the RDRF flag (receive data full) in ICSR2 is set to 1 at the rising edge of the eighth
SCL clock cycle, and the SCLn line is automatically held low at the falling edge of the eighth SCL clock cycle. This
low-hold is released by writing a value to the ACKBT bit in ICMR3, but cannot be released by reading data from ICDRR,
which enables receive operation by the ACK/NACK transmission control according to the data received in byte units.
The RDRFS bit function is enabled for receive frames after a match with the RIIC’s own slave address (including the
general call address and host address) is obtained in master receive mode or slave receive mode.