English
Language : 

UPD78F1502AGK-GAK-AX Datasheet, PDF (616/1031 Pages) Renesas Technology Corp – 16-Bit Single-Chip Microcontrollers
78K0R/Lx3
CHAPTER 15 SERIAL INTERFACE IICA
15.5.4 Acknowledge (ACK)
ACK is used to check the status of serial data at the transmission and reception sides.
The reception side returns ACK each time it has received 8-bit data.
The transmission side usually receives ACK after transmitting 8-bit data. When ACK is returned from the reception side,
it is assumed that reception has been correctly performed and processing is continued. Whether ACK has been detected
can be checked by using bit 2 (ACKD) of the IICA status register (IICS).
When the master receives the last data item, it does not return ACK and instead generates a stop condition. If a slave
does not return ACK after receiving data, the master outputs a stop condition or restart condition and stops transmission.
If ACK is not returned, the possible causes are as follows.
<1> Reception was not performed normally.
<2> The final data item was received.
<3> The reception side specified by the address does not exist.
To generate ACK, the reception side makes the SDA0 line low at the ninth clock (indicating normal reception).
Automatic generation of ACK is enabled by setting bit 2 (ACKE) of IICA control register 0 (IICCTL0) to 1. Bit 3 (TRC) of
the IICS register is set by the data of the eighth bit that follows 7-bit address information. Usually, set ACKE to 1 for
reception (TRC = 0).
If a slave can receive no more data during reception (TRC = 0) or does not require the next data item, then the slave
must inform the master, by clearing ACKE to 0, that it will not receive any more data.
When the master does not require the next data item during reception (TRC = 0), it must clear ACKE to 0 so that ACK
is not generated. In this way, the master informs a slave at the transmission side that it does not require any more data
(transmission will be stopped).
Figure 15-18. ACK
SCL0
1 2 34 5 6 78 9
SDA0
A6 A5 A4 A3 A2 A1 A0 R/W ACK
When the local address is received, ACK is automatically generated, regardless of the value of ACKE. When an
address other than that of the local address is received, ACK is not generated (NACK).
When an extension code is received, ACK is generated if ACKE is set to 1 in advance.
How ACK is generated when data is received differs as follows depending on the setting of the wait timing.
• When 8-clock wait state is selected (bit 3 (WTIM) of IICCTL0 register = 0):
By setting ACKE to 1 before releasing the wait state, ACK is generated at the falling edge of the eighth clock of the
SCL0 pin.
• When 9-clock wait state is selected (bit 3 (WTIM) of IICCTL0 register = 1):
ACK is generated by setting ACKE to 1 in advance.
R01UH0004EJ0501 Rev.5.01
600
Jun 20, 2011