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.

TCA6416A: SDA line held low by the device, inconsistent communication.

Part Number: TCA6416A

Hello,

We are working with this device on a new design, interfacing with an STM32 microcontroller.

We've found that communication with the device is inconsistent, and it appears to enter a fault mode where it holds the SDA line low. This prevents further communication with the TCA6416A, as well as with the other devices on the bus. Power cycling the device seems to clear the issue, but it appears again soon after. We have tested disconnecting the TCA6416A from SDA during this state, which allows the line to then be pulled high again, confirming that this device is causing the issue.

We're unsure of exactly how to reproduce the error, but it happens relatively regularly after configuring the device outputs a number of times. This I2C lines goes offboard and has more noise than we are typically comfortable with, but shouldn't be enough to cause communications issues. Regardless, a slave device should not be holding the SDA line low in any situation outside of communication.

We're curious if this is a failure mode you have previously observed, and if there is a known solution

Thank you

  • Hi Christian,

    Do you have a schematic we can review?

    Can you provide a block diagram of the I2C bus?

    Do you have scopeshots of the I2C transaction when you see noise on the bus?

    Are you able to program your mcu to toggle the clock line 9x then issue a stop condition to free the bus?

    We're curious if this is a failure mode you have previously observed, and if there is a known solution

    If its due to a stuck bus glitch after power up, then usually toggling the SCL line 9x times and doing a stop condition should reset the state machine and free the line. 

    -Bobby