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.

TCA9543A: About TCA9543A I2C Configuration

Part Number: TCA9543A

Due to the SoC GPIO limitation, the two I2C pins are also used as boot strap pins. During SoC startup, these I2C pins must be held low initially.
Therefore, we added a MOS circuit to control the power-up timing of the I2C pull-up voltage. In other words, the SoC enables the MOSFET gate only after the system has fully booted, which then provides 1.8V to the I2C pull-up power.


Without this sequence control, the SoC would fail to initialize properly.

The current connection between the SoC and the I2C switch is shown in the diagram. The issue we are encountering is that, under normal operation, if we perform a software reset (SW RST) on the SoC alone, the SoC fails to boot successfully afterward.
After analysis, this behavior appears to be directly related to the I2C switch. When we cut off the VCC power of the I2C switch, the SoC boots normally.

We would like to clarify a few questions:

  1. If the I2C pull-up power of the SoC and the slave side are at the same voltage level, can we omit the pull-up resistors on the slave side?

  2. Will the I2C signals on the slave side leak or propagate to the master side?

  3. Why is it that when we turn off the pull-up power on the slave side (while keeping the I2C switch VDD powered), we cannot access the TCA9543A via I2C commands?

  • Hi Richard,

    To summarize everything you are saying this is this correct:

    • The SoC's I2C pins are also boot strap pins and must be held LOW during startup.

    • A MOS circuit is used to control the pull-up voltage, which is only enabled after the SoC fully boots.

    • The Problem: The SoC fails to boot successfully if a software reset (SW RST) is performed.

    • The Cause: This failure is related to the I2C switch.

    • The Observation: The SoC does boot normally after a software reset if the VCC power to the I2C switch is cut off.

    1. Can we omit slave-side pull-ups? No. Each bus segment (master and slave) is independent and requires its own pull-up resistors to function.

    2. Will slave signals propagate to the master side? Yes. When a channel is selected, it creates a direct, bidirectional link, allowing signals and DC voltages (like the pull-up) to pass through. Or are you saying if this can occur unintentionally?

    3. Why can't we access the switch with pull-up power off? You are turning off the master-side pull-ups. The switch itself is a slave device on that master bus. Without pull-ups, the master bus is non-functional, and you cannot send I2C commands to any device on it, including the TCA9543A.

    Thank you,

    Arya 

  • Hi Arya,

    thanks for your reply, for item 3:

    Why can't we access the switch with pull-up power off? You are turning off the master-side pull-ups. The switch itself is a slave device on that master bus. Without pull-ups, the master bus is non-functional, and you cannot send I2C commands to any device on it, including the TCA9543A.

    Actually in that moment SoC side already enable pull-up power, which means master bus should be workable, but I don't know we can't detect TCA9543A's information.

  • Hi Richard,

    Is there a chance that the bus is being held low by a unpowered slave device, through the switch?

    Thank you,

    Arya