软件开关机漫谈---硬件篇

  软开关设计漫谈_硬件篇 收藏

  //========================================================================
  //TITLE:
  //    软开关设计漫谈_硬件篇
  //AUTHOR:
  //    norains
  //DATE:
  //    Sunday 19-may-2009
  //Environment:
  //    WINDOWS CE 5.0
  //========================================================================

    何为软开关?软开关是相对于硬开关而言。硬开关顾名思义,电源的开断完全取决于硬件,是物理层上的开合;而软开关,则是必须借助于软件,准确地说是借助软 件来进行关闭。两者各有优劣。前者因为是物理层的操作,可以讲电源和系统部分完全阻隔,所以关闭时漏电流非常小,但缺陷是关闭时无法给予软件任何通知信 息;而后者的关闭只是电平的操作,关闭后无法将电源部分与系统部分隔离,因此相对而言,漏电流会比较大,但优点在于,关闭是由软件进行控制,所以能在关闭 前做好相应的准备工作。正是因为此特性,故电子设备来说采用硬开关的设计非常少,更多的是软开关。举个简单的例子,我们常用的家用电脑就是软开关设计。试 想加入电脑采用的是硬开关的设计,会是什么结果?结果估计就如同我们在正常使用电脑时,突然将插头给拔掉一样。这样,对于电脑的设备,特别是硬盘而言,所 造成的损害是不可估量的。
   
    对于软开关而言,在我们按下那一瞬间,因为还没有给CPU上电,不存在任何程序执行的可能,所以注定“打开”这一个操作只能用硬件完成。当系统跑起来以 后,此时软件已经开始运作,我们就能通过对GPIO进行操作来关闭设备。综上所述,如果要实现软开关,我们必须具备两个GPIO口。一个为 DETECT_KEY,作为输入,用来检测按键是否按下;另一个为GPIO_SHDW,作为输出,用来控制电源的闭合。
   
    现在,我们来看一个典型的软开关电路(图一,以下讲解都以电路图的标号为指代):
   
    
    该电路很简单,对外的节点有四处,分别如下:
   
    PWR_ON:用来控制系统的电源。当其为high时,系统正常供电。
   
    VDD33D:直接接3.3V电压
   
    GPIO_SHDW:当其为low时关闭系统电源
   
    DETECT_KEY:检测按键S1的状态。
   
   
    我们现在根据开机到关机的过程来一步一步来分析该电路:
   
    1.未开机,S1未按下。
   
     此时GPIO_SHDN为low,直接控制了Q1和Q2的控制脚(PIN1),令VDD33D的电压无法输出到POW_ON端。而D1因为S1未按下,该 二极管也处于阻隔状态,S1端的VDD33D也无法输送到POW_ON端。故整个系统还处于关闭状态。
    
   
    2.S1按下,开机。
   
     S1按下,二极管D1导通,S1端的VDD33D电压输送到PWR_ON端,系统开始启动。系统启动时,将GPIO_SHDN置high。此时 PWR_ON已经输入了R2,R3端的VDD33D电压,D1两边电压基本上处于平衡状态,D1相当于断开,S1端的电压无法加载到PWR_ON。
    
    3.S1放开,系统正常运行。
    
     S1放开,D1不可能再导通,而此时电压已经主要是从R2,R3端的VDD3D输入,令PWR_ON一直保持high状态,故系统一直处于正常运行状态。
    
    4.S1按下,系统正常运行。
   
     因为S1按下,导致Q3导通,拉低R6端下方的电压,此时DETECT_KEY这个GPIO口检测到电平为low,软件开始进入计时状态。
    
    5.S1放开。
    
     因为S1已经放开,Q3不再导通,R6下端电压恢复,DETECT_KEY检测到电平为high。此时软件和阈值做比较,如果超过预定的阈值,则关闭系 统;否则,将本次操作忽略。在这里之所以和阈值进行比较,是出自于防抖的需要。因为在实际使用中,可能R6端会有微小的极为短暂的电压降,如果软件不设置 阈值,检测到该电压降就会关闭,这对于产品而言是不允许的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值