Electronic – Correctly using MOSFETs

digital-logicmosfet

I'm using a P-Channel (DMP1045UQ) and an N-Channel (BSS138K) FET to pull a 12v Logic line (12v @ 5mA) high (from GND) from a Logic Level(3.3v) MCU I/O pin.

Here is the schematic, where VIN = 12v, MCU_TEL_ON = MCU Pin and TEL_ON_IO is the line that is being pulled high.
Schematic

My questions are:

  • Have I done anything egregious here?
  • Is R17 even necessary? Seems to work fine with it in the circuit, though.

Additionally, the circuit does not need to switch quickly — TEL_ON_IO is meant to be kept high for long periods of time.

Best Answer

Your PMOS gate must tolerate the entire swing of Vin. Do not assume that Vgs_max is the same as Vds_max because it does 0% of the time from what I've seen.

The PMOS you have chosen has Vds_max = 12V, but Vgs_max = 8V and you plan to have Vin = 12V which will blow your PMOS the first time you pull its gate low.

R17 is necessary to turn the PMOS off by discharging the gate capacitance since the NMOS can't do anything to turn the PMOS off on its own.