在这个机制中,存在一个显见的隐患:当AP的系统软件卡机的时候,它将无法响应PMU发送的下电中断请求,也就无法进行关机或复位操作了。可能的解决方法如下:在PMU的PS_HOLD管脚输入端设置一个按键开关S1,当S1被按下,PS_HOLD信号被拉低到地,触发PMU的下电过程,如图3所示。
图3. AP + PMU的硬件架构中的手工复位方案
这个方案固然可行,但是需要将S1隐藏在不易触发的小孔中,平时用户是不能够触碰这个复位开关S1的。除了用户感受不好和增加了设计成本与风险外,这个方案还存在一个问题——当下流行的智能手机或平板电脑的设计只有一个机械按键,也就是连接到PMU电源开关管脚的开关Power_Key。在这种设计中,Power_Key和S1是不能够设置在一起的。原因如图4所示。
图4. AP + PMU的硬件架构中开/关机按键和复位按键不能合二为一的原理图
当系统处于关机状态时,如果Power_Key被短按,PMU将触发上电过程,当AP上电启动完毕后将PS_HOLD信号拉高——此时不管按键是按下还是松开的状态,PMU的PS_HOLD都可以在Tpshold时间内经过R2/C1/R1被及时拉高,系统上电成功不存在问题。当系统处于开机工作状态时,如果Power_Key被按下,由于PS_HOLD信号立即被拉低,PMU将进入下电过程。按键释放的时刻,系统可能处于下电过程或者上电过程的某个阶段,最终导致有可能关机和有可能系统复位的不可以预测的结果,这是产品设计所不可以接受的,如图5所示。更重要的是,采用这样的设计,系统也就根本无法实现软件关机功能了。所以,在这种电路设计中,Power_Key和S1是不能够设置在一起的。
图5. AP + PMU的硬件架构中开/关机按键和复位按键不能合二为一的时序
为了校正PMU自身没有专门的硬件复位输入管脚,而需要借助PS_HOLD信号拉低进行复位的这个缺陷,新的PMU中开始引入了专门的RESET_IN的复位管脚,允许外部电路通过这个管脚硬件复位PMU。但是,这里仍然存在的问题是——PMU的规格要求开/关机按键和复位按键必须在物理上分开,不能设置在同一个按键上,需要将复位按键隐藏在机身上的检修孔中,无法实现单键开/关机和复位的方案。
那么,有没有一个硬件方案能够使开/关机按键和复位按键合二为一,实现智能手机和平板电脑设计中的单键开/关机和复位的智能方案呢?