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 - Debug Help

Other Parts Discussed in Thread: PCA9306

I am using a PCA9306 chip for 2.5V to 5V conversions. 

Question, assuming the chip is wired correctly, what are the expected voltages on SCL1 , SCL2, and SDA1, SDA2, if there is no signal or load connected, 

Presently I measure 4.1 V on the low side and 4.8 on the high .

Again no signal and no load.  Should I expect to measure 2.5 on the low side?

Thank you

  • Hello WG99,

    Are you also saying that you have no pull-up resistors on the data or clock lines?

    You should have pull-up resistors on both sides.

    If you have no pull up resistors and you're letting the pins float, You will get some leakage onto the pin (in the low uA or high nA range, depending on voltage) which can pull af loating node up. The pull-up resistors give a path for this to escape.

    Also, you need to verify that the PCA9306 is connected correctly in that the VREF2 and EN pins are shorted together. Then that shorted node is connected to a 200k resistor that goes to power rail.
  • John

    Thanks for your help.

    I am hoping for another prompt response. My deadline to get this working is today. Not going home until done.

    Couple of notes:

    The board was designed by someone else. I was handed the board to test with minimal details. I have also found out there has been a series of different designs done in the past and all had issues specific to the voltage translation.

    In the beginning, I verified the translation is working however the expected 2.5 V side is actually translating from 5 V to 3.78 V.

    I did found a series of issues with the board that are now fixed. Most of the issues where regarding supplying the correct voltage for Vref1.

    As you commented, I believe there is a pull-up resistance problem.

    Presently the pull-up resistors conform to the min recommended listed in table 12 in the documentation:
    A-Side 2.5 V / B-Side 5.0 V
    Low Volt side pull-up resistance = none
    High Volt side pull-up resistance = 523 (actual is 511)

    Side question, I suspect the original designer used this table to estimate the pull-up resistors. I have spend a decent amount of time troubleshooting, reading, and changing resistors. Am I misreading the table, tables 11,12, and 13 all list no pull-up resistors for the low side for the 2.5 V / 5.0 V case. I'd appreciate some clarification. I suspect I am overlooking something.

    My apologies, the schematic is not presently available to share.

    VRef2 and EN are correctly configured.

    My path forward:

    Research I did last night, I believe I need pull-up resistors on the low side. Also your comments support my research and lift my confidence this will be a proper correction and not a waste of time.

    Regarding my original question, if the circuit is 100℅ correct (including pull-up resistors on high and low side) and I apply power with no input signals or input/output external loads, (EN always enabled) I'd really appreciate if you could give me some details what I should expect when measuring voltages at pins SCL(1/2) and SDA(1/2). I ask for a confidence boost so I know it's going in the right direction.

    Last question, could you provide a rough estimate or starting point for what the low and high side pull-up resistors should be?

    I do really appreciate your help and look forward to your response
  • Hello WG99,

    Few comments I have with what you've given me:

    1) You mention tables 11, 12 and 13. I think you might be on an older version of the datasheet. I have no such tables that I see in the latest version of the datasheet.

    2) I believe that your pull-up resistance is way too strong for a standard I2C bus. If you are basing these values off of the old table that was removed from the datasheet in April that shows currents up to 15 mA, then that would explain how you came ot these values.

    Allow me to expand a bit on point 2. I2C spec hints at a IOL (current when transmitting a low) to be limited to 3 mA (6 mA in some cases). For a 5V bus, that would be a 1.67k pull-up resistor. While this won't necessarily cause the issues you're seeing, you do have a very unnecessarily strong pull-up which could cause issues such as:
    * High VOLs (since the VOL of a device is IOL * Rpd (resistance of pull down fet)) which might violate the 30% VCC condition for VIL.
    * High delta VOLs (Same thing, but the PCA9306 is a FET-based switch, so as the IOL through the switch increases, so does the voltage delta across it, which can cause issues for the 2.5V bus).




    Let's start by crossing off the basics:
    1) You have confirmed that EN and VREF2 are shorted together and pulled up to 5V through a 200k resistor?
    2) Verify the voltage at the VREF1 pin. Your translation voltage is almost entirely dictated by the VREF1 voltage, so this is a big deal.
    3) Do you have pull ups on both sides? Technically if you are down translating (5 V to 2.5V), you odn't need pull ups on the lower voltage side, but it's a good idea anyway. I would start with pull-up resistors around 4.7k on both sides for a 100 kHz I2C bus, and 2.2k for a 400 kHz bus (on both sides)

    If you satisfy those 3 items, when you apply a voltage, you should see a voltage equivalent to VREF1 on SDA1 and SCL1. You will see your 5V supply voltage on the SDA2 and SCL2 pins as well, provided you have pull-up resistors on both sides. This assumes that you have no load on either side (nothing pulling down on the bus).

    If you pull down on either side of the PCA9306, the internal switch will turn on/close and you will sink all the current (from both the 1 and 2 side of the PCA9306) in order to drop the voltage to ground.
  • John

    Thank you for all of your prompt responses. All info you have provided will be very helpful.

    Thank You
  • Not a problem. Please let me know if you have any issues. Best of luck on your evening of debugging!