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.

TCA9406: Signal lines with low resistance short to GND

Part Number: TCA9406
Other Parts Discussed in Thread: TCA9548A

Tool/software:

We are using the TCA9406 to translate from 3.3V to 5V, and are seeing seemingly random failures where either the SDA or SCL lines (on either the A or B side) measure out a low resistance (50 to 140 Ohm) with respect to ground. This makes any attached devices lose control of the bus, since the signals are held to a low voltage of ~0.8V.

The master side is an offboard FPGA connected to another TCA9406 for 1.8V to 3.3V translation, and the 5V side is an offboard microcontroller. We are utilizing the internal pullups on the 2 chained TCA ICs on the 3.3V side, and the 5V side has internal pullups on the MCU of ~20kOhm. 

These devices are not being hot-plugged, but they do get power cycled arbitrarily. They generally work well, functioning during initial bootup and installation, but seemingly spontaneously fail, possibly after being power cycled, or possibly mid-operation. It should be noted that we have tied the OE to VCCA, so the device is not being disabled during power cycling. 

Obviously there is some damage to the device, but it is not clear how such a thing would happen. The power supplies are generally fairly well regulated, and it seems strange that the device would fail spontaneously. My best guess is somehow some ESD damage that weakened the device, coupled with some transient surge that finally did it in? I have captured the boot-up and down sequences, though, and they are nice and clean ~2ms ramp ups.

We are considering just changing parts and communication scheme (UART), but any guidance on possible short-term suggestions for alleviating these failures would be greatly appreciated. 

 

  • Hi Colin,

    I will respond by noon CST tomorrow. 

    Regards,

    Tyler

  • Hi Colin,

    We are using the TCA9406 to translate from 3.3V to 5V, and are seeing seemingly random failures where either the SDA or SCL lines (on either the A or B side) measure out a low resistance (50 to 140 Ohm) with respect to ground. This makes any attached devices lose control of the bus, since the signals are held to a low voltage of ~0.8V.

    Are you referring to a stuck bus issue? SDA or SCL gets locked LOW? 

    TCA9406 can only drive HIGH (through the edge rate accelerators (one-shots)). TCA9406 has integrated 10k PU resistors to achieve high logic. There is no way for this device to pull LOW by itself. 

    Obviously there is some damage to the device, but it is not clear how such a thing would happen. The power supplies are generally fairly well regulated, and it seems strange that the device would fail spontaneously. My best guess is somehow some ESD damage that weakened the device, coupled with some transient surge that finally did it in? I have captured the boot-up and down sequences, though, and they are nice and clean ~2ms ramp ups.

    Has this issue been repeated across multiple TCA9406's? How do we know for sure the device is damaged? 

    ESD could have damaged the device if exceeded the ESD ratings: 

    Its hard to tell for sure if ESD was the direct cause since ESD itself is hard to measure. Is there significant ESD generation in this system? 

    We are considering just changing parts and communication scheme (UART), but any guidance on possible short-term suggestions for alleviating these failures would be greatly appreciated. 

    Do we have a scope capture of the issue at hand? 

    Any other I2C devices in the system (switches, buffers, etc)? 

    Regards,

    Tyler

    Link to IxC FAQ Forum

  • It gets stuck not quite at LOW, just some voltage in between low and high. It seems feasible that if the device got damaged and it had some low resistance to ground, then you could have some sort of voltage divider that would be some relationship of whatever pull up resistance and this low path to ground on the signal lines. 

    So far, I have confirmed this issue with 2 different devices. I have also not completely ruled out poor soldering on the chip. It could be possible that with a cold solder joint the 3.3V supply might disconnect and the 5V would still be hooked up which I assume might cause damage?

    The system is generally inside a faraday cage, so electrostatic build up should really be minimal. 

    The only other device that is attached to the 3.3V side is an EEPROM, but when we disconnect the TCA9406, then everything is copacetic, which is primarily the way that I know the TCA itself is causing the problem. Also measuring just the lines on the TCA itself (disconnected from any circuit), I can get this low resistance measurement to ground. 

    I don't have a particularly interesting scope capture. What I was able to get was just that the device powers up, the undamaged lines go HIGH as expected, and the damaged line just goes up to ~0.8V. When this happens with the SCL, the master is not able to use the line at all since it thinks there is some other master holding the SCL low. 

  • Hi Colin,

    So far, I have confirmed this issue with 2 different devices. I have also not completely ruled out poor soldering on the chip. It could be possible that with a cold solder joint the 3.3V supply might disconnect and the 5V would still be hooked up which I assume might cause damage?

    The TCA9406 should be fine in this scenario. 

    The only other device that is attached to the 3.3V side is an EEPROM, but when we disconnect the TCA9406, then everything is copacetic, which is primarily the way that I know the TCA itself is causing the problem. Also measuring just the lines on the TCA itself (disconnected from any circuit), I can get this low resistance measurement to ground. 
    I don't have a particularly interesting scope capture. What I was able to get was just that the device powers up, the undamaged lines go HIGH as expected, and the damaged line just goes up to ~0.8V. When this happens with the SCL, the master is not able to use the line at all since it thinks there is some other master holding the SCL low. 

    This makes more sense that the TCA9406 has some sort of internal electrical overstress. 

    The abs. max Io current through the TCA9406 is capped at +/- 50mA. Could you think of a case where TCA9406 would experience this amount of current through the device? 

    Possibly a PU resistor that is too strong, or several PU resistors in parallel that could sink a significant amount of current through the TCA9406? Any I2C switches in the system (TCA9548A for example)?

    Regards,

    Tyler

  • Since the device uses an N-Channel pass-gate, it is my understanding that there would be 3 scenarios when we are passing current through the device (which is basically all the time, but are different calculations):

    1.) When a device on the 5V side pulls the line LOW, meaning we will pass current through the passthrough from all of the 3.3V side pullups. 

     - Since we are using a COTS FPGA board, we are not sure what exactly is tied to the 3.3V side. Probing it I get ~4kOhms, but obviously extra pullups may turn on once the device is booted. Still, to surpass the 50mA limit, we would need a parallel resistance of less than 66Ohms (3.3/0.05), which seems highly unlikely. Even if one device had a 1kOhm pullup, and all others had a 5kOhm pullup, there would have to be >70 pullups to get the 66Ohms

    2.) When a device on the 3.3V side pulls the line LOW, meaning we will pass current through from the pullups on the 5V side. 

    - Similar to above, we would have to have a parallel pullup resistance of 100Ohms to surpass the 50mA limit.

    3.) When the line is stable or "HIGH" we will pass current through from the 5V side to the 3.3V side pullups. 

    - Like the others, but is a 1.7V differential, so we would need 34Ohms. 

    My assumption on when/how we draw current through the device could be wrong, but I believe this is correct. 

    I did the calculations as if the max current is per-pin, but if it is TOTAL current, then just double the resistance for each (since there are 2 lines). Regardless, it will still require a lot of pull up strength. 

    This is a good idea, though, and I suppose it might be possible if there are some weird transients occasionally that could cause a current surge. 

  • Hi Colin,

    Since the TCA9548A switch can have 8 channels on at a single time, a circuit could look like this when pulling LOW. 

    In this rough drawing, if you had 8 x 1k PU resistors on each downstream channel of the I2C switch, the equivalent parallel resistance is already 125ohms. 

    However, it is most likely the case that the host becomes damaged before the TCA9406. 

    Is the TCA9406 connected to long cabling? Long cables could introduce more inductance in the system. Maybe there are significant repeated overshoots / undershoots that could be going outside the abs. max voltage ratings. 

    I pulled this image from the web,

    But something like this where undershoots occur past the -0.5V input abs. max rating for this device. It is possible that damage would occur overtime with repeated use. 

    Regards,

    Tyler

  • That is an interesting point about the undershoot. I took a look at the lines, and it doesn't seem like we are undershooting (our cable length is only around 1'), but it does look like the SCL is cross-talking onto the SDA (and vice versa), which are causing overshoots up to 0.3V above logic HIGH. The datasheet states that the maximum voltage applied to any I/O is 0.5V above VCCI. Maybe at times the crosstalk effect is even worse, and could be causing the damage? 

    The effect of the crosstalk when we are at logic low is lessened by the fact that our "logic-low" is only around 0.1V instead of a solid 0V because of the cascaded n-channel pass-gate (from the 2 TCA9406 devices we have on the line). So, we are only reaching about -0.2V. 

  • Hi Colin,

    As long as the abs max conditions are respected, we can expect no damage to the device: 

    Regards,

    Tyler

  • Thanks for your help on this. I do have one last question, what would you recommend for reducing the effect of the crosstalk? Would a series resistor be appropriate?

  • Hi Colin,

    I can think about this from a PCB perspective. Avoid long parallel traces between SDA / SCL. If you have to run parallel, increase the distance between SDA and SCL (I think SCL pull LOW is what is coupling onto SDA - correct me if I am wrong here). 

    Route traces in perpendicular fashion rather than parallel. 

    Route on separate planes

    Use a VCC or GND plane in between traces. 

    From a non-PCB perspective, If possible, reduce the drive strength of SCL in the host controller (this is not applicable to every controller). 

    This link seems to be helpful for avoiding x-talk: 

    The best crosstalk reduction techniques

    I think series resistance would help with overshoots and undershoots. Adding series resistance to the inputs of the TCA9406 would help to dampen the signal overshoots and undershoots from inductive cabling. I don't think series resistance has a complete affect on x-talk but might help? 

    Regards,

    Tyler