This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TXS0108E I2C Peripheral Signalling Error

Other Parts Discussed in Thread: TXS0108E, PCA9306

Hi,

I'm using a TXS0108E to level shift some signals, two of which are I2C signals.  The levels are correct but I'm having trouble getting proper communication.  After connecting the device (peripheral - slave) to the high side of the shifter, an "i2cprobe" command does not return any acknowledge of the device.

I've tried it in a couple of circuits, attached is an example.  It's a level shifter from 1.8V to 3.3V which connects to a I2C capacitive touch controller.  In the scope output, the response from the capactive touch controller isn't making it back to the host controller.  Is there any reason for this?


Thanks for the help.

Andrew

  • Andrew,

    If the TXS0108E is producing the correct voltage levels, then perhaps it is something protocol specific with your I2C master or slave.

    I would suggest re-checking the require VOH, VOL, VIH, and VIL levels in the I2C master and slave datasheets. Make sure they are being satisfied.

    You could also try to uninstalling the external pullup resistors on SCL and SDA (the TXS0108E has internal pullups that are 4k when input is high, and 40k when input is low). Perhaps 1k is too strong. This app note has more details.

    Best Regards,
    Nirav

  • Hi Nirav,

    Thanks for the suggestion. On another board I connected the same peripheral to the same master but going through a PCA9306 and it worked without issue (sames levels).

    VOH, VOL, VIH and VIL all look good.

    I've made some alterations to the pull-ups but I'll be a bit more systematic on the changes and see if that helps.


    Thanks,

    Andrew