Estoy trabajando en un pequeño dispositivo para teléfonos móviles y estoy tratando de implementar un botón de encendido táctil momentáneo que se puede controlar desde la MCU (presione para encender, presione nuevamente para apagar). Me cuesta encontrar un circuito sencillo y elegante para esto. Este está casi allí, pero no se puede usar para apagar el gadget sin un interruptor de doble polo.
PWR_ENABLEesunaseñalaltaactivaqueenciendelaMCU.
Cuandolaalimentaciónestáapagada,PWR_ENABLEsebajacuandoQ20sehabilita(R32mantienealtalacompuertadeQ20,lacompuertadeQ19esbajaporquelaMCUnotienealimentación).CuandosepresionaelbotónSW4,Q20sedesactiva,loquepermitequePWR_ENABLEseaelevado.TanprontocomoaparecelaMCU,seestableceelpinPOWER_HOLDenalto,loquemantienelacompuertadelQ20puestaatierra.Paraapagarlaalimentación,laMCUestablecePOWER_HOLDbajo,lacompuertadelQ20vuelveaestaralta,alponerPWR_ENABLEbajo,laalimentaciónseapaga.
Todoestoestábien,sinembargo,megustaríapermitirqueelusuarioapagueeldispositivoconunapulsaciónlargaenSW4.LomejorseríaunaseñaldeSW4paraquelaMCUpuedahacerelmantenimientoantesdeapagarse.ElproblemaesquelacompuertadelQ20estáaunpotencialdetierracuandolaalimentaciónestáencendida,porloquenopuedosimplementedevolverunaseñaldirectamentedesdeSW4.
EnestadoDESACTIVADO,unapresióndebepresionarPWR_ENABLEalto.EnestadoON,unapulsaciónNOdebetirarPWR_ENABLEbajo,sinoquedebeactivarlaMCU,queasuveztiraPWR_ENABLEbajo(despuésdeguardarlaconfiguración,etc.).
Heideadoelcircuitoacontinuación,peroparecedemasiadocomplicado.¿Alguienpuedeverunamaneraelegantedesimplificar?ElobjetivoesdevolverunaseñalalaMCUdequeelusuariosolicitaunapagado.