单个按键实现开关机方案推荐

单个按键开关机电路

说明

整个电路的核心是 "锁定" 。要开机时:短按按键,触发一个高电平(或低电平)信号,这个信号能"锁定"系统电源,使其持续供电。

要关机时:再次短按按键,MCU在正常工作后,检测到同一个按键被按下,然后主动产生一个信号解除"锁定",使系统断电。

常见方案

  1. MCU配合按键实现功能;
  2. 单纯硬件,无需MCU参与实现此功能;
  3. 芯片硬件方案;

MCU配合电路

注意:图片来自互联网平台,仅参考说明,不做商业用途。

这个电路的本质是按键配合IO口操作;过程说明如下:

按键按下时,坚持1秒,然后释放,GPIO1被按键按下时,拉到低电平,同时A点电压被拉低;

因为Q1是PMOS,所以此时PMOS导通,此时Vout输出电压;后级MCU此时开始上有电,GPIO2由MCU控制,输出高电平;

Q2因为是NMOS,所以A点电压变为低电平,PMOS继续导通,后续电源供电由IO口控制打开电源。

这个过程中,具体按键按下事件,需要根据实际MCU初始化的时间确定。

弊端/问题

这个电路的弊端,因为需要MCU参与,所以MCU代码的稳定性就很重要,如果异常导致代码死机,MCU产生复位,则系统很可能直接掉电。

还有一点,对于MCU来说,很多MCU下载代码时,如NXP的芯片、星闪蓝牙芯片;下载代码时,需要MCU 的RST引脚状态参与,如果是这样的控制电源方式,下载过程RST电平变化,则MCU很可能自己产生重启,此时MCU GPIO2状态丢失,则系统断电,无法正常下载,与这个电路逻辑冲突,这点是需要考虑的内容。
尝试解决

对于这种情况,要解决就需要更换电路;

或者确认MCU在复位过程时,需要配置IO口能否被外部上下拉稳定到固定的电平(与MCU控制电源IO上电的电平保持一样),这点尤为重要,大家在设计时一定要注意。 如果根据手册拿不准初始化之前可以外部上下拉的IO状态,则一定要实际测试,确保设计能够使用。

单纯硬件方案

以上电路都存在弊端,大家自行先确认下;

按键长按以及后级容性负载会导致电路失效。

温度导致三极管参数产生偏移;

但是通过一定修改,可以实现负载电路,但是会失去一部分功耗。

相关推荐
Winston Wood1 年前
Android关机流程知多少?
android·关机
鹏大师运维1 年前
【命令操作】Linux中多种关机和重启的命令介绍 _ 统信 _ 麒麟 _ 方德
linux·麒麟·重启·开机·国产操作系统·统信uos·方德
Android系统攻城狮1 年前
Ubuntu22.04之解决:无法关机和重启问题(二百四十三)
开机·ubuntu22.04·关机
紫郢剑侠2 年前
我为什么不喜欢关电脑?
程序员·电脑·编程·下载·习惯·下班·关机
AAA_自动化工程师2 年前
FANUC机器人开机时无法进入系统,示教器黑屏故障处理总结
机器人·开机·fanuc机器人·无法进入系统·示教器黑屏
惠惠软件2 年前
两种方法解决win10开机慢,经验分享
win10·优化·开机·方法分享
core5122 年前
CentOS添加开机启动
linux·运维·centos·自启动·开机
Felix.Ma2 年前
开机可用内存分析Tip
android·performance·开机
Felix.Ma2 年前
开机性能-如何抓取开机systrace
android·java·performance·开机