SNLS478B NOVEMBER 2014 – May 2020 DS90UH940-Q1
PRODUCTION DATA.
The device may also be configured by the use of a I2C-compatible serial control bus. Multiple devices may share the serial control bus (up to eight device addresses supported). The device address is set through a resistor divider (R1 and R2 — see Figure 33 below) connected to the IDx pin.
The serial control bus consists of two signals, SCL and SDA. SCL is a serial bus clock input. SDA is the serial bus data input / output signal. Both SCL and SDA signals require an external pullup resistor to 1.8-V or 3.3-V. For most applications, TI recommends that the user adds a 4.7-kΩ pullup resistor to the 3.3-V rail, however, the pullup resistor value may be adjusted for capacitive loading and data rate requirements. See I2C Bus Pullup Resistor Calculation (SLVA689) for more information. The signals are either pulled high or driven low.
The IDx pin configures the control interface to one of eight possible device addresses. A pullup resistor and a pulldown resistor may be used to set the appropriate voltage ratio between the IDx input pin (VR2) and VDD33, each ratio corresponding to a specific device address. See Table 10 for more information.
The serial bus protocol is controlled by START, START-Repeated, and STOP phases. A START occurs when SDA transitions low while SCL is high. A STOP occurs when SDA transitions high while SCL is also HIGH. See Figure 34.
To communicate with a remote device, the host controller (master) sends the slave address and listens for a response from the slave. This response is referred to as an acknowledge bit (ACK). If a slave on the bus is addressed correctly, it acknowledges (ACKs) the master by driving the SDA bus low. If the address does not match the slave address of a device, the slave not-acknowledges (NACKs) the master by letting the SDA be pulled High. ACKs also occur on the bus when data is transmitted. When the master writes data, the slave sends an ACK after every data byte is successfully received. When the master reads data, the master sends an ACK after every data byte is received to let the slave know that the master is ready to receive another data byte. When the master wants to stop reading, the master sends a NACK after the last data byte to create a stop condition on the bus. All communication on the bus begins with either a start condition or a repeated Start condition. All communication on the bus ends with a stop condition. A READ is shown in Figure 35 and a WRITE is shown in Figure 36.
The I2C master located in the deserializer must support I2C clock stretching. For more information on I2C interface requirements and throughput considerations, refer to the I2C Communication Over FPD-Link III with Bidirectional Control Channel (SNLA131).