I2C Reset Circuitry

23 views
Skip to first unread message

Ian Brech

unread,
Feb 11, 2014, 9:29:18 PM2/11/14
to palouse...@googlegroups.com
As per James's request at the end of the pool test, we have come up with a circuit that could work as a reset for the I2C lines. I'll add one for each I2C line for now, and we can always change it later. I was going to try and build and test it at home, but as it turns out I don't have a p-fet laying around (but I do have an n-fet). I'm planning on running to the lab tonight for a little bit to test it.

(Reminder: I have this post in socialcast as well. Team Bastone, let's try to have any replies posted there as well.)
I2C_reset.png

luke.renaud

unread,
Feb 11, 2014, 10:52:15 PM2/11/14
to palouse...@googlegroups.com
Just as a reference, I pulled up a transistor on digikey (MFR AO3415 DPN 785-1010-1-ND).

This device is 35¢, and has a saturation on resistance of <50mΩ. So for a short while the load see's a small resistance putting our voltage drop at no more than 10mV (200mA * 50mΩ). Doing a quick comparison with our first order mosfet model, we predict a K on the order of amps/volt^2. For the sake of argument assume a very poor estimate of 1A/V^2.

In linear mode with a 0.1V Vds, we see Id=K(Vgs-Vt-Vds/2)Vds. As Vds is small, we approximate as Id=K(Vgs-Vt)Vds. Using another pessimistic estimate for Vt of 1v, and Vgs of 3.2v (using our 0.1v drop) we expect an Id capability on the order of 220mA. If this is more than our load requires, Vds will drop, and the output voltage will rise. If we tone back our Vt estimate, and bring up our K estimate then we dominate a 200mA load without difficulty. I'm pretty confidant that something like this will work without much issue. I still want a test, but just a heads up the math is in our favor.

Ian Brech

unread,
Feb 12, 2014, 12:04:50 AM2/12/14
to palouse...@googlegroups.com
I ran a test with an IRF510 N-FET and a TIP32C PNP BJT. I couldn't find any p-fets in Dana 3, so I used the n-fet in place of the p-fet, and the pnp bjt in place of the n-fet. Applying 3.3V to the input and the gates, I was reading 2.55V across a 15 ohm load resistor. Changing the gate voltage to 0V resulted in a voltage of ~0.55V across the load.

The top transistor in the picture is the N-fet, and the one in the middle of everything is the BJT. I was using a 1uF decoupling capacitor as well.
IMG_20140211_203947_487.jpg

luke.renaud

unread,
Feb 12, 2014, 1:24:53 AM2/12/14
to palouse...@googlegroups.com
The lack of a zero voltage when reversed is to be expected, as the p-fet can't actually pull the output line low. It would be better to use two n-channel devices and simply drive them with inverted signals for a test with an n-pass device. The 2.55v drop is actually about what we can expect. THat would correspond to linear operation up to 0.7v drop, which is the limit of what we can observe over the n-fet passing a high voltage. If you want to do a test without buying new hardware, try reversing the voltage polarity to take advantage of the device's preferred mode of operation.

Such as the attached circuit. In this case the "supplied voltage" is ground. The N-fet pulls the output line low when in the pass mode, and then when it's opened the PNP BJT pulls the output line high quickly. Again, the PNP isn't a mandatory device, it simply speeds up and provides a stronger reset state.


Photo on 2-11-14 at 10.22 PM.jpg

Ian Brech

unread,
Feb 13, 2014, 1:57:49 AM2/13/14
to
Definitely forgot about how mosfets work, so thanks for reminding me. An n-fet passes a low voltage well, turns on with a high voltage and vice versa for the p-fet... wow, it's been a while since 311. So with that configuration, I'm reading 0.33V when driving the gate and base high, and 0.1V when driving them low. If I switch the wiring and have the source of the mosfet connected to the collector of the BJT, I get 3.27V when driving the control signal high, and 0.45V  when driving the signal low.

luke.renaud

unread,
Feb 13, 2014, 1:21:02 PM2/13/14
to palouse...@googlegroups.com
That doesn't make sense. Could you verify the mosfet pinout? When the Mosfet is reversed the internal protection diode will be forward biased and the current should be insensitive to the gate voltage. Furthermore, when the gate is pulled high the output should be low, not high.

Could you try it without the BJT device connected at all just to be sure that isn't causing any issues.

Ian Brech

unread,
Feb 13, 2014, 7:46:17 PM2/13/14
to palouse...@googlegroups.com
I double checked and it looked like the pinouts were right. I was a little confused by that too, so I decided to start over and change a few things:

1.) stopped using the TIP32C and IRF510 transistors. They're overkill for what we're doing anyway.
2.) used a ZVP2110A p-fet (pin 1 = D, pin 2 = G, pin 3 = S) and a 2N3904 npn BJT (pin 1 = E, pin 2 = B, pin 3 = C
3.) used original configuration (p-fet and npn BJT), with the source of the p-fet tied to 3v3, the drain and collector connected, the base and gate connected, and the collector tied to ground
4.) still used a 1uF capacitor, but tried upping the load resistor to 470 ohms instead of 15
5.) got my Microchip samples today, so I decided to use one of the linear 3.3V regulators with a 5V power supply instead of the 3V3 and GND pins on my Cerebot II

Configured like this, I got an output across the load resistor of 3.161V with the control signal tied low, and 0.071V with it tied high. If I removed the BJT, the only difference I saw was that the output with the control signal tied high was 0.000V, which makes sense because the BJT will have some small intrinsic resistance. If I changed the load to 15 ohms, I was getting the same output with the control signal high, but when the gate and base were grounded there was only a 1.08V drop across the resistor. I tried this exact same thing in the lab today with a benchtop power supply and didn't see this, so all I can figure is that the power supplies I've been using aren't providing quite enough current.

luke.renaud

unread,
Feb 13, 2014, 8:43:03 PM2/13/14
to palouse...@googlegroups.com
Okay that makes a lot more sense. In the earlier post you indicated that you measured a high output voltage when nfet was on, and low when it was off. If the high input (control) voltage pulled down the output voltage then that is indeed what I expect. If we only saw 150mV drop with a cheap little NFET, then we should be just fine with a larger one to make things totally clear. You are more than welcome to use the SOT SMD transistor I proposed, or go with one of your own liking to set this circuit up.

Ian Brech

unread,
Feb 13, 2014, 10:29:41 PM2/13/14
to palouse...@googlegroups.com
I don't have a problem using the SOT SMD transistor. Saves us some more space and they're cheap. I could probably figure out another transistor to get, but do we really need to if this one will work?

luke.renaud

unread,
Feb 13, 2014, 10:31:27 PM2/13/14
to palouse...@googlegroups.com
If you're happy I'm happy. I don't see a reason against using it.

Ian Brech

unread,
Feb 13, 2014, 10:34:38 PM2/13/14
to palouse...@googlegroups.com
Great. I'll try and find a footprint for it in eagle then.
Reply all
Reply to author
Forward
0 new messages