9 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 9-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 would have to 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 9-1. Maximum Pull-up Resistor Size
R p ( max ) = t r i s e 0.8473 * C b u s

Rp(max) = Maximum pull-up value

trise = Maximum rise time

Cbus = Total bus capacitance

The second method calculates the minimum pull-up resistor size as a function of VDD (see Equation 9-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), or 20 mA for Fast mode Plus (1 MHz).

Equation 9-2. Minimum Pull-up Resistor Size
R p ( min ) = V D D V O L ( max ) I O L

Rp(min) = Minimum pull-up value

VDD = Supply voltage

VOL(max) = Maximum output low voltage

IOL = Minimum sink current