
CHAPTER 17 I
2C BUS
Preliminary User’s Manual U16541EJ1V0UM
472
17.6.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.
(a)Reception was not performed normally.
(b)The final data was received.
When the receiving device sets the SDA0n line to low level during the ninth clock, the ACK signal becomes active
(normal receive response).
When the ACKEn bit of the IICCn register is set to 1, automatic ACK signal generation is enabled (n = 0 to 2).
Transmission of the eighth bit following the 7 address data bits causes the TRCn bit of the IICSn register to be set.
When this TRCn bit’s value is 0, it indicates receive mode. Therefore, the ACKEn bit should be set to 1.
When the slave device is receiving (when TRCn bit = 0), if the slave device does not need to receive any more
data after receiving several bytes, clearing the ACKEn bit to 0 will prevent the master device from starting
transmission of the subsequent data.
Similarly, when the master device is receiving (when TRCn 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 ACKEn bit to 0 will prevent
the ACK signal from being returned.
This prevents the MSB from being output via the SDA0n line (i.e., stops
transmission) during transmission from the slave device.
Figure 17-11. ACK Signal
SCL0n
1
SDA0n
23456789
AD6
AD5
AD4
AD3
AD2
AD1
AD0
R/W ACK
Remark
n = 0 to 2
When the local address is received, an ACK signal is automatically output in synchronization with the falling edge
of the SCL0n pin’s eighth clock regardless of the value of the ACKEn bit. 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: The ACK signal is output at the falling edge of the SCL0n pin’s eighth clock if the
ACKEn bit is set to 1 before wait cancellation.
When 9-clock wait is selected: The ACK signal is automatically output at the falling edge of the SCL0n pin’s eighth
clock if the ACKEn bit has already been set to 1.