Other Parts Discussed in Thread: TXS0102, TXS010
I have a failed I2C communication using TXS0108E while TXS0102 is working. Here are some tests:
A. SUCCESS using TXS0102
B. FAILURE using TXS0108E
C SUCCESS using TXS0108E and then TXS0102
More precisely, I have:
- A standard I2C communication at 100kHz from an ARM module powered at 3.3V
- A native hardware-based I2C slave in a Lattice chip powered at 1.8V
- Shift level using TXS010[2_8E] from VCCB=3.3V to VCCA=1.8V
- No pull-up or pull-down resistor on both sides
- Note that the scenario C is a success while being out of the specs for TXS0102 as VCCB is < 2.3V.
- The scenario B, which is a failure, shows a lost communication: usually a NACK detected by the master during a write operation.
I have another I2C slave chip in scenario B and it works as expected. So TXS0108E can translate the I2C communication but not for this Lattice chip which has a hardware-based I2C slave module. It's just this particular Lattice chip that doesn't like the I2C presented by TXS0108E.
In the datasheet, TXS0102 has 10k pull-up while TXS0108E has a funky 40k and 4k pull-up when level is high or low.
As I'm in production, could I fix the scenario B with some pull-ups or something?