R8C/38T-A Group
20. Serial Interface (UART2)
Under development Preliminary document
Specifications in this document are tentative and subject to change.
R01UH0241EJ0010 Rev.0.10
Page 454 of 730
Aug 05, 2011
20.4.3.4
Start and Stop Conditions
(1) Setup and Hold Times
The setup time and hold time at start condition/stop condition detection may differ from the I2C standard.
The setup time and hold time at start condition/stop condition detection are as follows:
Setup time > 5 cycles (f1 clock)
Hold time > 5 cycles (f1 clock)
In the I2C standard, the start and stop condition setup and hold times are both a minimum of 600 ns in high-
speed mode. The setup and hold times of UART2 are a minimum of five cycles (f1 clock). Consequently, when
an 8 MHz f1 clock is used, the setup and hold times are a minimum of 625 ns and thus meet the I2C bus
standard for high-speed mode. However, if the main clock is used at less than 8 MHz, the setup and hold times
cannot meet the I2C standard for high-speed mode.
20.4.3.5
Transmission and Reception
During transmission, 8-bit transmit data is transmitted from the SDA2 pin. In order to receive an acknowledge,
the SDA2 pin must be released at the 9th bit of the transmit clock. To achieve this, 1 must always be written to
the 9th bit (D8) of transmit data.
During reception, the SDA2 pin must be released while it is receiving 8-bit data. In addition, an acknowledge
needs to be generated at the 9th bit of the transmit clock. To achieve this, write 1 to D7 to D0 as dummy data
during reception. D8 is ACK/NACK. ACK/NACK can be transmitted using the following three methods:
1. Use bits ACKC and ACKD in the U2SMR4 register to transmit ACK/NACK (in this case, the value of D8
is not used).
2. Use 0 as dummy data for D8. If ACK is returned, transmit the data as is. If NACK is returned, leave the
SDA2 pin open by setting the SDHI bit to 1.
3. Use 0 as dummy data for D8. If ACK is returned, transmit the data as is. If NACK is returned, leave the
SDA2 pin open using port control.
20.4.3.6
Arbitration
The arbitration detection flag is set when an acknowledge is received, so clear this flag when starting
transmission and then perform transmission.