图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的规格要求开/关机按键和复位按键必须在物理上分开,不能设置在同一个按键上,需要将复位按键隐藏在机身上的检修孔中,无法实现单键开/关机和复位的方案。
那么,有没有一个硬件方案能够使开/关机按键和复位按键合二为一,实现智能手机和平板电脑设计中的单键开/关机和复位的智能方案呢?
3 智能手机和平板电脑设计中的单键开/关机和复位智能方案
意法半导体STM65xx系列智能复位芯片系列有两个或者一个输入,可以连接设备上的两个或者一个功能键。如果这两个键被同时或单个键被按住一定时间(时间长短可以设置或根据型号进行选择),复位芯片将向主处理器发送一个复位信号。复位芯片的两个或者一个输入和延时设定功能,使按键的“普通功能”和按键的“系统复位功能”合二为一,同时能有效地防止设备被意外复位。
在智能手机和平板电脑设计中,当下流行单键开/关机和复位的设计,即整个机身上只有一个机械按键,该按键盘承载了开/关机和卡机复位的功能。STM65xx智能复位芯片系列中的STM6513能够非常圆满地实现这个功能。设计者只要将STM6513的SR0和SR1输入管脚可以连接在Power_Key上(需要双键长按复位的设计,则只需要将/SR0和/SR1分别连接到不同的功能按键上即可),/RST2连接到AP的复位输入管脚,而RST1连接到PMU的PS_HOLD管脚上,这样就可以轻松地实现智能手机和平板电脑设计中的单键开/关机和复位的智能方案,如图6所示的方案1。
图6. 采用STM6513的单键开/关机和复位的智能方案1
当系统处于关机状态时,如果Power_Key被短按,PMU将触发上电过程,当AP上电启动完毕后将PS_HOLD信号拉高,系统上电成功不存在问题。由于设计中Power_Key被短按,不会触发STM6513的延时复位功能(可选,例如8秒钟)。
当系统处于开机工作状态时,如果Power_Key被按下,超过一个的时间(可选,例如8秒钟),/RST2输出低电平有效的复位信号给AP,同时RST1管脚输出高电平信号。由于PMU 的PS_HOLD输入管脚上两个二极管组成的线与功能电路的存在,在AP进行复位的时候,STM6513输出的RST1将保持为高(RST1的trec,可以根据需要通过STM6513的外接电容管脚进行设置),直到AP将PS_HOLD管脚驱动为高。这样一来,在进行系统复位的时候,只是AP被STM6513进行了复位,而PMU实际没有下电过程,可以确保系统复位成功。另外,由于系统复位过程中PMU没有下电,缓存数据不丢失,还可以实现死机时用户应用数据保存的功能。