SCPA063 March 2023 PCA9306
In I2C communication, every transaction consists of 8 bits (1 byte) of information from the controller followed by one bit from the target device. The bit sent by the target device can either be a 0 (usually denoted as an ACK bit), or a 1 (usually denoted as a NACK bit). When an ACK bit is sent by the target, this indicates that the data transmission was correctly received without any errors. When a NACK bit is sent by the target, this indicates that the receiver did not correctly receive the data or address transmission. There are several general conditions that can lead to the generation of a NACK in an I2C system. These conditions are detailed in ACK and NACK section of the Understanding the I2C Bus application note.
Figure 2-1 is an example which showcases a NACK occurring when the I2C controller tries to write to the target device at address 0x55h and the I2C target NACKs (does not drive SDA low on the 9th clock pulse).