Wednesday, 14 January 2015

switches - Switch (Relatively) High Voltage from Logic Level


The Situation:


Basically, I would like to switch a load that requires 30v using a switch that cannot have more than 5v across it. More descriptively, I am trying to drive the anode of a VFD segment from the output of a shift register (probably a 74HC595).


What I Have So Far:


Because the segments are essentially common-cathode, the anode has to be switched. You can't really switch that with an N-Channel FET, as when current is flowing drain to source, the source would instantly be at ~30v, which being higher than the gate voltage (5v), would instantly turn off (I guess maybe it would actually reach equilibrium at some very low conductance?). If a P-Channel FET were used, the gate can be pulled up to the 30v rail for off, but then you have 30v at the logic output, which is far, far outside of spec. Short of shifting the logic-level ground up to 25v, which seems like a major pain, the best that I can think of is to add an N-Channel FET to drive the main P-Channel FET, and pull down the gate of that to ground, like this:



Two-FET Switch Circuit


(I showed it with just a simple switch and load rather than an IC output and a floating anode so that this will be hopefully more applicable and/or easier to understand for people with other applications...)


The Question:


The problem that I have with this is that it seems like an excessive number of components for such a simple task. There has to be a simpler way to switch the higher voltage, right? I feel really stupid having so much trouble with something so simple, but I've spent all day on it, and this (or shifting up the logic ground) is all that I've been able to think of. I guess in the grand scheme, it's only one extra transistor and one extra resistor, but it kind of adds up when you're driving a large number of lines...



Answer



You can indeed get rid of Q2, although a normal open-drain part will have trouble with high voltage on the drain as the output FET will break down -- normal HCMOS output FETs are not rated to drive 30V! A part like the TPIC6B595 will do the job, though -- that right there will save significantly on parts count.


Once you have the level-shifting handled, you can then use a high-side switch array to take care of the rest of the work. (Oh, and the pullup on the output of the TPIC6B595 can be a resistor-pack, if that helps you any.)


Or, you can simply use an integrated high-side driver/level shifter array.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...