Home
working onewire optocoupler circuit Update: New circuit is on the way...
Thanks to Bruce Boyes I've tried the circuit with 6N137 instead of 6N139 Optocouplers: The unwanted pulse has been reduced to about 60ns... some more work, and we will have a complete new circuit with just one IC more on each side.

1wire Optocoupler circuit

Based on an often found I2C optocoupler circuit I've build this modified one, which is able to handle one-wire traffic at normal speed. (how it begun @ tinicity.de)


onewire optocoupler
The left side is connected to the TINI.
Some people told me, its better to put the PNP tranistors to a more positive level, but then the circuit can make troubles on a heavy loaded mircolan (tested).

The main problem with original I2C circuit was, that it was to slow. By increasing the ILED the latency dropped to tolerable value.

Other PNP-Transistors may work too, but you should prefer BC557B.
By adding another Transistor on each side, you could reduce power consumtion.
For a lower load on the onewire you can change R1 and R2 to 20k or use a cmos-driver. If you are going to connect a lot of devices you can lower R5 to about 2k.


The most problematic situation for any 1wire optocoupler-circuit is, when deivces on both sides pulls the line low, and one side releases it. This happens everytime when a 0-Bit is transmitted from a device to the master.

(from the DS1820 Datasheet)

In this case, the line is released just to detect, that the other side is still low. This produces a short unwanted pulse. Luckly, this pulse is short enought to not beeing noticed by the ds2480b at normal speed.
 
The active-pullup feature is in this case troublesome, and allthough the pulse is longer (4uS) than I've expected, it is still short enough.
The slightly higher level of the second part of the "read-0"-slot is due the diodes. (Thats why you should use Shottky-Diodes)
So what can be done, to minimize this pulse to be even safer than we are now? One way is to use faster optocouplers than the 6N139 is.
other ideas...
You can try to switch the ground (from the transistor and pin 5 of 6n139) with a ds2405/ds2406 to create something very similar to a ds2409.

(Since the original I2C circuit is available from a diffrent sources, I do not know the original author. Whoever believes he did it, should write a mail to be be mentioned here.)
DISCLAIMER
As you might guessed, we are still hacking around on this solution - so we can't garantee anything. Build it, try it and give feedback. Thank you.
If you going to use this for a commercial application, it would be nice, if you donate something back to the community. (or to me *g*)
Adrian Dabrowski, 2001
atrox.at
TINI & 1wire
Optoisolation
Home Automation

experimental & not finished

This project is experimental and not finished - hope to make a update soon
If you wish to buy a proffessional product, try www.systronix.com

If not otherwise marked: © Copyright 2000,2001,2002 Adrian Dabrowski. All rights reserved.     All trademarks belong to their respective owners.
  I am not liable for content of other sites which you may reach directly or indirectly by following external links.