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 master, the master 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 master sending a logic
‘1
’ during the ninth clock cycle, at which point the AT24C512C will release the SDA line so the master can then generate
a Stop condition.
The transmitting device, which can be the bus master 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.