![](http://datasheet.mmic.net.cn/370000/UPD70F3214HGC-8EU_datasheet_16743828/UPD70F3214HGC-8EU_547.png)
CHAPTER 19 I
2
C BUS
User’s Manual U16890EJ1V0UD
547
19.5.4 Acknowledge signal (ACK)
The acknowledge signal (ACK) is used by the transmitting and receiving devices to confirm serial data reception.
The receiving device returns one ACK signal for each 8 bits of data it receives. The transmitting device normally
receives an ACK signal after transmitting 8 bits of data. However, when the master device is the receiving device, it
does not output an ACK signal after receiving the final data to be transmitted. The transmitting device detects whether
or not an ACK signal is returned after it transmits 8 bits of data. When an ACK signal is returned, the reception is
judged as normal and processing continues. If the slave device does not return an ACK signal, the master device
outputs either a stop condition or a restart condition and then stops the current transmission. Failure to return an ACK
signal may be caused by the following two factors.
<1> Reception was not performed normally.
<2> The final data was received.
When the receiving device sets the SDA0 line to low level during the ninth clock, the ACK signal becomes active
(normal receive response).
When the IICC0.ACKE0 bit is set to 1, automatic ACK signal generation is enabled.
Transmission of the eighth bit following the 7 address data bits causes the IICS0.TRC0 bit to be set. When this
TRC0 bit’s value is 0, it indicates receive mode. Therefore, the ACKE0 bit should be set to 1.
When the slave device is receiving (when TRC0 bit = 0), if the slave device does not need to receive any more data
after receiving several bytes, clearing the ACKE0 bit to 0 will prevent the master device from starting transmission of
the subsequent data.
Similarly, when the master device is receiving (when TRC0 bit = 0) and the subsequent data is not needed and
when either a restart condition or a stop condition should therefore be output, clearing the ACKE0 bit to 0 will prevent
the ACK signal from being returned. This prevents the MSB data from being output via the SDA0 line (i.e., stops
transmission) during transmission from the slave device.
Figure 19-8. Acknowledge Signal (ACK)
SCL0
1
SDA0
2
3
4
5
6
7
8
9
AD6
AD5
AD4
AD3
AD2
AD1
AD0
R/W ACK
When the local address is received, an ACK signal is automatically output in synchronization with the falling edge
of the SCL0 pin’s eighth clock regardless of the ACKE0 bit value. No ACK signal is output if the received address is
not a local address.
The ACK signal output method during data reception is based on the wait timing setting, as described below.
When 8-clock wait is selected: ACK signal is output at the falling edge of the SCL0 pin’s eighth clock if the
(IICC0.WTIM0 bit = 0)
ACKE0 bit is set to 1 before wait cancellation.
When 9-clock wait is selected: ACK signal is automatically output at the falling edge of the SCL0 pin’s eighth
(WTIM0 bit = 1)
clock if the ACKE0 bit has already been set to 1.