
TSCL
TSDA
9thClockPulse- AcknowledgeFromSlave
V
OL
OfSlave
V
OL
OfDriver T
I
2C Pullup Resistors
www.ti.com ............................................................................................................................................................................................... SLLS915 – JANUARY 2009
Figure 36 illustrates the waveforms seen on the T-side I2C-bus under the same operation as in Figure 35. On the T-side of the I2C repeater, the clock and data lines would have a positive offset from ground equal to the VOL of
the driver T. After the 8th clock pulse, the data line is pulled to the VOL of the slave device, which is very close to
ground in this example. At the end of the acknowledge, the slave device releases and the bus level rises back to
the VOL set by the driver until the R-side rises above VCC/2, after which it continues to be high. It is important to
note that any arbitration or clock-stretching events require that the low level on the T-side bus at the input of the
TMDS461 I2C repeater is below 0.4 V to be recognized by the device and then transmitted to the R-side I2C bus.
Figure 36. Bus T Waveform
The pullup resistor value is determined by two requirements:
1. The maximum sink current of the I2C buffer is 3 mA or slightly higher for an I2C driver supporting
standard-mode I2C operation.
Rup(min) = VDD/Isink
(1)
2. The maximum transition time, T, of an I2C on the bus is set by an RC time constant, where R is the pullup
resistor value and C is the total load capacitance. The parameter, k, can be calculated from
Equation 3 by
solving for t, the times at which certain voltage thresholds are reached. Different input threshold
combinations introduce different values of t.
Table 3 summarizes the possible values of k under different
threshold combinations.
T = k × RC
(2)
V(t) = VDD(1 – e
–t/RC)
(3)
Table 3. Value of k for Different Input Threshold Voltages
Vth–\Vth+
0.7 VDD
0.65 VDD
0.6 VDD
0.55 VDD
0.5 VDD
0.45 VDD
0.4 VDD
0.35 VDD
0.3 VDD
0.1 VDD
1.0986
0.9445
0.8109
0.6931
0.5878
0.4925
0.4055
0.3254
0.2513
0.15 VDD
1.0415
0.8873
0.7538
0.6360
0.5306
0.4353
0.3483
0.2683
0.1942
0.2 VDD
0.9808
0.8267
0.6931
0.5754
0.4700
0.3747
0.2877
0.2076
0.1335
0.25 VDD
0.9163
0.7621
0.6286
0.5108
0.4055
0.3102
0.2231
0.1431
0.0690
0.3 VDD
0.8473
0.6931
0.5596
0.4418
0.3365
0.2412
0.1542
0.0741
—
From Equation 1, Rup(min) = 5.5 V/3 mA = 1.83 k to operate the bus under a 5-V pullup voltage and provide less than 3 mA when the I2C device is driving the bus to a low state. If a higher sink current, for example 4 mA, is
allowed, Rup(min) can be as low as 1.375 k.
Given a 5-V I2C device with input low and high threshold voltages at 0.3 Vdd and 0.7 Vdd, respectively, the value
of k is 0.8473 from
Table 3. Taking into account the 1.83-k
pullup resistor, the maximum total load capacitance
is C(total-5V) = 645 pF. Ccable(max) should be restricted to be less than 545 pF if Csource and CI can be as high as 50
pF. Here the CI is treated as Csink, the load capacitance of a sink device.
Fixing the maximum transition time from
Table 3, T = 1
s, and using the k values from
Table 3, the
recommended maximum total resistance of the pullup resistors on an I2C bus can be calculated for different
system setups.
To support the maximum load capacitance specified in the HDMI spec, Ccable(max) = 700 pF/Csource = 50 pF/CI =
50 pF, R(max) can be calculated as shown in Table 4. Copyright 2009, Texas Instruments Incorporated
29