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: VOL Calculations based on Device Parameters

Part Number: PCA9306

I am planning on using a PCA9306 between an FPGA (master) and a two different slave devices.

Would you be able to walk through what the the VOL's be on both sides of the PCA9306? I guess what I am having a hard time is with the VOL from the devices are tested the high IOL's, more than what the pullup resistors would provide. Of course this is worse case, so my expectation is that the VOL would be must lower because the pullups are in the kohm range. The FOTR device does not specify the IOL for the given VOL.

Thanks

 

  • Hi David,

    Most devices will be able to tell you that at a specific current draw they can output a certain VOL. For instance a device might say that at 6 mA the VOL will be at 0.4V typical. In reality it might take much less current to achieve a VOL of 0.4V or less.

    Keep in mind that these I2C devices have their own pull down FET that has an RDSON. So for instance with the Versal device if you want a VOL of 0.4V that is going to be a voltage drop of 1.5 -0.4V= 1.1V accross your pull up resistor. If the device says that it can output a VOL of 0.4V when the current going through the pull down fet is 4 mA then you have to size your pull up resistor to achieve a 4 mA current limit. So the resistor would have to be 1.1V/0.004A = 275 ohms. Now this is the bottomn limit of your pull up resistor, but in reality a 275 ohm resistor will be more than enough to achieve the rise time you want for fast mode I2C. So you can use a larger pull up resistor and therefore consume less current. The trade off here is that with a larger resistor you get a lower VOL but larger rise times. This is what you have to keep in mind when designing your system. The whole point of the VOL and IOL spec is to put a limit on how big the RDSON can be for an I2C device. For fast mode plus the RDSON is required to be much smaller so that you can use a smaller pull up resistor to achieve faster rise times.

    In context with the PCA9306 whichever device's FET is actually driving low will set the value of the VOL for the bus. However, with the PCA9306 when it is pulling low the pull up resistors are acting in parallel. You essentially have two currents that you have to worry about adding in parallel from each pull up resistor.

    I hope this makes sense and if you need more clarification let me know.

    Best,

    Chris

  • The current through both pull-up resistors is about 1 mA. The voltage drop over the switch is about 1 mA × 25 Ω = 0.025 V; I will ignore it.

    The VOL of the FPGA is one fourth of the VOL at 4 mA, i.e., it is 0.11 V. (It can be made smaller by increasing the drive strength.)

    Assuming that the FOTR is designed for the I²C limit of 3 mA, its VOL at 1 mA is one third, i.e., 0.13 V.

    The VOL of the Si5341 is one half of the VOL at 2 mA, i.e., it is 0.25 V.

    The worst case is a signal from the Si5341 to the FPGA, and the noise margin of 0.27 V looks OK.

  • Chris/Clemens:

    Thank you for the detailed explanation. It makes sense now how the VOL/IOL specs relate to the pullups and rise time, and then the tradeoffs. Thanks again!

  • Is there a recommended noise margin rule of thumb or is it more of a judgement call?

  • It depends on how much noise you expect. In practice, it's often ignored.