Buffer Lc Data And Clock Lines Circuit

The I2C serial bus is a popular two-wire bus lor small-area networks. I2C Clock and Data lines have open collector (or drain) outputs for each device-on the network. Only a single pull-up resistor is needed. With this arcliitecture, each device can talk on the network, rather than just listen. In some circumstances, it might be desirable to buffer these lines to expand the network, which can sometimes be a tricky task. The obvious approach (Fig. 1) wont work because it latches in either the higher or lower state. A circuit for a noninventory nonlatching buffer is also shown.The circuit is symmetrical about its center so that the input and output can be swapped. Ql and Q8 are the output open collector drivers. Q2, Q3, Q6, and Q7 provide the nonlatching functions.

The capacitors prevent switching glitches by ensuring the inhibit transistors turn off before the output transistors do.Operation can be best explained by example: if the input is high, Q4 turns off, and the voltage across R8 goes to zero. This turns off Ql arid Q8. The output then goes liigh, which is the circuit`s normal resting place. If the input is pulled low, Q4 is turned on.Diode D1 remains reverse-biased, preventing Q3 from turning off Q4. With Q4 on, current is supplied to both Q2 and Ql to turn them on, but Q2 turns on first to keep Ql off. This prevents the input from latching. Q4 also turns on Q8. D4 is now forward-biased, so Q6 turns on, and thus turns off Q5. With Q5 off, Q7 will not turn on. The output remains low. Even with both the input and the output externally driven low, the circuit will not latch. The circuit, using the values shown in Fig. 2, reached a clock rate of 80 kHz with a VOH of 5.0 V and a VOL of 0.5 V.