电路设计论坛
直播中

张娟

7年用户 2020经验值
私信 关注
[文章]

带你认识神奇的按键电路——一键开关电路

按键电路在我们的电路设计中非常常见,其中有一种比较特殊,就是一键开关机电路,顾名思义,就是只用一个按键实现开机关机以及其他功能,其实大家都接触过,我们手机中的开机键就是一个很好的例子,一键开关机有纯硬件机制,也有软件配合机制,今天我们只探索软件配合机制,下面是之前发过的非常不错的软件驱动程序,推荐学习!

完全由 C 编写,高度可移植,超级牛逼的按键驱动机制!



原理其实很简单,就是通过控制 PMOS Q2 的通断来实现的,当按键 KEY1 按下的时候,PMOS Q2 导通,之后控制 Q1 导通,就可以实现 PMOS 一直导通,实现开机,开机之后,可以检测 PG2 的电平来判断按键的短按,双击,长按等操作。

开机过程



按键没按下之前,PMOS GS 两端电压一样,不导通,当按键按下之后,看上图红色回路,G 极通过二极管 D1 接地,PMOS 导通,12V 电压通过 PMOS 到 VCC,给后级供电,这时候有老铁就要问了,难道我要一直按着嘛,按键松开的话 MOS 不就关断了

别急,重点来了,大家有没有注意到一个细节,我们长按手机的时候,什么时候会松开按键,当屏幕点亮的时候才会松开吧,其实从按下到屏幕点亮,系统已经运行起来一部分了,系统刚运行起来的时候,会立刻将 PG1 拉高,三极管 Q1 导通。



此时,如上图所示,MOS 管的 G 极被拉低,即使松开按键了,PMOS 依然导通,由此实现长按开机功能。

那么又有老铁问了,系统开机后,我还想用这个按键实现一些别的功能,比如短按,双击什么的,该怎么办?

按键过程



好说,这里肯定帮老铁们考虑好了,看上图红色部分,按键按下之后,PG2 通过 D2 到地,松开之后,被上拉到高电平,由此就可以检测 KEY1 按键的短按,长按,双击等功能。

关机过程



这里的关机其实是“软关机”,当检测到到 KEY1 长按时,系统先进行必要的关机处理,之后将 PG1 拉低,Q1 关断,松开按键后,实现关机。

回帖(15)

saopeng

2020-3-18 11:09:16
请问一下D1,D2的作用是什么
2 举报

王栋春

2020-3-18 12:54:33
资料不错  感谢楼主分享
举报

天蝎座的拥抱

2020-3-18 19:04:25
早就有用过,只是抄过来的,不知道是如何实现的
分析到位
举报

dongchen1991

2020-3-18 21:47:00
刚使用了这个电路,只不过用的是mos替代三极管
举报

赵润鹏

2020-3-18 21:52:45
平衡车开关机电路就是这个原理
举报

雨天蜻蜓

2020-3-18 22:25:01
挺不错的                                             
举报

jf_39801252

2020-3-18 22:28:37
资料不错,感谢分享
举报

李明

2020-3-19 09:10:44
终于,用了这么多年的电路,被你发现了!!!
举报

zxj710809

2020-3-20 09:40:07
KEY1两端再并个电容,不是更好吗
举报

houjue

2020-3-20 10:06:23
奇怪了,怎么没有收藏呢?
举报

huihui163

2020-3-20 13:32:59
其实这种方案的弊端就是松手才关机
如果不松手关机就更好了
举报

张志龙

2020-3-22 21:41:18
可以可以可以可以
举报

林基强

2020-3-23 18:23:52
【下面是之前发过的非常不错的软件驱动程序,推荐学习!】
显然说错了。楼主改改吧。
举报

范先生

2020-4-13 17:19:14
MARK,现在的产品上面正在用这个电路。
举报

专注一个方向

2021-3-9 09:30:52
就简单的一个电阻、一个电容、一个按键和一个能中断唤醒的io口配合软件就可以实现上面的功能,有必要硬件设计的这么复杂吗?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分