All trademarks are the property of their respective owners.
I2C is a standard method of communication between multiple ICs within a system. It leverages a bus architecture with a controller device and either a single target or multiple target devices (see Figure 1-1). In some circumstances, the controller device and the target device may use two different voltage levels for I2C communication. In that case, the TCA9517 may be used to properly translate the voltage levels (see Figure 1-2). The TCA9517 is a buffered level-translator, meaning the device not only shifts the voltage levels to the needs of each device, but it also re-drives the signals in both directions. This buffer aspect of the TCA9517 can introduce propagation delays into the communication, which can result in visible SDA handoffs when recorded on an oscilloscope. This article explains what to expect on the SDA lines when the TCA9517 is used and if the result of the propagation delays from buffers like the TCA9517 are something to be concerned about.
During an I2C transaction, after the controller sends out the I2C address to the target device, the target should respond with an Acknowledge (ACK) to let the controller know the target recognizes its address and to signal to the controller to continue the transaction. This document focuses specifically on the ACK response from the target. Figure 2-1 shows the beginning of I2C communication between an I2C controller and I2C target in which the controller sends the address and the target responds with an ACK.
On the falling edge of the eighth clock cycle, the target takes control of the bus to signal to the controller that it has Acknowledged its address was called. Figure 2-2 shows the target driving the SDA line low after a short delay on the falling edge of the eighth clock pulse.
The yellow box shows illustrates the controller driving the SCL and SDA line low during a write transaction. The red box shows that there is a short period of time where both the controller and target have control of the bus after the eighth clock pulse, essentially an overlap of SDA being driven low by both controller and target. The purple box shows that the target has total control of the bus well before the start of the ninth clock pulse and through the duration of the ninth clock pulse. In this example, the open drain drivers of both the controller and the target overlapped and drove the SDA line low during the red box. This kind of example is common and occurs when the controller releases the SDA line after the target device drives the SDA line low.