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.

TCA9517-Q1: VIL of TCA9517 at SDAB side

Part Number: TCA9517-Q1
Other Parts Discussed in Thread: TCA9517

Hello Team,

I am using TCA9517 in automotive RTC application as a level shifter of I2C between controller and RTC chip, So VCCA=3.3V and VCCB=5V,

as per datasheet VIL at SDAB side is 0.4V Max, As below

The RTC chip which I am using from another manufacturer having below output specification,

In the low level output current it is mention output voltage is VOL=0.4V at IOLmin=3mA

Is this Output level ok for input of SDAB, or is it ok if I reduce pull up current form SDA pin to 1mA so that voltage drop from this RTC chip will also reduce ?

Is this allow in I2C to reduce IOL from 3mA, because in most of devices it is mention as minimum IOL = 3mA at 100KHz.

Thank you.

Best Regards,

Vaibhav Waman

  • Hi Vaibhav,

    Vol < 0.4v and Iol > 3mA are parameters of the I2C specification. In order to ensure that the RTC device can drive Vol below the Vil for TCA9517, the correct pull-up resistor value must be used. In this case, there must be a voltage drop across the resistor of Vcc – Vol (5v – 0.4v = 4.6v). Since the RTC chip can sink 3mA minimum, we can calculate the minimum pull-up value of 1.533 k-ohm (4.6v / 3mA).

    The maximum value of this pull-up resistance is dependent on the bus capacitance in the system and the required rise-time. More information on these calculations can be found in this Application Report:

    http://www.ti.com/lit/an/slva689/slva689.pdf

    A component with an Iol of less than 3mA would have a smaller range of allowable pull-up values (minimum value would increase, maximum value would not change because it’s based on rise-time). For this reason, the 3mA is standardized by the I2C specification at Vcc > 2v.

    Let me know if this is clear or if you have any more questions.

    Regards,

    Eric

  • Thank you very much Eric.

    1. In case I use 1.533k pull up, this RTC low level ouput must be identified by TCA input right which is 0.4V max. So in conclusion there is no isaue of levels compatibility and it will work out right ?

    2. and also using Iol less than 3mA will change rise time as pull up will increase, so if i reduce frequency of I2C reducing value of Iol is also ok ?

    Beat Regards,

    Vaibhav Waman

  • Hi Vaibhav,

    1. Yes, with proper pull-up selection, the target Vol will be a valid input for TCA9517. I would recommend using a value slightly larger than 1.533k-ohm as a buffer. 

    2. I'm not quite sure what you mean by changing Iol. This is the pull-down strength of the I2C driver and does not effect rise-time. Reducing the frequency of I2C communication will increase the allowable rise-time on the bus. The upper limit of the pull-up resistor value is dictated by the rise-time requirement and capacitance of the bus. The lower limit of pull-up resistor value is dictated by Vil requirements. 

    Please let me know if I have not understood your questions correctly.

    Regards,

    Eric

  • Hello Eric,

    I was just afraid of logic level mismatch because Vol max of RTC is 0.4V and VIL Max for TCA9517 is 0.4V and input for SDAB of TCA9517 must be below 0.4V so to avoid contention, I was thinking to reduce Iol of RTC so that respectively Vol also get reduced. So how much increase in pull up is allowed ? because this will reduce Iol ? In case we design for 1 mA is this not allowed ?

    Thank you for your support.

    Best Regards,

    Vaibhav Waman

  • Hi Vaibhav, 

    Increasing the value of the pull-up resistor will make it easier for the RTC device to pull the bus low. Another way to think about this would be a voltage divider between the pull-up resistor and the Rds(on) of the RTC's pull-down FET. The greater the value of the pull-up resistor, the lower the resulting voltage will be on the bus. 

    Iol is the current that RTC will try to sink to drive the bus as low. This is characteristic of the pull-down driver in the device. Being able to sink more current through the device and through the pull-down resistor creates a larger voltage drop across this resistor from Vcc. A device with a weaker Iol would not be able to sink as much current and would result in a higher resulting voltage on the bus. For this reason, I2C specifies a minimum pull-down strength for I2C drivers working in this Vcc range. 

    In the case for your design, a pull-up resistor value greater than 1.533k-ohm should allow the RTC to pull the bus below 0.4v based on the calculations we did previously. The value of this pull-up resistor can be greater as long as it doesn't exceed the maximum specified by the rise-time requirements of your datarate. The application report I linked above will have more information on how to calculate the maximum pull-up value. Let me know if you would like more information on this or if you have any questions about the report.

    Regards,

    Eric