SCPA063 March 2023 PCA9306
Before any address or data bits are sent over an I2C bus, a start condition must be sent. A high-to-low transition on the SDA line while SCL is high defines a start condition (SCL must go low after this transition occurs for the frame to officially begin). Use an oscilloscope to verify that a start condition is properly initiated before any data or address bits are sent on the I2C bus. Figure 3-2 shows what a start condition looks like and the minimum hold time required according to the frequency of operation.
After the address and data bits are sent, a stop condition is initiated so the controller can let the bus go idle (assuming there is not another controller on the bus, in which case a restart condition can be valid). A low-to-high transition on the SDA line while SCL is already high defines a stop condition. Use an oscilloscope to verify that a stop condition is properly initiated once the controller is ready to let the I2C bus go idle. Figure 3-3 shows a stop condition and the minimum setup time required according to the frequency of operation.