PCA9548A: Down stream with out pull up only working

Part Number: PCA9548A
Other Parts Discussed in Thread: PCA9545A, , TCA9548A

Hi,

I am currently facing an issue with the downstream I2C slave device detection.

Up stream SDA , SCL has pull up ( 4.7K) , down stream if connecting pull up ( 4.7K ) its not detecting and If removing down stream slave pull up its detecting and working.

Could you please suggest how to proceed in this case? 

 

Regards

kannan

 

  • Hello Kannan,

    What Vcc are you using for PCA9545A and what is the VIH for the downstream device?

    The switch output voltage is not the same value as Vcc as shown in Section 6.5 under Vo(sw). It is possible that switch's output voltage is not high enough for the downstream device to recognize a logic high, which is why the PCA9548A does not recognize a device. The pull-up resistor may be causing a voltage conflict or the voltage is not high enough for the downstream device.

    If you need voltage translation, you may need to adjust your Vcc or pull-up resistor values as shown in Section 9.2.2. If you don't need voltage translation, you may not need a pull-up resistor on both sides of the switch.

    Thank you,

    Aidan

  • Hi , Thanks 

    PCA9545A VCC is connected 3.3V and slave devices one device VIH - Min -1.2V and other device Min - 2.31 V 

    Regards

    Kannan

  • Sorry for saying PCA9545A in my initial reply, it's the PCA9548A correct?

    I believe this confirms that the voltage conflict is the issue. For Vcc = 3.3 V, the output voltage of the switch is 1.9 V. This means that the second downstream device isn't able to recognize a logic high and cannot be detected. 

    As for your first downstream device, it could be that there are pull-up resistors on both sides of the mux or that the pull-up resistor values may need to be adjusted if its Vcc is different.

  • Hi, Aidan . Thanks

    As you told , second device will not be detect but its working if we removed the pull up resistor.

    Regards

    Kannan

  • Yes, this is because the downstream pull-up resistor pulls the downstream line up to Vcc but the pass-gate restricts the output voltage to Vo,sw (1.9 V). This means that the downstream line cannot be properly pulled up. When the downstream pull-up resistor is removed, the voltage of the line is determined by what is passing through the switch and there is no voltage conflict with the pull-up resistor.

    Apologies for not clarifying.

  • Ok , understood. 

    So this case my downstream device will not be used the pull up resistor right ? here attached down stream i2C details. Please check and let me know we can use device or not .

    If not possible could you please suggest any other I2C mux will support for downstream devices. all downstream voltage level 3.3V VCC.

    Regards

    Kannan

  • Yes, if the Voh(od) in the screenshot is for I2C lines, then the pull-up resistor on the upstream side of the PCA9548A should suffice as the only pull-up. Since the Ron for PCA9548A is pretty low (12 ohm for 3.3V), I don't think it will impact the voltage seen by the downstream device or any other parameters. I assume the pull-up resistor requirement listed in the slave device's datasheet is because it's being evaluated by itself, not downstream of another I2C device.

    There is the TCA9548A which is a drop-in replacement with upgraded functionality (power-on reset and lower voltage operation) if you are interested. I could also recommend I2C switches with a lower Ron if Ron is something you are concerned about.