与产品的主要功能相比,解除卡机状况的机械复位装置通常比较落后。为防止设备意外复位,大多数手动复位键(如果有的话)都掩藏在机身内。因为复位键很难触及,所以拆卸电池成为非常普遍的解决办法。但是,这种做法不仅用户感受度较差,并且增加了成本,还可能会损坏系统,例如,使重要的数据丢失。
那么,在内置电池设计的智能手机和平板电脑中,如何进行系统的硬件复位呢?本文介绍了一种硬件智能复位的解决方案,不仅可以在智能手机和平板电脑设计中实现双键长按的智能复位,还可以实现在智能手机和平板电脑中流行的单键开/关机和复位的智能方案。
2 智能手机和平板电脑应用平台的开/关机和复位的机制和隐患
在当今智能手机和平板电脑的主流平台中,通常都存在应用处理器(Application Process / Baseband, 下简称AP)加电源管理芯片(Power Management Unit, 下简称PMU)的架构,如图1所示。
图1. 智能手机和平板电脑中AP + PMU的硬件架构
在这种硬件架构中,在PMU上设置有一个电源开关管脚与一个机身上的一个机械开关相连(下简称Power_Key)。
当手机处于关机状态的时候,按下Power_Key将PMU的电源开关管脚拉到地,将启动PMU上电过程:PMU启动LDO为AP供电,同时发出硬件复位信号给AP,当AP软件系统启动完毕后,回送一个PS_HOLD信号将PMU的PS_HOLD管脚拉高,并且在工作状态一直维持为高电平;如果在一定的时间内(Tpshold时间),AP没有能将PS_HOLD管脚拉高,则表明AP启动失败,PMU自动进行下电过程。通常要求Power_Key和PS_HOLD信号之间存在一定的关系,即Power_Key信号必须保持为低电平直至PS_HOLD信号被AP驱动为高,如图2所示。这是因为,如果发生了AP上电初始化失败而没能在设置的时间Tpshold内将PS_HOLD信号拉高,Power_Key仍然维持为低能够确保PMU将被触发再一次上电过程,从而确保上电成功。
图2. PMU的Power_Key和PS_HOLD信号的时序关系
当手机处于开机状态的时候,按下Power_Key将PMU的电源开关管脚拉到地,PMU将发送中断给AP,AP将根据中断请求进行响应,将PS_HOLD管脚拉到地,PMU自动进行下电过程。
在这个机制中,存在一个显见的隐患:当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的规格要求开/关机按键和复位按键必须在物理上分开,不能设置在同一个按键上,需要将复位按键隐藏在机身上的检修孔中,无法实现单键开/关机和复位的方案。