Part Number: DS90UB953-Q1
Tool/software:
Dear all,
I have a question regarding the I2C transceiver of the DS90UB953-Q1 serializer. Sometimes no I2C transactions are propagated over the back channel for some time after our initialization. We use a combination of DS90UB954 (deserializer) and DS90UB953-Q1 (serializer).
On the sensor side, where the serializer is located, the serializer IC is powered on (by the +1V8 supply) before the other peripherals (image sensor, EEPROM and 2 ambient light sensors) are powered (by a switchable +3V3 supply, which is enabled by a GPIO pin of the serializer). We do this because we use 2 ambient light sensors in combination with our image sensor, one of which needs to have a different I2C address set. The method of settings a different I2C address for the ambient light sensor is to power on the sensor while an IO pin of the sensor is HIGH. Because not all devices are +1V8 I2C compatible, the I2C bus operates at +3V3 and becomes live at the same time the +3V3 supply is switched on (±100 ms after powering the serializer). This yields weird behavior were sometimes no I2C propagation is possible for >1000ms.

Log of serializer and deserializer I2C busses with markers:
0 = turn-on +3V3
1 = first attempt to write to 0x30
2 = second attempt to write to 0x30
3 = third and successful attempt to write to 0x30. (First message propagated over Serializer bus)
We've already checked and tried the following:
- Dips in DS90UB953 power supply and PGOOD (Non visible)
- Strapping voltage IDX pin (Was as expected for 3V3 i2c w address 0x19)
- Soft reset of DS90UB953 directly after enabling the 3V3 supply (by writing 0x01 to register 0x01 of DS90UB953)
Can anybody tell us, why sometimes the I2C bus is locked for >1000ms and other times immediately propagates messages from the back-channel without issues.
Kind regards,
Our register settings are: