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.
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).