Hey guys. I'm trying to build a high-speed push-pull driver using a P-channel and N-channel MOSFET connected to a PWM pin on an LPC11U35, but I'm having a little trouble with choosing a gate resistor. My understading is that the gate resistor limits the instantaneous current caused by the gate capacitance. According to the LPC11U35 datasheet, the GPIO pins are only rated for about 4mA (Actually it says -4mA and I have no idea why, if anybody could shed light on this as well that'd be great), so I've been using 1.5k gate resistors up until now. However, I need this push-pull driver to swtich between 500kHz to 1MHz. This is obviously not going to happen with a 1.5k resistor, the output just sits high all the time. What do I need to do to make this work?
you say the output is high all the time, but do not say if it is the gpio or the fet output. If it is the latter, then check if the gpio is able to pass the thresholds of the fets. If not, then no resistive gate resistor value can help.
Also check if your gpio output is actually toggling when no fet's attached.
The 4mA will give you a slew rate of I/C = 4mA/(Cgatep+Cgaten). so for 1nF the slew rate would be 4V/us. Fets have fairly high gate capacitance. Check you own numbers - will it be able to swicth fast enough?
The specification for the LPC11U35 defines a IOH=-4mA (VOH=VDD-0.4V) and IOL=4mA (VOL=0.4V). If you don't mind your VOH and VOL values to have higher offsets from VDD and GND, then you can source/sink higher currents (see IOHS and IOLS parameters in the data sheet). Figures 17 and 18 in the data sheet show how the current affects VOL and VOH.
It's -4 mA because the pin sinks current. It would be positive if it sourced current.