i2c galvanic isolation

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Hi!
I need a i2c bus isolation with optocouplers or another technology. Google
doesn't know interesting hits. Any hints other than the Philips solution
with i2c bus drivers and optocouplers? An integrated solution as a cheap
sockable DIP or SMD device would be great.
I wonder that none of the big semiconductor producers is interested
producing such a device many people need. Hey marketing engineer, where are
you??
Greetings -
Henry




Re: i2c galvanic isolation
http://cgi.microrobotics.plus.com/docs/pdf/opto-i2c.pdf

Though note the error around U4:
VCC2 should _not_ supply both sides of the isolator.




Re: i2c galvanic isolation

Quoted text here. Click to load it
are

Did you just ask for isolation of Maxim/Dallas single-wire bus?

The basic problem is the same: the bus is essentially an open-drain
bidirectional bus, but the available isolators are unidirectional. You need
to bridge both the clock and the data line with two isloators each, one for
each direction. To prvent inventing an isolating flip-flop, the isolator has
to understand pretty deeply the bus protocol to select the direction
properly. The contention mechanisms in I2C make this a challenging
situation.

HTH

Tauno Voipio
tauno voipio @ iki fi



Re: i2c galvanic isolation
Hi!
Yes, I understand what you mean and the bus is NOT the 1-wire bus.
Philips have an app note featuring the new 82B96 on each bus side and using
four optocouplers. Their circuits works without deep knowledge of the bus
protocol. I think there must be other solutions possible.
Knowing the current bus state explicitly, e.g. if one side is the
controlling master, should help.
- Henry




Re: i2c galvanic isolation

Quoted text here. Click to load it

Sorry for asking, there was just a question about isolating the 1-wire bus.
You should still find the thread from this very same group. I2C is more
complicated to isolate due to the multi-master architecture.

Quoted text here. Click to load it
using

Right.

If you think that there may be slaves on both sides of the isolation
clamping the clock simultaneously or masters negotiating for the bus, you'll
see the problem. Are you sure that the Philips chip does not understand the
protocol?

Tauno Voipio
tauno voipio @ iki fi



Re: i2c galvanic isolation
Hi!
I feel a strong need for a i2c newsgroup, webpage or yahoo group. Exists?
All the webpages I know a very limited in parts to the subject i2c.

82B96 background info from Philips is here (interesting as they show other
vendors circuits and historical info)
http://my.semiconductors.philips.com/acrobat/other/mcu/notes_82b96.pdf
Yes, I think the 82B96 doesn't know anything about the protocol. As I
understand it the device works by sensing a differential voltage between
external and internal signal. The Philips block diagram shows voltage
sources of 0.6 volts in-line (= diodes?).




Re: i2c galvanic isolation
Quoted text here. Click to load it

You did not supply a link for the circuit, so I don't know how they are
doing it.  But it appears to me that you either have to build something
that *does* understand the protocol, or you use the smarts that is
already doing this and let it control your optoisolators.  Do the
Philips chips have separate pins for input and output?  If so, this is a
trivial design.  If not, you need to figure out when the chip is driving
and when the bus is driving.  That will take current sensors in both
sides.  It can be done, but is messy and difficult.

              Pullup                Pullup
                |                      |
To control<-----+----------------------+
                |                      |
           Sense Resistor         Sense Resistor
                |                      |
To control<-----+      To control<-----+
                |                      |
Isolation    |--                        --| I2C Cntl
Control  ---|| Opto output                ||----
             |--                        --|
                |                      |
                |                      |
                V                      V

The controller has to sense the current drawn by the I2C controller
output.  You might not need to sense the current through the Opto
output, but you would need a resistor to prevent the Opto output from
"hogging" all the current and making the I2C output appear to be off.
When the voltage across the I2C sense resistor is above a threshold, you
drive the Opto which drives the bus.  You need a similar circuit on the
bus to detect when the bus is driving the Opto input.  

--

Rick "rickman" Collins

snipped-for-privacy@XYarius.com
We've slightly trimmed the long signature. Click to see the full one.
Re: i2c galvanic isolation
Quoted text here. Click to load it

Depending on how the basic I2C controller is implemented, this is not a
big deal.  If the I2C interface is totally within a chip, then it might
be tricky.  But if the I2C interface is in a PLD or MCU where you can
control the external interface, then it is a slam dunk.  All you need is
access to the open drain driver (I am finally getting used to not
calling it "open collector"...).  You substitute the OptoIsolator for
the OD driver and add a second OI for the receive (on a separate MCU/PLD
pin) and you are done!  

The only electrical issue I see is that it would take a wopping pullup
to supply a bunch of OI with current, so I expect you would need access
to the bus Vcc (or is it Vdd?) and wire the OI inputs as pullups.  Then
the active OI output would connect the bus to ground to draw current
through the OIs.  This may require a lot more current than the bus is
normally designed for.  But that should be a good thing since it will
speed up the transitions (unless you are worried about the EMI).  Of
course you could add a transistor driver to reduce the loading, but you
still need a common Vcc to drive the bus side of the OI and transistor.  


--

Rick "rickman" Collins

snipped-for-privacy@XYarius.com
We've slightly trimmed the long signature. Click to see the full one.
Re: i2c galvanic isolation
Quoted text here. Click to load it
... snip ...
Quoted text here. Click to load it

Simplify :-)  You want a one wire path that detects collisions,
can be 'wire or' connected, opto-isolated, etc.  Go back further
than open collectors and, presto: Current loop.  Think mark/space.

I have driven 20 mA current loops, opto-isolated, through
literally miles of extremely noisy environments, surrounded by
elevators, diathermy, x-rays, you name it.

--
Chuck F ( snipped-for-privacy@yahoo.com) ( snipped-for-privacy@worldnet.att.net)
   Available for consulting/temporary embedded and systems.
We've slightly trimmed the long signature. Click to see the full one.
Re: i2c galvanic isolation
We speak about i2c ! Having the benefit of directly interface to a mass of
different chips. Current loops is another field.



Re: i2c galvanic isolation

Quoted text here. Click to load it



Take look at http://www.esacademy.com/faq/i2c/q_and_a/faq/i2cqa3.htm .
This circuit should do the job (although I haven't tested it).

j.


Re: i2c galvanic isolation

Quoted text here. Click to load it
Google
solution
cheap
need
for
has

Did you notice that there is a severe speed restriction?

The circuit does not go over 10 kHz, but the bus is 100 kHz or faster.

Tauno Voipio
tauno voipio @ iki fi




Re: i2c galvanic isolation
Quoted text here. Click to load it

I don't see any obvious reason why this circuit won't work at higher
speeds than 10kHz.  But I do see a problem which would result in a
glitch when both sides are driving the bus and one side releases.  As
the released side rises, it has to reach a voltage of around 3.4 volts
before the opto cuts off enough to let the other side turn on to drive
back.  This will be a short glitch and it is likely that the side doing
the release will not be watching.  But if any transactions are edge
detected, this is likely to cause a false edge.  Perhaps this has
something to do with the speed limitation?  

--

Rick "rickman" Collins

snipped-for-privacy@XYarius.com
We've slightly trimmed the long signature. Click to see the full one.
Re: i2c galvanic isolation

Quoted text here. Click to load it
[...]
Quoted text here. Click to load it

Maybe the reason nobody seems interested in doing this is that this
hardly ever is needed.  I2C, as far as I recall, is designed almost
exclusively for short-range usage, usually to connect items all
sitting on the same PCB, using the same power supply.  Galvanic
isolation would then be in direct contradiction to the basic design
principles of the bus.  In other words: if you need it galvanically
isolated, I2C quite likely wasn't the right choice of connection in
the first place.

The only sane way to galvanically isolate a bidirectional data line is
to have a line driver that exports separate lines per direction of the
bus, so you can put unidirectional isolators on each of those.  That's
how, e.g., CAN bus is usually done.  The CAN controller (a "MAC", in
networker terms) has a "RX" and "TX" line, and the CAN transceiver
(the "PHY") connects those to the actual bus.  Opto-isolation can be
had either integrated into the transceiver, or by putting discrete
optos between the MAC and PHY.

But since I2C is usually done directly by connecting the wires to
bi-directional port pins of the MCU, without any transceiver between
it and the bus, there's no place to insert galvanic isolation.


--
Hans-Bernhard Broeker ( snipped-for-privacy@physik.rwth-aachen.de)
Even if all the snow were burnt, ashes would remain.

Re: i2c galvanic isolation
Surely.
The Philips 82B96 does isolation for i2c with a little help. What you
describe is more like Ethernet or other "networks".
You can directly add chips to the bus and that is the benefit of i2c.



Re: i2c galvanic isolation
Henry,

if you send me your email address. I will send you a schematic for a very
simple but very good working isolation of I2C. It needs four opto's (two for
SCL and two for SDA) and a couple of diodes.

email snipped-for-privacy@NOstacktoolsSPAM.com

gerard



Re: i2c galvanic isolation
On Fri, 19 Dec 2003 22:57:29 +0100, the renowned "Henry"

Quoted text here. Click to load it

Here's one idea. I've not tried it.

http://www.reed-electronics.com/ednmag/contents/images/111199di.pdf


Best regards,
Spehro Pefhany
--
"it's the network..."                          "The Journey is the reward"
snipped-for-privacy@interlog.com             Info for manufacturers: http://www.trexon.com
We've slightly trimmed the long signature. Click to see the full one.
Re: i2c galvanic isolation
I didn't notice any further discussion to the subject but would like that!!
Hopefully it goes on ...



Re: i2c galvanic isolation
Quoted text here. Click to load it

Ask new question, then ;-)  The old ones seem to be considered settled
by everybody else.

--
Hans-Bernhard Broeker ( snipped-for-privacy@physik.rwth-aachen.de)
Even if all the snow were burnt, ashes would remain.

Re: i2c galvanic isolation
Difficult to ask a unknown question :)



Site Timeline