Hello,
I have two DS90UB947 chips on a I2C bus. The bus is pulled up to 3.3V and I can read/write registers on the DS90UB947 without issue. The datasheet on Page 4 says that if I connect the 'I2CSEL' pin to the 'VDDIO' pin using a 10K resistor, the I2C interface on the DS90UB947 will then be compatible with a 1.8V I2C bus. I power off the board, connect the pins together with a 10K resistor, change the I2C bus to 1.8V and power the board back on. Using an oscilloscope, I can see the master sending the correct voltage and correct address. The DS90UB947 does not ACK the address. The only things that changed are the voltage of the I2C bus, and the configuration of the I2CSEL pin. When I reconfigure for 3.3V, everything works again.
For reference, I measured the voltages across the 10k resistor. One side is 1.8V (connected to the VDDIO rail), the other side is about 18mV. According to the datasheet on Page 7, the I2CSEL pin should only draw 10uA. The 10K resistor should only be dropping 100mV. But it is dropping almost the entire 1.8V. I did measure the resistor and it was 9.9K. I tried to communicate with both DS90UB947's on the bus and neither one responds at 1.8V (they are different addresses). Both work great at 3.3V.
Unfortunately, I need this to work at 1.8V. What am I doing wrong?
Thanks,
Jason