FPGARelated.com
Forums

Spartan3 driving mosfets

Started by John Larkin September 14, 2006
I've got some DACs that I'd like to switch gain ranges on, and it
turns out I can do it nicely using a single 2N7002 (sot23 n-channel
mosfet) to switch a resistor to ground in each reference circuit. So
I'd like to turn each 7002 on and off from a pin on an XC3S400. But
3.3 volts is a marginal high for this fet... 4 volts looks safe.

So, how about running Vccio a bit high, 3.5 maybe, and adding an
external pullup resistor to +5. If I tristate the pin, I should
forward-bias the upper esd diode and get 4.2 roughly, right? I'm
thinking maybe a half milliampere or so pullup current. Doing this 8
times only dumps 4 mA into the Vccio rail, no hazard there.

I could use a lower-threshold fet, I guess, but the 7002's are in
stock and cost 3 cents each.

John



John Larkin wrote:
> I've got some DACs that I'd like to switch gain ranges on, and it > turns out I can do it nicely using a single 2N7002 (sot23 n-channel > mosfet) to switch a resistor to ground in each reference circuit. So > I'd like to turn each 7002 on and off from a pin on an XC3S400. But > 3.3 volts is a marginal high for this fet... 4 volts looks safe. > > So, how about running Vccio a bit high, 3.5 maybe, and adding an > external pullup resistor to +5. If I tristate the pin, I should > forward-bias the upper esd diode and get 4.2 roughly, right? I'm > thinking maybe a half milliampere or so pullup current. Doing this 8 > times only dumps 4 mA into the Vccio rail, no hazard there. > > I could use a lower-threshold fet, I guess, but the 7002's are in > stock and cost 3 cents each.
You can also switch with NPN transistor + resistor, and a reverse connected one has lower saturation voltage ( and lower beta too ). What resistance do you expect of the on devices ? -jg
Hi John,
your idea might work for awhile, but not for the 20 years of lifetime
that is our criterion.
I would pay a little more for a proper level converter...
Hope to see you some time again!
Peter Alfke, Xilinx
===========================
John Larkin wrote:
> I've got some DACs that I'd like to switch gain ranges on, and it > turns out I can do it nicely using a single 2N7002 (sot23 n-channel > mosfet) to switch a resistor to ground in each reference circuit. So > I'd like to turn each 7002 on and off from a pin on an XC3S400. But > 3.3 volts is a marginal high for this fet... 4 volts looks safe. > > So, how about running Vccio a bit high, 3.5 maybe, and adding an > external pullup resistor to +5. If I tristate the pin, I should > forward-bias the upper esd diode and get 4.2 roughly, right? I'm > thinking maybe a half milliampere or so pullup current. Doing this 8 > times only dumps 4 mA into the Vccio rail, no hazard there. > > I could use a lower-threshold fet, I guess, but the 7002's are in > stock and cost 3 cents each. > > John
A more constructive idea:
connect the cathode of a simple diode to each FPGA output, and pull the
anode through 470 Ohm to 5 V. Then use the diode-resistor node to drive
your FET.
This means you have shifted the voltage up by 0.7 V.
Pool Low voltage of ~0.9 V,but fairly good High voltage, 3.3 V + two
diodes = 4.7V
Peter Alfke
============
John Larkin wrote:
> I've got some DACs that I'd like to switch gain ranges on, and it > turns out I can do it nicely using a single 2N7002 (sot23 n-channel > mosfet) to switch a resistor to ground in each reference circuit. So > I'd like to turn each 7002 on and off from a pin on an XC3S400. But > 3.3 volts is a marginal high for this fet... 4 volts looks safe. > > So, how about running Vccio a bit high, 3.5 maybe, and adding an > external pullup resistor to +5. If I tristate the pin, I should > forward-bias the upper esd diode and get 4.2 roughly, right? I'm > thinking maybe a half milliampere or so pullup current. Doing this 8 > times only dumps 4 mA into the Vccio rail, no hazard there. > > I could use a lower-threshold fet, I guess, but the 7002's are in > stock and cost 3 cents each. > > John
On 14 Sep 2006 19:09:58 -0700, "Peter Alfke" <alfke@sbcglobal.net>
wrote:

>Hi John,
>your idea might work for awhile, but not for the 20 years of lifetime >that is our criterion.
Is there a failure mechanism? John
On Fri, 15 Sep 2006 12:40:54 +1200, Jim Granville
<no.spam@designtools.maps.co.nz> wrote:

>John Larkin wrote: >> I've got some DACs that I'd like to switch gain ranges on, and it >> turns out I can do it nicely using a single 2N7002 (sot23 n-channel >> mosfet) to switch a resistor to ground in each reference circuit. So >> I'd like to turn each 7002 on and off from a pin on an XC3S400. But >> 3.3 volts is a marginal high for this fet... 4 volts looks safe. >> >> So, how about running Vccio a bit high, 3.5 maybe, and adding an >> external pullup resistor to +5. If I tristate the pin, I should >> forward-bias the upper esd diode and get 4.2 roughly, right? I'm >> thinking maybe a half milliampere or so pullup current. Doing this 8 >> times only dumps 4 mA into the Vccio rail, no hazard there. >> >> I could use a lower-threshold fet, I guess, but the 7002's are in >> stock and cost 3 cents each. > > You can also switch with NPN transistor + resistor, and a reverse >connected one has lower saturation voltage ( and lower beta too ). >
Once I start adding parts, I may as well go with an octal level shifter and get all the way to 5 volts. The pcb would route nicer if I could use just the pullups.
> What resistance do you expect of the on devices ?
The 2N7002's go to about 2 ohms with 4 volts or so on the gates, and that 2 ohms will have a roughly +6000 PPM/K tc, net 12 mohm/K, which is good enough here... that will cause just a few PPM/K dac gain error. John
> > -jg
John Larkin wrote:
> On Fri, 15 Sep 2006 12:40:54 +1200, Jim Granville > <no.spam@designtools.maps.co.nz> wrote: > > >John Larkin wrote: > >> I've got some DACs that I'd like to switch gain ranges on, and it > >> turns out I can do it nicely using a single 2N7002 (sot23 n-channel > >> mosfet) to switch a resistor to ground in each reference circuit. So > >> I'd like to turn each 7002 on and off from a pin on an XC3S400. But > >> 3.3 volts is a marginal high for this fet... 4 volts looks safe. > >> > >> So, how about running Vccio a bit high, 3.5 maybe, and adding an > >> external pullup resistor to +5. If I tristate the pin, I should > >> forward-bias the upper esd diode and get 4.2 roughly, right? I'm > >> thinking maybe a half milliampere or so pullup current. Doing this 8 > >> times only dumps 4 mA into the Vccio rail, no hazard there. > >> > >> I could use a lower-threshold fet, I guess, but the 7002's are in > >> stock and cost 3 cents each. > > > > You can also switch with NPN transistor + resistor, and a reverse > >connected one has lower saturation voltage ( and lower beta too ). > > > > Once I start adding parts, I may as well go with an octal level > shifter and get all the way to 5 volts. The pcb would route nicer if I > could use just the pullups. > > > What resistance do you expect of the on devices ? > > The 2N7002's go to about 2 ohms with 4 volts or so on the gates, and > that 2 ohms will have a roughly +6000 PPM/K tc, net 12 mohm/K, which > is good enough here... that will cause just a few PPM/K dac gain > error. > > John > > > > > > > > -jg
You could always use something like a 74AC05 open drain buffer - the device has about 4 ohms of resistance to ground (at 12mA sink). If a couple more ohms isn't an issue, you can dispense with the FETs entirely, but it would add more error than the typical 2 ohms of a 7002 in full drive. Of course, the output FET in a logic gate isn't usually characterised 'thoroughly' :) Cheers PeteS
Use an other FET as FDV301 ... in sot23 too !
The Vgs of this one is much better than your one.

Laurent
http://www.amontec.com

John Larkin wrote:

> I've got some DACs that I'd like to switch gain ranges on, and it > turns out I can do it nicely using a single 2N7002 (sot23 n-channel > mosfet) to switch a resistor to ground in each reference circuit. So > I'd like to turn each 7002 on and off from a pin on an XC3S400. But > 3.3 volts is a marginal high for this fet... 4 volts looks safe. > > So, how about running Vccio a bit high, 3.5 maybe, and adding an > external pullup resistor to +5. If I tristate the pin, I should > forward-bias the upper esd diode and get 4.2 roughly, right? I'm > thinking maybe a half milliampere or so pullup current. Doing this 8 > times only dumps 4 mA into the Vccio rail, no hazard there. > > I could use a lower-threshold fet, I guess, but the 7002's are in > stock and cost 3 cents each. > > John > > >
Have a look at out TechiTip 
http://www.enterpoint.co.uk/techitips/Previous_TechiTips/5p_charge_pump.html 
for a charge pump style solution that does not cost much. We did this bus 
switch (FET) gate driving.

John Adair
Enterpoint Ltd. - Home of Tarfessock1. The Spartan-3E Cardbus Development 
Board.
http://www.enterpoint.co.uk


"John Larkin" <jjlarkin@highNOTlandTHIStechnologyPART.com> wrote in message 
news:fhojg2l323ts6bvpqompi3flcj5fcphlbv@4ax.com...
> I've got some DACs that I'd like to switch gain ranges on, and it > turns out I can do it nicely using a single 2N7002 (sot23 n-channel > mosfet) to switch a resistor to ground in each reference circuit. So > I'd like to turn each 7002 on and off from a pin on an XC3S400. But > 3.3 volts is a marginal high for this fet... 4 volts looks safe. > > So, how about running Vccio a bit high, 3.5 maybe, and adding an > external pullup resistor to +5. If I tristate the pin, I should > forward-bias the upper esd diode and get 4.2 roughly, right? I'm > thinking maybe a half milliampere or so pullup current. Doing this 8 > times only dumps 4 mA into the Vccio rail, no hazard there. > > I could use a lower-threshold fet, I guess, but the 7002's are in > stock and cost 3 cents each. > > John > > >
John Larkin wrote:
> I've got some DACs that I'd like to switch gain ranges on, and it > turns out I can do it nicely using a single 2N7002 (sot23 n-channel > mosfet) to switch a resistor to ground in each reference circuit. So > I'd like to turn each 7002 on and off from a pin on an XC3S400. But > 3.3 volts is a marginal high for this fet... 4 volts looks safe. > > So, how about running Vccio a bit high, 3.5 maybe, and adding an > external pullup resistor to +5. If I tristate the pin, I should > forward-bias the upper esd diode and get 4.2 roughly, right? I'm > thinking maybe a half milliampere or so pullup current. Doing this 8 > times only dumps 4 mA into the Vccio rail, no hazard there. > > I could use a lower-threshold fet, I guess, but the 7002's are in > stock and cost 3 cents each.
Does a FET work better in this app than a bipolar would? I guess it is better to have a resistance (FET) in the path than a low constant voltage (saturated NPN). Personally, I would find a FET with a lower Vgsth. They are not hard to find. I seem to recall the only thing you give up is a higher Vdss rating.