# Bipolar Square Wave Generator

The design requirement is to generate a +/-12V square wave from a 0-3.3V square wave at 1kHz.

Here is what I came up with:

PILOT_CTL is the 0-3.3V square wave and the end of R6 should be the +/-12V output.

I built the circuit, plugged it in and Q1 promptly blew up. I believe this is because I tied the drains of the NFET and PFET together. Looking at the DMG6601LVT datasheet I can see that the Turn-Off Delay Time for the NFET is 31.2ns while the Turn-On Delay Time for the PFET is only 1.7ns. I think this means I am shorting +12V to -12V for ~30ns through the FET which is enough to make it go up in smoke.

Any suggestions on how to improve the design to avoid this problem?

Followup

I implemented the suggestion of adding resistors to each drain individually like so:

Q1 no longer blows up and a reasonable square wave is produced:

Looking closer however the rise time is nearly 40us

As was mentioned previously, this is due to the gate charge having to dissipate through a 10k resistor. Obviously I could use smaller pullup/pulldown resistors but this will only improve by one order of magnitude before < 1k resistors start burning too much power. Any suggestions? Is a new circuit topology required?

• The time with both on will be more like 10-20us than 30ns (almost 1000x worse). The gate charge of ~10-12nC has to be supplied through a 10k resistor when the driving MOSFET turns off. – Spehro Pefhany Jan 30 '16 at 22:26

Your squarewave is at low current due to R6 being 1K .If you place some 180 ohm resistors in the drains of Q1 and make R6 820R you still have an output impedence of 1K .Q1 will now stop blowing up so you can start to refine your circuit .

• Good idea, I'll give that a try. – jreimers Jan 30 '16 at 22:44

You have slow turn-on and turn-off because you have beefy 3.8A MOSFETs with 10K-ish source impedance on the gates. You can use much smaller MOSFETs if your output load is really a 1K resistor- something like 2N7000/2N7002 and the equivalent P-channel such as BS250.

One other possible way to do this is to use a MAX232 without using the charge pumps- the rating is +/-15V on the supplies which would seem to be adequate, and the rise/fall times are a couple microseconds.