CHAPTER 11 SERIAL INTERFACE FUNCTION
392
User’s Manual U15109EJ3V0UD
(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 SDAn line to low level during the ninth clock, the ACK signal becomes active
(normal receive response).
When bit 2 (ACKEn) of IIC control register n (IICCn) is set to 1, automatic ACK signal generation is enabled (n =
0, 1).
Transmission of the eighth bit following the 7 address data bits causes bit 3 (TRCn) of IIC status register n
(IICSn) to be set. When this TRCn bit’s value is 0, it indicates receive mode. Therefore, ACKEn should be set to
1 (n = 0, 1).
When the slave device is receiving (when TRCn = 0), if the slave device does not need to receive any more data
after receiving several bytes, setting ACKEn to 0 will prevent the master device from starting transmission of the
subsequent data.
Similarly, when the master device is receiving (when TRCn = 0) and the subsequent data is not needed and
when either a restart condition or a stop condition should therefore be output, setting ACKEn to 0 will prevent the
ACK signal from being returned. This prevents the MSB data from being output via the SDAn line (i.e., stops
transmission) during transmission from the slave device.
Figure 11-28. ACK Signal
SCLn
1
SDAn
2
3
4
5
6
7
8
9
AD6
AD5
AD4
AD3
AD2
AD1
AD0
R/W ACK
Remark
n = 0, 1
When the local address is received, an ACK signal is automatically output in synchronization with the falling
edge of the SCLn’s eighth clock regardless of the ACKEn value. No ACK signal is output if the received address
is not a local address (n = 0, 1).
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 SCLn’s eighth clock if ACKEn is
set to 1 before wait cancellation.
When 9-clock wait is selected: ACK signal is automatically output at the falling edge of the SCLn’s eighth clock
if ACKEn has already been set to 1.