今天给大家讲解一款广泛应用于智能硬件产品中的一键开关机电路。首先,我们先定义需要实现的功能:长按开机、长按关机、短按功能切换。接下来我们就对照如下电路图做详细讲解吧。
如图1所示,PMOS Q1用来控制系统电源的通断,开关S1模拟用户按键,开关S2模拟单片机GPIO输出高低电平,NMOS Q2用来维持Q1的通断,LED1为系统启动提示灯,NMOS Q3协同S1完成短按功能的切换。
图1 一键开关机电路仿真示意图
一、长按开机
在按键S1闭合之前,Q1的栅源极电压都为3.8V,Vgs=0,Q1关断,系统电源U1未使能。当按下按键S1按下后,将会形成如下图2红色箭头的通路,此时Vgs=-2.31V,Q1导通,,系统电源U1使能上电,给MCU供电。
图2 用户按键按下后使能系统
当最小系统启动后,MCU通过GPIO控制Q2导通(开关S2拉高模拟),此时形成如下图3回路,维持系统的持续供电。LED1的亮起提示用户系统已开机,可以松开按键S1。
图3 MCU维持系统供电稳定
这里需要注意几点:
1、电源U1最好选用带使能pin的IC,这样可以避免PMOS直接串联到电源通路上,影响效率;
2、用户提示LED最好通过MCU单独控制,像上图这种常亮的方式,很多超低功耗系统是无法接受的;
二、短按功能切换
当系统处于稳定运行状态时,按键S1被按下后,NMOS Q3导通,此时GPIO_IN由高电平变为低电平,MCU可以捕获这种变化并做相应处理,此时回路如图4所示。
图4 短按按键实现功能切换
二、长按关机
系统处于稳定运行状态时,当按键S1被长时间按下,此时GPIO_IN会长时间处于低电平,MCU通过判断GPIO_IN拉低的时间超过关机设定时间(比如3s),拉低GPIO_OUT(开关S2模拟至低),LED1熄灭,提示用户松开按键S1,完成关机流程。
电路仿真文件下载地址:
链接:https://pan.baidu.com/s/10yk8Eyr_-I6vdEfa0OQ3aQ
提取码:ekub
END
本期电路分享就讲解到这,欢迎评论区留言