SLVA689 February   2015 DS90UH940N-Q1 , LM8323 , LM8325-1 , LM8327 , LM8328 , LM8330 , LM8333 , LM8335 , P82B715 , P82B96 , PCA6107 , PCA9306 , PCA9306-Q1 , PCA9515A , PCA9515B , PCA9518 , PCA9534 , PCA9534A , PCA9535 , PCA9536 , PCA9538 , PCA9539 , PCA9543A , PCA9544A , PCA9545A , PCA9546A , PCA9548A , PCA9554 , PCA9554A , PCA9555 , PCA9557 , PCF8574 , PCF8574A , PCF8575 , PCF8575C , TCA4311A , TCA5405 , TCA6408A , TCA6416A , TCA6418E , TCA6424A , TCA6507 , TCA8418 , TCA8418E , TCA8424 , TCA9406 , TCA9509 , TCA9517 , TCA9517A , TCA9534 , TCA9534A , TCA9535 , TCA9538 , TCA9539 , TCA9539-Q1 , TCA9543A , TCA9544A , TCA9545A , TCA9546A , TCA9548A , TCA9554 , TCA9554A , TCA9555 , TCA9617A , TCA9617B , TCA9800 , TCA9801 , TCA9802 , TCA9803 , TMS320F2800132 , TMS320F2800133 , TMS320F2800135 , TMS320F2800137 , TMS320F2800152-Q1 , TMS320F2800153-Q1 , TMS320F2800154-Q1 , TMS320F2800155 , TMS320F2800155-Q1 , TMS320F2800156-Q1 , TMS320F2800157 , TMS320F2800157-Q1

 

  1. I2CBus Pullup Resistor Calculation
    1.     Trademarks
    2. 1 Introduction
    3. 2 Pullup Resistor Calculation
    4. 3 Speed Versus Power Trade-off
    5. 4 Example

Pullup Resistor Calculation

A strong pullup (small resistor) prevents the I2C pin on an IC from being able to drive low. The VOL level that can be read as a valid logical low by the input buffers of an IC determines the minimum pullup resistance [RP(min)]. RP(min) is a function of VCC, VOL (max), and IOL:

Equation 1. Eq1_Rp_slva689.gif

The maximum pullup resistance is limited by the bus capacitance (Cb) due to I2C standard rise time specifications. If the pullup resistor value is too high, the I2C line may not rise to a logical high before it is pulled low. The response of an RC circuit to a voltage step of amplitude VCC, starting at time t = 0 is characterized by time constant RC. The voltage waveform can be written as:

Equation 2. Eq2_V_slva689.gif

For VIH = 0.7 × VCC:

Equation 3. Eq3_VIH_slva689.gif

For VIL = 0.3 × VCC:

Equation 4. Eq4_VIL_slva689.gif

The rise time for the I2C bus can be written as:

Equation 5. Eq5_tr_slva689.gif

The maximum pullup resistance is a function of the maximum rise time (tr):

Equation 6. Eq6_RP_slva689.gif

where parametrics from I2C specifications are listed in Table 1.

Table 1. Parametrics from I2C specifications

Parameter Standard Mode
(Max)
Fast Mode
(Max)
Fast Mode Plus
(Max)
Unit
tr Rise time of both SDA and SCL signals 1000 300 120 ns
Cb Capacitive load for each bus line 400 400 550 pF
VOL Low-level output voltage (at 3 mA current sink, VCC > 2 V) 0.4 0.4 0.4 V
Low-level output voltage (at 2 mA current sink, VCC ≤ 2 V) 0.2 × VCC 0.2 × VCC V

The RP (min) is plotted as a function of VCC in Figure 2. The RP (max) is plotted as a function of Cb in Figure 3 for standard-mode and fast-mode I2C.

fig03_slva689.pngFigure 2. Minimum Pullup Resistance [RP (min)] vs Pullup Reference Voltage (VCC)
fig02_slva689.pngFigure 3. Maximum Pullup Resistance [RP (max)] vs Bus Capacitance (Cb)