Linear Technology‘s recently introduced LTC4300 chip buffers I2C clock and data lines to and from a hot-swappable card. This task is difficult because the IC must work bidirectionally, meaning that you can simultaneously and actively drive both sides. However, as is sometimes the case, you can replace a complicated circuit by a simple one without much loss of performance. For example, transistors and resistors replace the entire IC (Figure 1). The circuit handles only the clock signal or only the data signal. Two npn transistors, connected head-to-head, form the heart of the circuit. I2C signals come from open-collector or open-drain outputs, so can only pull down (sink current). When Enable is high, a low-going SCL signal drives the emitter of one of the transistors as a common-base amplifier. The 10-kΩ resistor in the base circuit provides enough current to saturate the transistor and drop the VCE voltage to approximately 0.1V, thereby pulling the other side low.
The circuit acts like an efficient diode. With Enable low, the hot-swappable side has no effect on the signal, with or without power applied. The two-transistor circuit offers the additional benefit of acting as a level translator between two logic levels. This example shows a buffer-
translation between a 3.3V system and a 5V card. For proper operation, the Enable line must not go higher than the lower of the two supply voltages. Figures 2a and 2bshow operation at 100 kHz. Some edge glitches and overshoot, stemming from transistor-junction capacitance, are evident in the 3.3V signal, but these slight defects should be tolerable in many low-cost applications. References 1 and 2 treat similar level-translation circuits.
References
- Hagerman, Jim, "Two transistors form bidirectional level translator," EDN, Nov 7, 1996, pg 114.
- Poon, CC, and Edward Chui, "Low-voltage interface circuits translate 1.8V to 5V," EDN, Nov 5, 1998, pg 119.