Electronic – Why are input and output of I2C voltage level shifters connected

i2c

Below is a schematic for a board from ST for testing VL53L1X sensor. It converts 3.3V to 2.8V internally because the sensor's recommended operating voltage is 2.8V.

VL53L1X Test Board

The green lines are SCL and SDA lines for communicating with the sensor. It goes through ST2329AQTR (at the center of the image) to shift from 3.3V to 2.8V. This level shifter has the following block diagrams:

ST2329A

What I cannot figure out is why SDA is connected to SDA_2.8V and SCL to SCL_2.8V in the first schematic. The input and output of ST2329A is connected with the green lines. This is not presented in the level shifter's application block diagram. This does not pose a problem when either side is being pulled low, but when both are not being pulled low (i.e. both are high) then I think that there is no point in putting the level shifter there with the current configuration. The 4.7k pull-ups on both sides will make the resulting voltage 3V (2.8V and 3.3V voltage divider) regardless of what the level shifter does.

Can somebody please shed some light on the matter? Could this be a mistake?

Best Answer

It looks like an error.

When the supply voltages are close enough together it may not be necessary to level shift I2C, just put the pull-up resistors to the lower supply rail.

It is required that the lower supply rail meets the Vih requirement of the devices fed with the higher supply rail.

Since both sets of devices pull down to ground there is no issue in the low state.

Interfacing 5V and 3.3v devices is marginal. Usually the data sheet specifies the worst case input high for I2C devices as 0.7 * Vcc, this is 3.5V - above the 3.3V supply rail that the pull-ups would be connected to. Typically it would work as the threshold would be nearer 0.5*Vcc which is below 3.3V.