5.3 Acknowledge and No-Acknowledge
After every byte of data is received, the receiving device must confirm to the transmitting
device that it has successfully received the data byte by responding with what is known as
an Acknowledge (ACK). An ACK is accomplished by the transmitting device first releasing the
SDA line at the falling edge of the eighth clock cycle, followed by the receiving device
responding with a logic ‘0
’ during the entire high period of the ninth
clock cycle.
When the AT24C512C is transmitting data to
the host, the host can indicate that it is done receiving data and wants to end the
operation by sending a logic ‘1
’ response to the AT24C512C instead of an ACK response during the ninth clock cycle. This is known as
a No-Acknowledge (NACK) and is accomplished by the host sending a logic
‘1
’ during the ninth clock cycle, at which point the AT24C512C will release the SDA line so the host can then generate a
Stop condition.
The transmitting device, which can be the bus host or the Serial
EEPROM, must release the SDA line at the falling edge of the eighth clock cycle to allow
the receiving device to drive the SDA line to a logic ‘0
’ to ACK the
previous 8-bit word. The receiving device must release the SDA line at the end of the ninth
clock cycle to allow the transmitter to continue sending new data. A timing diagram has
been provided in Figure 5-1 to better illustrate these
requirements.