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.

PCA9306: Using PCA9306 on an hot-plug able Add in card as I2C isolator and level shift

Part Number: PCA9306
Other Parts Discussed in Thread: TCA9511A, TCA4307

Hi expert

I am designing an hot-plug Add in card, there is I2C on the hot-plug interface, and the mainboard I2C level is 3.3V while my add in card I2C level is 1.8V. Hence I want to use PCA9306 as an hot plug isolator and level shift, please help to review my design and my usage scenario, is it fine for me to implement the function by using PCA9306? Can I rely on this circuit?

Please see the attached file 

Thanks

Neil PCA9306 on an Add in card.pdf

  • Hi, is there anybody from TI could help me to answer the question?

    Thanks.

  • Hey Neil,

    "Hi, is there anybody from TI could help me to answer the question?"

    Yes, I am in the middle of replying.

    Is the card that the PCA9306 sitting on powered up prior to insertion (does it have a battery on it?)?

    Do you have any control over the mainboard's design?

    One of the concerns when hot inserting a card is the slave on the card may have a bad PoR which could result in a stuck bus. If this occurs and the connection is made then the main board's I2C line will get stuck as well. Your design does not have any way to block this from occurring on the main bus. You may want to consider using the TCA4307 which would help during a stuck bus event or TCA9511A to atleast block the connection if this occurred. You would probbably need to set it up like: [TCA9511A/TCA4307]-----[PCA9306] ----[slave/asic]

    The 9306 would provide level translation since the 4307 and 9511 do not provide level translation.

    -Bobby

  • Hey Bobby

    “Is the card that the PCA9306 sitting on powered up prior to insertion (does it have a battery on it?)?”

    A: There is no battery on the add in card and it will not powered on until the card is fully mated, so there is no voltage on card during insertion process.

    “Do you have any control over the mainboard's design?”

    A: I can't control the mainboard design, in fact, the Add in card is a PCIe card, and the mainboard is standard X86 mainboard. Per my understanding, most of the mainboard vendor will use a I2C switch (like PCA9548) to physically isolate each slot I2C. 

    “One of the concerns when hot inserting a card is the slave on the card may have a bad PoR which could result in a stuck bus. ”

    Regarding your concern, do you mean when the drive can't be powered on successfully after insertion, the pin of PCA9306 I2C2 will stuck the bus? or the VREF2 will stuck bus? or other path will stuck bus?

    I think there are there most possible power up failure scenario after insertion

    1). Neither VREF1 nor  VREF2 powered on, what is the state of I2C2?

    2). Only VREF1 is powered on, VREF2 not powered on, what is the state of I2C2?

    3). Only VREF2 is powered on, VREF1 not powered on,  what is the state of I2C2?

    If the state of I2C2 for all the three cases are high impedance, I think it is fine for me to accept the failure risk.

    Is there any other insert impact to mainboard I2C bus except you mentioned above?

    Thanks a lot.

    Neil

  • "Regarding your concern, do you mean when the drive can't be powered on successfully after insertion, the pin of PCA9306 I2C2 will stuck the bus? or the VREF2 will stuck bus? or other path will stuck bus?"

    No, PCA9306 should power up correctly as long as its not damaged. My concern is downstream, the slave sitting on the card could have a bad power up and get SDA stuck low, this would then make PCA9306 pull low on its SDA1 and then this would pull SDA2 low which would get the main bus low.  You mentioned that there may be an I2C switch like the PCA9548, if the main board can put this device in reset then this would resolve a stuck bus (depending if the processor on the main board were programed to detect and recover this way).

    "1). Neither VREF1 nor  VREF2 powered on, what is the state of I2C2?"

    our device would not result like this unless the Vref1/Vref2 power nets were unpowered though going along with the scenario, our device would be HI-Z between side 1 and side 2.

    "2). Only VREF1 is powered on, VREF2 not powered on, what is the state of I2C2?"

    our device would not result like this unless the Vref2 power net were unpowered though going along with the scenario, our device would be HI-Z between side 1 and side 2. If any down stream I2C slaves had a bad POR and caused a stuck bus, it would not be seen by the main board. (Main board would not have access to the daughter card either though).

    "3). Only VREF2 is powered on, VREF1 not powered on,  what is the state of I2C2?"

    our device would not result like this unless the Vref1 power net were unpowered though going along with the scenario, we have to make an assumption. There will be leakage current from Vref2 into Vref1 if Vref1 unpowered means it is GND. If the leakage current builds up it may backbias through any 1.8V device and we may see a ~0.7V appear on the Vref1 rail. At this point, the PCA9306 will NOT be HI-Z and if there were a bad POR, then the main bus would get stuck if the downstream slaves got the bus stuck. (we could potentially resolve this case by putting a weak pull down resistor from Vref1 to GND that way the leakage current has a known path to flow and will not build up voltage and back bias).

    "Is there any other insert impact to mainboard I2C bus except you mentioned above?"

    Since the daughter card is unpowered before insertion, the parasitic bus capacitance on side 2 of the PCA9306 may glicth the main board's SDA/SCL lines because the caps will need to charge upon insertion. This may cause signal integrity issues or a false clock pulse and cause issues to the main board. If there is a PCA9548 upstream and the channel is disabled, then this glitch would not be a concern.

    Lastly, the main board's loading conditions are not known and PCA9306 is a pass FET translator (not a redriver) so adding this card (or other in parallel) could result in going above the allowed I2C spec on capacitive loading and the rise times could be violated or cause signal integrity concerns. In this cause, it would be better to have an I2C buffer with a rise time accelerator on board the daughter card to help segment the capacitive loading and speed up rise times.(Again TCA9511A or TCA4307 would be a preferred option as they were designed for hot insertion for server/enterprise.)

    -Bobby

  • Hey Bobby

    Thanks for you quick reply, understood your explanation now, I will consider your suggestion on I2C buffer usage if I can't take the risk especially the bus capacitvie loading.

    Thank you again.

    -Neil.