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.

PCA9546A: If the part is locked on POR, will I2C software reset unlock it?

Part Number: PCA9546A

As I understand, there is a possibility that the PCA9546A part becomes unresponsive if POR fails due to slow Vcc ramp. 

My questions are:

1. Will the external hardware reset unlock the communication (it looks like yes);

2. More importantly, will the "I2C software reset" flush the locked state machines, and unlock the part for further I2C communication?

I understand the "I2C sofware reset" as follows (per ADA AN-686 appnote):

1) Master tries to assert a Logic 1 on the SDA line
2) Master still sees a Logic 0 and then generates a clock pulse on SCL (1-0-1 transition)
3) Master examines SDA. If SDA = 0, go to Step 2; if SDA = 1, go to Step 4
4) Generate a STOP condition
Or just toggling SCL 9 or 19 times unconditionally.
Thanks
  • Hi Alex,

    I can confirm that the hardware reset would be effective. We'll double check on the software method and get back to you on Monday.

    Regards,
    Max
  • Hey Alex,

    "1. Will the external hardware reset unlock the communication (it looks like yes);"

    I've poked around under the hood of this device a while ago and recall that there is a separate block inside the device that does indeed reset the state machine of the device through the reset pin.  So if you toggle the reset pin of this device during the failed PoR, it will reset the state machine (and make the SDA pin release).

    "2. More importantly, will the "I2C software reset" flush the locked state machines, and unlock the part for further I2C communication?"

    Your steps to try to service a latched bus look correct, I usually always recommend just pulsing the clock line 9 time as the I2C standard specifies. Now to answer your question, unfortunately we do not have a way to simulate the many different corners and conditions (think temperature, Vcc, and how deeply or weakly silicon is doped) to say that the 'software' reset would work in every case. [The design files for this are in an older database that we can't test] I believe you should be able to reset the state machine using the method you provided in almost all cases however I cannot say that it will work in all cases. I know this isn't the 100% answer you were looking for but I believe you should use a hardware reset (toggle reset or power cycle correctly) when you run into this case to insure a good power up/reset.

    Thanks,

    -Bobby

  • Thanks for elaborate response, appreciated.

    -Alex