于电脑系统中减少冷开机的机率的方法及其电脑系统的制作方法

文档序号:6375211阅读:143来源:国知局
专利名称:于电脑系统中减少冷开机的机率的方法及其电脑系统的制作方法
技术领域
本发明有关一种于电脑系统中减少冷开机的机率的方法及其电脑系统,且特别是有关于一种可避免因电池故障(Battery Fault)而导致电脑系统的同步动态内存(Synchronous Dynamic Random Access Memory,SDRAM)的数据流失,以减少冷开机的机率的方法及其电脑系统。
(2)背景技术对于一个以电池为主要供电来源的电脑系统而言,当发生电池故障,电池无法继续供电时,电脑系统必须实时进入睡眠模式,来减少电能损耗。其中,电池故障是指电池电量用尽,或是电脑系统遭外力撞击,使得电池脱离电脑系统而无法继续供电的情况。此电脑系统例如是个人数字助理(Personal Digital Assistant,PDA)。
一般电脑系统所使用的中央处理器(Central Processing Unit,CPU)至少包括两种模式正常工作模式(Normal Operation Mode)与睡眠模式(Sleep Mode)。若CPU是为可处理电池故障的CPU时,当电池故障发生后,CPU将直接进入睡眠模式。若电脑系统所使用的CPU是为支持软件电池故障(Software Battery fault)处理功能的CPU时,当电池故障发生,CPU将接收到一电池故障指示事件。此时,CPU是将此电池故障指示事件视为一中断来源(Interrupt Source)。此中断来源必须经过软件程序代码(Software Code)处理之后,CPU才能进入睡眠模式。
当电池故障发生,CPU进入睡眠模式之后,电脑系统的主电路板上所残存的电量,包括主电路板上的等效电容所储存的电量以及备用电源的电量,将继续供应给SDRAM,以继续保存SDRAM上的数据。这样,只要使用者更换新的电池或是将脱落的电池重新安装完毕,则CPU可以再次被唤醒,电脑系统将回复至进入睡眠模式前的状态以供使用者继续使用。当CPU被唤醒后,CPU将先执行硬件初始化,之后,CPU方能开始执行运用程序。其中,CPU于硬件初始化时,CPU会进行软件程序代码的加载程序。软件程序代码的加载程序包括开机码(Boot Code)的加载程序。
然而,在上述的所使用的CPU是为支持软件电池故障处理功能的CPU时,电池故障必须发生于CPU已成功执行完硬件初始化的动作之后,软件程序代码方能处理相对应的电池故障指示事件而使CPU进入睡眠模式。若电池故障是发生于CPU正在执行硬件初始化的过程中,软件程序代码将无法处理此电池故障指示事件,而无法使CPU进入睡眠模式。这样,由于CPU将仍维持于损耗大量电量的正常工作模式,而电池又无法供应电源,故电脑系统的主电路板上的残余电量将快速损耗,至所有电量损耗完毕为止。此时,SDRAM上的数据将因主电路板上的电量耗尽,主电路板无法继续供电而全部流失。使用者的所有数据及原有下载的程序将全部被清除。当使用者更换电池或重新将电池安装完毕后,因SDRAM的数据已经消失,所以电脑系统只能进行冷开机(Cold Reset),回复至电脑系统出厂时的初始状态。
为便于说明,兹将CPU由睡眠模式被唤醒后,CPU执行硬件初始化的期间的定义为第一期间T1,而CPU执行硬件初始化后,CPU得以正常地开始执行运用程序的期间是定义为第二期间T2。
请参照图1,其是当电池故障发生于第一期间T1的相关信号波形图。电源致能信号PWR_EN是用以指示是否进入睡眠模式。当电源致能信号PWR_EN为致能(enabled)时,例如为高位准,CPU是处于正常工作模式;而当电源致能信号PWR_EN为非致能时,例如为低位准,CPU是处于睡眠模式。CPU核心电源信号CPU_CR_PWR是用以指示CPU的核心电源的供电状态。当CPU于正常工作模式时,电池是正常供电给CPU,故CPU核心电源信号CPU_CR_PWR为高位准,而当CPU于睡眠模式时,电池不供电给CPU,故CPU核心电源信号CPU_CR_PWR为为低位准。
此外,CPU外围组件电源CPU_IO_PWR是用以指示CPU的外围组件的供电状态。不管CPU处于正常工作模式或是睡眠模式,CPU的外围组件均有电源供应,故CPU外围组件电源CPU_IO_PWR均为高位准。电池故障信号BTRY_FLT是用以指示是否有电池故障发生。当电池故障信号BTRY_FLT为致能时,电池故障信号BTRY_FLT转为低位准。
请参考图1。于时间点t1时,CPU从睡眠模式中被唤醒,电源致能信号PWR_EN转为高位准,CPU进入第一期间T1。若于第一期间T1内电池故障发生,将产生一电池故障指示事件102,电池故障信号BTRY_FLT将转为低位准。此时,软件程序代码将无法处理此电池故障,故CPU将继续维持于正常工作模式,而消耗大量的电能。于时间点t2之后,由于主电路板上的电能会消耗完毕,主电路板将无法再提供电源给SDRAM。SDRAM上的数据将完全消失。
请参照图2,其是当电池故障发生于第二期间T2的相关信号波形图。当电池故障发生于第二期间T2内的时间点t3而产生电池故障指示事件202时,由于软件程序代码可以成功地处理电池故障指示事件202,故CPU将成功地进入睡眠模式,以减少电源损耗。此时,主电路板上的残余电量仍可继续供应给SDRAM,故SDRAM所储存的数据仍可完整的保存。
因此,如何解决因电池故障发生于第一期间,使得主电路板的残余电量将因CPU仍维持于正常工作模式而消耗殆尽,主电路板无法再供应SDRAM电源而SDRAM所储存的数据流失的问题,以减少电脑系统冷开机的机率,是业界所努力的方向之一。
(3)发明内容有鉴于此,本发明的目的是提供一种于电脑系统中减少冷开机的机率的方法及其电脑系统。本发明将可有效地避免电池故障发生于第一期间,导致SDRAM数据流失的问题,并可降低冷开机的机率。
根据本发明的目的,提出一种于电脑系统中减少冷开机的机率的方法及其电脑系统。电脑系统具有用以控制电脑系统的一中央处理器(CentralProcessing Unit,CPU)、用以将CPU从一睡眠模式唤醒的一唤醒按键、及用以供应电脑系统电源的一电池。CPU是支持软件电池故障(Software Battery fault)处理功能。本发明的方法包括,当CPU处于睡眠模式,且电脑系统处于一电池电量供应不确定的状态时,即使一唤醒事件产生,CPU仍继续维持于睡眠模式;以及当CPU处于睡眠模式,且唤醒按键被按下的期间小于一预定值时,则CPU继续维持于睡眠模式。
为让本发明的上述目的、特点和优点能更明显易懂,下文特举一较佳实施例,并配合附图进行详细说明如下(4)


图1是当电池故障发生于第一期间T1的相关信号波形图。
图2是当电池故障发生于第二期间T2的相关信号波形图。
图3是根据本发明的一较佳实施例,执行上述程序(1)的电脑系统的方块图。
图4A是图3的中央处理器(CPU)处于睡眠模式,且判断电路判断出电脑系统是处于电池电量供应不确定的状态时,第一信号S1与第二信号S2的波形图。
图4B是图3的CPU处于睡眠模式,且判断电路判断出电脑系统非处于电池电量供应不确定的状态时,第一信号S1与第二信号S2的波形图。
图5是根据本发明的一较佳实施例,执行上述程序(2)的电脑系统的方块图。
图6A是图5中,CPU处于睡眠模式,且唤醒按键被按下的期间小于预定值P时的第三信号S3与第四信号S4的波形图。
图6B是图5中,CPU处于睡眠模式,且唤醒按键被按下的期间大于预定值P时的第三信号S3与第四信号S4的波形图。
(5)具体实施方式
本发明是藉由避免电池故障发生于第一期间T1,来避免传统因电量消耗殆尽而使SDRAM数据全部流失的问题。而本发明所提出的避免电池故障发生于第一期间T1的程序包括(1)当电脑系统处于睡眠模式,且当电脑系统处于一电池电量供应不确定的状态时,包括电池故障状态、电池盖打开状态或电池低电量状态,即使一唤醒事件(Wake-up Event)产生,所产生的唤醒事件是不传送至CPU中,使CPU继续维持于睡眠模式。(2)当电脑系统处于睡眠模式时,电脑系统藉由判断唤醒按键被按下的时间长短,来判断唤醒按键是否因遭外力撞击而触发。当唤醒按键被按下的期间小于一预定值时,亦使CPU继续维持于睡眠模式。程序(1)和程序(2)可同时实施或是个别实施。
请参照图3,其是根据本发明的一较佳实施例,执行上述程序(1)的电脑系统300的方块图。电脑系统300包括有一中央处理器(Central ProcessingUnit,CPU)302、一电路单元304、一判断电路306及一电池308。CPU 302是用以控制电脑系统300。CPU 302是支持软件电池故障处理功能。电路单元304是与CPU 302电性连接。电路单元304是用以接收一第一信号S1,并输出一第二信号S2。判断电路306用以根据电脑系统300的状态,控制电路单元304。而电池308则是用以供应电脑系统300电源。
请参照图4A,其是图3的CPU 302处于睡眠模式,且判断电路306判断出电脑系统300是处于电池电量供应不确定的状态时,第一信号S1与第二信号S2的波形图。假设当第一信号S1致能时,第一信号S1为低位准;同样地,当第二信号S2致能时,第二信号S2为低位准。当一唤醒事件410于时间点t4产生时,第一信号S1是转为低位准。当CPU 302处于睡眠模式,且判断电路306判断出电脑系统300是处于电池电量供应不确定的状态时,电路单元304是不会将唤醒事件410传送给CPU 302,故此时第二信号S2是维持于高位准。即使唤醒事件410被输入至电路单元304,但是,由于CPU 302并未接收到唤醒事件,故CPU 302仍将继续维持于睡眠模式。
请参照图4B,其是图3的CPU 302处于睡眠模式,且判断电路306判断出电脑系统300非处于电池电量供应不确定的状态时,第一信号S1与第二信号S2的波形图。当一唤醒事件420于时间点t5产生时,第一信号S1是转为低位准。当CPU 302处于睡眠模式,且判断电路306判断出电脑系统300非处于电池电量供应不确定的状态时,电路单元304会传送唤醒事件422给CPU302。CPU 302将被唤醒。
当电脑系统于电池电量供应不确定的状态时,本发明藉由不让唤醒事件输入至CPU 302,不使CPU 302被唤醒,以避免电脑系统进入上述的执行硬件初始化的第一期间T1。这是因为,当电脑系统300于(1)电池已无电量与电池脱落等电池无法正常供电的电池故障状态;(2)使用者将用以固定电池的电池盖打开,将要取出电池以更换电池的电池盖打开状态;或(3)电池所储存的电量过低的电池低电量状态时,若唤醒电脑系统300,使电脑系统300进入正常工作模式,并进入第一期间T1以执行硬件初始化的话,以上三种状态均可能产生电池无法继续供电,主电路板上的残余电量快速耗尽,而使SDRAM数据全部流失的情形。所以,本发明藉由检测电脑系统300的状态,当电脑系统符合上述三种状态时,则让CPU 302继续保持在睡眠模式。这样,CPU 302将不会进入上述的第一期间T1,亦不会有如传统作法中,软件程序代码无法处理电池故障事件的问题。主电路板上的残余电量是得以继续供电给SDRAM以维持其所储存的数据。故本发明的电脑系统300可以避免SDRAM数据流失,减少冷开机的机会。
请参照图5,其是根据本发明的较佳实施例,执行上述程序(2)的电脑系统500的方块图。电脑系统500包括一唤醒按键530、一CPU 502、一延迟保护电路532及一电池508。唤醒按键530是配置于电脑系统500的外壳上,用以供使用者操作。CPU 502是用以控制电脑系统500,CPU 502并支持软件电池故障处理功能。延迟保护电路532是用以检测唤醒按键530的状态。唤醒按键530是输出一第三信号S3至延迟保护电路532,而延迟保护电路532是输出一第四信号S4至CPU 502。电池508是用以提供电脑系统500所需的电源。
唤醒按键530可能藉由使用者的手指按下,也可能因为电脑系统500掉落遭到撞击而被按下。当电脑系统500掉落时,电池508也很可能因为碰撞的缘故而同时脱落。一般而言,唤醒按键530因碰撞或撞击而被按下的时间长度的一般值约为1~2毫秒(millisecond),而使用者用手指按下唤醒按键530的时间长度通常较长,其一般值约为100毫秒左右。所以,本发明藉由设定一预定值P,预定值P大于1~2毫秒,并小于100毫秒。只要判断出唤醒按键530被按下的期间小于预定值P时,即可得知此时唤醒按键530是因碰撞或撞击而被按下。
由于当电脑系统500掉落或遭到撞击时,电池508很可能亦被撞落。若电池508脱落,则电池508将无法正常地供电给电脑系统500。此时,若让CPU502从睡眠模式中唤醒,则主电路板上的残余电量将会被快速地消耗殆尽,而使SDRAM数据流失。所以,当CPU 502处于睡眠模式,且延迟保护电路532检测出唤醒按键530被按下的期间小于预定值P时,则表示电脑系统500可能遭到碰撞或撞击,电池508很可能已经脱落。此时,本发明是藉由使CPU 502继续维持于睡眠模式,以避免SDRAM数据流失的情形。
请参照图6A,其是图5中,CPU 502处于睡眠模式,且唤醒按键530被按下的期间小于预定值P时的第三信号S3与第四信号S4的波形图。假设当第三信号S3致能时,第三信号S3为低位准;同样地,当第四信号S4致能时,第四信号S4为低位准。当一唤醒事件610于时间点t6产生时,第三信号S3是转为低位准。当CPU 502处于睡眠模式,且延迟保护电路532检测出唤醒按键530被按下的期间小于预定值P时,虽然延迟保护电路532接收到唤醒事件610,但是延迟保护电路532将不传送任何唤醒事件给CPU 502。故此时延迟保护电路532输出的第四信号S4于时间点t6仍将维持于高位准,而CPU502则继续维持于睡眠模式。
请参照图6B,其是图5中,CPU 502处于睡眠模式,且唤醒按键530被按下的期间大于预定值P时的第三信号S3与第四信号S4的波形图。当一唤醒事件620于时间点t7产生时,第三信号S3是转为低位准。当CPU 502处于睡眠模式,且延迟保护电路532检测出唤醒按键530被按下的期间大于预定值P时,代表使用者按下了唤醒按键530,欲唤醒电脑系统500。因此,当延迟保护电路532接收到唤醒事件620之后,延迟保护电路532将输出一唤醒事件622至CPU 502。此时,延迟保护电路532输出的第四信号S4于时间点t6是转为低位准,CPU 502将被唤醒。
其中,延迟保护电路532是由一控制信号CTRL所控制。当电脑系统500处于睡眠模式时,控制信号CTRL为致能,延迟保护电路532是被启动,以执行如图6A与图6B的动作。而当电脑系统500处于正常工作模式时,控制信号CTRL是为非致能,延迟保护电路532是不动作。此时,第三信号S3将直接传送至CPU 502。这样,可以加快电脑系统500于正常工作模式下的操作速度。
本发明上述实施例所揭示的于电脑系统中减少冷开机的机率的方法及其电脑系统,可有效地避免电池故障发生于第一期间T1,导致SDRAM数据流失的问题,并可降低冷开机的机率。本发明对于电脑系统,特别是个人数字助理,更具有可延长SDRAM储存数据的时间与保存数据完整性的优点。
综上所述,虽然本发明已以一较佳实施例揭示如上,然而其并非用以限定本发明,任何熟悉本技术的人员在不脱离本发明的精神和范围内,当可作各种的更动与替换,因此本发明的保护范围当视后附的权利要求所界定的为准。
权利要求
1.一种于电脑系统中减少冷开机的机率的方法,该电脑系统是具有用以控制该电脑系统的一中央处理器(CPU)、用以将该CPU从一睡眠模式唤醒的一唤醒按键、及用以供应该电脑系统电源的一电池,该CPU是支持软件电池故障处理功能,该方法包括当该CPU处于该睡眠模式,且该电脑系统处于一电池电量供应不确定的状态时,即使一唤醒事件产生,该CPU仍继续维持于该睡眠模式;以及当该CPU处于该睡眠模式,且该唤醒按键被按下的期间小于一预定值时,则该CPU继续维持于该睡眠模式。
2.如权利要求1所述的方法,其特征在于,该电池电量供应不确定的状态为电池故障状态、电池的电池盖打开状态或电池低电量状态。
3.如权利要求1所述的方法,其特征在于,该电脑系统是为一个人数字助理。
4.如权利要求1所述的方法,其特征在于,该预定值是大于该唤醒按键因碰撞或撞击而被按下的时间长度的一般值,并小于该唤醒按键由一使用者按下的时间长度的一般值。
5.如权利要求1所述的方法,其特征在于,该预定值是大于1~2毫秒,并小于100毫秒。
6.一种电脑系统,包括一CPU,用以控制该电脑系统,该CPU是支持软件电池故障处理功能;一电路单元,是与该CPU电性连接,该电路单元是用以接收一唤醒事件,并选择性地将该唤醒事件输出至该CPU;一判断电路,用以根据该电脑系统的状态,控制该电路单元;以及一电池,用以供应该电脑系统电源;其中,当该CPU处于该睡眠模式,且该判断电路判断出该电脑系统是处于一电池电量供应不确定的状态时,即使该唤醒事件被输入至该电路单元,该CPU仍继续维持于该睡眠模式。
7.如权利要求6所述的电脑系统,其特征在于,该电池电量供应不确定的状态为电池故障状态、电池盖打开状态或电池低电量状态。
8.如权利要求6所述的电脑系统,其特征在于,该电脑系统是为一个人数字助理。
9.一种电脑系统,包括一唤醒按键;一CPU,用以控制该电脑系统,该CPU是支持软件电池故障处理功能;以及一延迟保护电路,用以检测该唤醒按键的状态;其中,当该CPU处于一睡眠模式,且该延迟保护电路检测出该唤醒按键被按下的期间小于一预定值时,则该CPU继续维持于该睡眠模式。
10.如权利要求9所述的电脑系统,其特征在于,当该电脑系统处于该睡眠模式时,该延迟保护电路被启动,而当该电脑系统处于一正常工作模式时,该延迟保护电路不动作。
11.如权利要求9所述的电脑系统,其特征在于,该预定值是大于该唤醒按键因碰撞或撞击而被按下的时间长度的一般值,并小于该唤醒按键由一使用者按下的时间长度的一般值。
12.如权利要求9所述的电脑系统,其特征在于,该电脑系统是为一个人数字助理。
13.如权利要求9所述的电脑系统,其特征在于,该预定值是大于1~2毫秒,并小于100毫秒。
全文摘要
一种于电脑系统中减少冷开机的机率的方法及其电脑系统。电脑系统具有用以控制电脑系统的一CPU、用以将CPU从一睡眠模式唤醒的一唤醒按键、及用以供应电脑系统电源的一电池。CPU是支持软件电池故障处理功能。本发明的方法包括,当CPU处于睡眠模式,且电脑系统处于一电池电量供应不确定的状态时,即使一唤醒事件产生,CPU仍继续维持于睡眠模式;以及当CPU处于睡眠模式,且唤醒按键被按下的期间小于一预定值时,则CPU继续维持于睡眠模式。
文档编号G06F1/30GK1581021SQ0315304
公开日2005年2月16日 申请日期2003年8月7日 优先权日2003年8月7日
发明者陈振德, 郭英杰 申请人:宏达国际电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1