PP logo

 

I2C isolators.

Contents


Introduction.

The I²C-bus is a 2-wire interface with a clock line, SCL, and a data line, SDA, that have pull-up resistors to the positive supply voltage and can be pulled low by any device connected to the bus.
For full I²C-bus documentation, see [1].
The 400 KHz I²C specification states that the SCL and SDA pins on an IC must be high impedance when power to a device is missing, but there are several I²C compatible ICs that have protection diodes to the positive supply.
As devices may operate from different supply voltages or part of the devices on a bus may be without power, an isolator between the different sections of the bus may be required.
There are a lot of different ICs for this on the market, but sometimes you don't have one when you need one.
The circuits shown here may not fully meet the I²C specification, but will work in most cases.

I²C isolators.

I2C isolator with transistors schematic.
Fig.1: I2C isolator with transistors.

Fig.1(a): Bus-A will work when Bus-B is without power, but not the other way around. Level translation is possible for VCC-A > VCC-B.
Fig.1(b): Either bus can be without power. Level translation in both directions is possible.
Due to transistor saturation voltage, these circuits does not meet the I²C specification.

I2C isolator with MOS-FETs schematic.
Fig.2: I2C isolator with MOS-FETs.

Fig.1(a): Bus-A will work when Bus-B is without power, but not the other way around. Level translation is possible for VCC-A > VCC-B.
If Bus-B is pulled low, the MOSFET will turn on and pull Bus-A low. If Bus-A is pulled low, Bus-B will be pulled low through the source drain diode in the MOSFET and the MOSFET will turn on.
Fig.1(b): Either bus can be without power. Level translation in both directions is possible.
2N7000 MOS-FETs will work for 5 V systems. For 3.3 V supply, a FET with a lower gate threshold voltage must be used. BSS138 works. I do not know of any types in leaded packages.
This scheme can be expanded to more buses by connecting the drains together.
Note that the number of buses is limited mainly by the capacitances of the MOSFETs.
Maximum total capacitance on all buses together is 400 pF.

Galvanically isolated I2C isolator schematic.
Fig.3: I2C isolator with galvanic isolation.

Fig.3: Galvanic isolated I2C isolator.
This circuit was originally ( around 1996 ) designed as an aid in developing an I²C controlled FM tuner.
As audio analyzer, scope, FM generator and tuner module were all hooked up to the same PC, I had severe problems performing any measurements.
The circuit has been tested with a 100 kbits/s I²C-bus, but is probably fast enough to be used in a 400 kbits/s system.
Today, you can buy an 8-pin IC with this functionality ( with far superior performance ).


References.

[1] Philips Semiconductor: The I2C-bus and how to use it (including specifications)
This one is from 1995. Newer versions are available.

Copyright and disclaimer.

Copyright Notice.
This web-page, including but not limited to all text, drawings and photos, is the intellectual property of Poul Petersen, and is Copyright ©.
Reproduction or re-publication by any means whatsoever is strictly prohibited under International Copyright laws.
The author grants the reader the right to use this information for personal use only.
Any commercial use is prohibited without express written authorization from Poul Petersen.

The information is provided on an "as-is" basis and is believed to be correct, however any use of the information is your own responsibility.

This web-site may contain links to web-sites outside Poul Petersen domain ( www.poulpetersen.dk ).
Poul Petersen has no control over and assumes no responsibility for the content of any web-site outside Poul Petersen own domain.

Poul Petersen does not use cookies to "enhance your experience" on this website.


Poul Petersen, C/Faya 14, 35120 Arguineguín, Las Palmas, Spain.
E-mail: pp@poulpetersen.dk

Poul Petersen notes index

Poul Petersen diy index


Copyright © Poul Petersen 2009..2020. First published: 20091119, Last update: 20200525. Valid HTML!