Having looked at the actual design again here are some updates:<br>The circuit uses 2 PNP devices and may in fact be temperature compensated.<br>The current is ~3mA (220R/VEB)<br>There is a potential gotcha with an active pull-up:<br>

When the line is high the current source has no load and so presents a very low impedance between the line it is pulling up and Vcc. In this situation a device attempting to pull the line low may experience a large transient current as the current source stabilises. I know for a fact that this can hang the I2C interface on an ST7. The cure for this was to add 47R between the current source output and the line.<br>

<br>  Peter<br><br><div class="gmail_quote">On 31 May 2011 09:48, Peter Harris <span dir="ltr">&lt;<a href="mailto:petes.username@gmail.com">petes.username@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

We had a problem at work running I2C on a bus between several boxes. In order to pass EMC requirements it was necessary to put RC filters on the bus lines which of course screwed up the signal shape and killed the interface. The answer was to replace the pull-up resistors with constant current sources set to something like 10mA, these squared up the signals a treat and put us back in business.<br>


<br>The current source circuits used were similar to the one shown here <a href="http://free-schematic.blogspot.com/2010/02/constant-current-source.html" target="_blank">http://free-schematic.blogspot.com/2010/02/constant-current-source.html</a> with the LED replaced by a signal line however we had a PNP/NPN configuration to reduce the voltage drop across the junctions.<br>


<br>Good luck<br><font color="#888888">  Peter<br>
</font></blockquote></div><br>