1.3 External Pull-up Resistor Selection

The I2C Specification proposes two methods to determine the correct pull-up resistor size.

The first method calculates the maximum pull-up resistor size as a function of bus capacitance and rise time (see Equation 1-1). Bus capacitance is the total capacitance of the bus wires/traces, bus connection points, and bus pins, all of which must be considered when calculating the total bus capacitance. Rise time is the period in which the signal transitions from VIL(MAX) (0.3*VDD) to VIH(MIN)(0.7*VDD). Rise time values are typically located in the device’s data sheet.

Bus capacitance should be measured to achieve the most accurate pull-up values, but an estimated value, or the maximum allowable capacitance as defined by the I2C specification, may also be used. The maximum allowable bus capacitance is specified to limit rise time decreases and allow operation at the rated frequency. The bus may operate at higher than allowable bus capacitance levels, but at a lower frequency.

Equation 1-1. Maximum Pull-up Resistor Size
R p ( max ) = t r i s e 0.8473 * C b u s

R p ( max ) = M a x i m u m    p u l l u p v a l u e
t r i s e = M a x i m u m r i s e t i m e
C b u s = T o t a l b u s c a p a c i tan c e

The second method calculates the minimum pull-up resistor size as a function of VDD (see Equation 1-2). The supply voltage limits the minimum resistor value due to the specified minimum sink current of 3 mA for Standard-mode (100 kHz) or Fast-mode (400 kHz).

Equation 1-2. Minimum Pull-up Resistor Size
R p ( m i n ) = V D D V O L ( max ) I O L

R p ( m i n ) = M i n i m u m    p u l l u p v a l u e
V D D = S u p p l y    v o l t a g e
V O L ( m a x ) = M a x i m u m o u t p u t l o w v o l t a g e
I O L = M i n i m u m sin k c u r r e n t