I2C Active Pull-Up IC

Status
Not open for further replies.

dknguyen

Well-Known Member
Most Helpful Member
Does anyone know of an IC that acts as an active current source to pull-up the lines? Or what they are actually called? I can't seem to find any.
 
I'm assuming you want this to improve the rise time of SDA and SCL, because you have capacitive loading problems. If you're trying to get a faster rise time just make the resistor smaller. There is a limit however, if you make it too small then the drivers will have to sink the current.

The SCSI bus for disk drives and some VME systems had active terminators IIRC, but I'm not sure they would work for you.
 
NXP (fka philips) has all sorts of neat i2c chips, which have all sorts of bells and whistles.

maybe you want a i2c bus buffer / repeater:
**broken link removed**

 
Nigel Goodwin said:
I thought they were called 'a resistor' - why would you want anything else?.

It's potentially a long line. The PIC features I want to use don't come on one with a CAN bus so I'm just looking for a way to improve I2C, by however much.
 
What exactly are you wanting to do?, is I2C the only way?, is I2C needed at all?, how long is 'long'?.
 
Yeah, I2C is needed. I was going to go with a CAN bus, but the dsPICs the that have it are too large for the particular modules around the robot, or just won't fit on the PCB, or another PIC without CAN has many more useful features for the task.

Long isn't "long" as much as I may end up star connecting the wires due to the way everything is laid out and there's going to be quite a few things communicating in real-time so I want to be able to maintain speed without anything unexpected happening due to too much bus loading.
 
You could try an active current source. A resistor pullup (let's assume 1K) supplies 5 mA when the level is low, and progressively less as the voltage on the line rises.

Assuming your I2C drivers can sink 5 mA, you can use a current source as pullup which will provide 5 mA all the way to 4V, whereas the resistor would only give you 1 mA. This can give you a small increase in speed (maybe 25% faster risetime).

An active current source can be as simple as three resistors and a PNP transistor. Or, two resistors, two diodes, and a transistor.

Is the complexity worth it?
 
those chips from nxp do everything you need. if it's a one-off, just grab some samples. if it's a production design I'm sure Arrow or Future can hook you up.

specifically look at the PCA9511 ... SO8 package, easy peasy! (edit originally mentioned wrong part #). It has an in and an out, designed for multipoint (star) distributions.
 
Last edited:
THanks that website helped. I guess NXP doesnt seem to show up when you search for Phillips I2C chips. I'll go with the P82B17.
 
For the rest of the world, that's a JFET or junction FET. Parts like Fairchild's J211, J212, and J213 are good candidates.

Key parameter is "zero-gate voltage drain current". Also look for a JFET with a fairly flat V/I curve at Vgs=0. If there's no chart, use at your own risk. Some JFETs look like low value resistors at Vgs=0.

I should mention that the variation between devices of the same part number can be fairly wide, so it's probably not a good manufacturing solution. You can reduce (and stabilize) the regulated current with a small resistance in the source lead.
 
Last edited:
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…