SLVSB64I November 2011 – March 2018 TPS65217
The TPS65217x device hosts a slave I2C interface that is compliant with I2C standard 3.0 and supports data rates up to 400 kbit/s and auto-increments addressing.
The I2C bus is a communications link between a controller and a series of slave terminals. The link is established using a two-wire bus consisting of a serial clock signal (SCL) and a serial data signal (SDA). The serial clock is sourced from the controller in all cases, where the serial data line is bidirectional for data communication between the controller and the slave terminals. Each device has an open-drain output to transmit data on the serial data line. An external pullup resistor must be placed on the serial data line to pull the drain output high during data transmission.
Data transmission is initiated with a start bit from the controller as shown in Figure 28. The start condition is recognized when the SDA line goes from high to low during the high portion of the SCL signal. On reception of a start bit, the device receives serial data on the SDA input and checks for valid address and control information. If the appropriate group and address bits are set for the device, then the device issues an acknowledge (ACK) pulse and prepares for the reception of subaddress data. Subaddress data is decoded and responded to according to the Register Maps. Data transmission is completed by either the reception of a stop condition or the reception of the data word sent to the device. A stop condition is recognized as a low-to-high transition of the SDA input during the high portion of the SCL signal. All other transitions of the SDA line must occur during the low portion of the SCL signal. An acknowledge is issued after the reception of a valid address, subaddress, and data words. The I2C interface auto-sequences through the register addresses, so that multiple data words can be sent for a given I2C transmission. For details, see Figure 26, Figure 27, and Figure 28.