一种减少因设备被非正常唤醒而耗电的方法

文档序号:6555683阅读:419来源:国知局
专利名称:一种减少因设备被非正常唤醒而耗电的方法
一种减少因设备被非正常唤醒而耗电的方法
技朮领域
本发明有关于一种减少嵌入式设备耗电的方法,且特别是有关于在
Windows Mobile 5.0操作系统环境下,在系统处于休眠状态期间,减少设备因被 非正常唤醒而耗电的方法。背景技朮
随着移动嵌入式设备使用的不断增加,应用于移动嵌入式设备上的智能操 作系统也随之迅速发展。Windows Mobile 5.0是微软公司最新推出的针对移动嵌 入式设备的操作系统,跟之前推出的数款面向移动设备的操作系统不同, Windows Mobile 5.0将整合智能手机(SmartPhone)、掌上电脑(PDA)、手机版掌 上电脑(PDAPhone)等操作系统。同时增加了更多的特性,比如增加了新版办公 软件套装Word Mobile, PowerPoint Mobile Viewer以及Excel Mobile;加强了 单手操作性能,更方便;优化了智能手机对WiFi的支持;加入支持Push-To-Talk 和视频电话功能;加强了蓝牙传输支持;永久记忆所有的用户数据,掉电情况 K也可以保持所有的数据;支持USB2.0,使用Windows Mobile5.0系统的机型 可直接与外置移动硬盘连接传输等。
Windows Mobile 5.0操作系统的电源管理模块管理设备上所有的驱动程序的 电源状态和系统电源状态。在整个设备是由电池(Battery)供电的时候,设备会在 用户无操作1 minute后进入休眠(Suspend)状态;在整个系统是由充电器(external power)供电的时候,设备会在5 minutes后进入休眠状态,从而省电并延长电池 使用时间。
然而,设备在进入休眠(Suspend)状态之后,某些硬件的动作会将系统唤醒, 如用户按下按键,插入SD/MMC K、或者插入USB线等。如果某胖动作不是 川户所期待的,比如设备放在U袋単,无意屮按下按键而导致设备被唤醒,整 个设备只能在1 minute或5 minutes后重新进入休眠状态,整个期间的耗电对于 川户来说没有任何意义。
如上所述,Windows Mobile 5.0操作系统在拥有更多特性的同时还存在设备 在休眠状态下被非正常唤醒后在1 mmute或者5 mmutes后才能重新进入休眠状 态,在此期间完全为不必要的耗电,使移动嵌入式设备使用时间縮短的问题。
冇此nj鉴,实有必要提供-种减少因设备被非正常唤醒而耗电的方法,从 而可减少设备不必要的耗电。
发明内容
鉴于这种问题,本发明的H的在于提供种减少设备因被非正常唤醒而耗
电的方法,该方法可在一定程度上减少设备不必要的耗电。
为实现上述目的,本发明提供.种减少设备因被非正常唤醒而耗电的方法, 该方法包括以下步骤
a. 驱动程序层在系统即将进入休眠状态之前做如卜动作调用相应
API(Ap加cation Programming Interface)锁定屏幕并修改系统注册表记录屏幕状态 (被锁定)。
b. 系统在接收到唤醒事件后,驱动程序在系统退出休眠状态之后做如下动 作发出消息通知应用程序"系统正在退出休眠状态"。
c. 应用程序层在接收到驱动程序层的消息之后,判断该唤醒是否为用户所
期待的,若为非正常唤醒,则设备重新进入休眠状态;若为用户所期待的唤醒, 则设备转入正常工作状态。
更具体地,步骤C中判断该唤醒是否为用户所期待的唤醒的方法为设备
被唤醒之后,接下来的5秒内应用程序层每隔200毫秒查询一次注册表中"Lock" 的状态(共计査询25次),如果在此5秒内用户把屏幕解除锁定("Lock'M)),则此 唤醒为用户所期待的唤醒;如果5秒内用户没有把屏幕解除锁定,则此唤醒为 非正常唤醒。
如果移动嵌入式设备最小的休眠超时(Suspend Timeout)时间设定为30 Seconds,本发明所提供的方法可以减少83.3%的非正常耗电;本发明所提供的 方法为纯软件方式控制硬件设备的行为,无需增加任何硬件成本。
为使对本发明的技术特征及所达成的功效有更进一步的了解与汄识,配合 附图详细的说明如F。

图1为系统在进入休眠状态之前驱动程序的动作流程图; 图2为系统在退出休眠状态之后驱动程序的动作流程图; 图3所示为系统被唤醒前后本方法的工作流程图,具体实施方式
'
请参阅图l所示,为系统在进入休眠状态之前驱动程序的动作流程图,其
包括以下步骤
歩骤101,驱动程序层被通知'设备即将进入休眠状态; 步骤102,调用如下API锁定屏幕
keybd—event(VK—F22, 0 ,KEYEVENTF—SILENT, 0 )
同时操作系统修改相应注册表项来记^屏幕状态(被锁定),如卜'
[HKEY—MACHINE\System\Statej "Lock" = dword: 2
然后设备进入休眠状态。
请参阅图2所示,为系统在退出休眠状态之后驱动程序的动作流程图,其 包括以下步骤
歩骤201 ,驱动程序层被通知设备即将被唤醒;
歩骤202,调用API(Application Programming Interface) SetEvent通知应用程序 层设备即将被唤醒。
然后设备进入唤醒状态。
请参阅图3所示,为系统被唤醒前后本方法的工作流程图,其包括以下步

步骤301,设备在唤醒状态下等待驱动程序层事件;
步骤302,判断应用程序层是否接收到驱动程序层的通知,若收到,则执行 歩骤303,若没有收到,则返回去执行步骤301;
步骤303,判断设备被唤醒时间是否超过5秒种(也即判断査询次数是否超 过25次),若超过,则执行步骤307,若没有超过,则执行歩骤304;
步骤304,应用程序层每隔200毫秒查询一次系统注册表项"Lock"的值;
歩骤305,判断系统注册表中"Lock"的值是否为0,若为0,则执行步骤306, 若不为O,则返回执行步骤303;
步骤306,设备返回到正常工作模式。
歩骤307,判断系统注册表中"Lock"的值是否为2,若为2,则执行歩骤308, 若不为2,则返回执行步骤301;
步骤308,应用程序层调用如下API
SetSystemPowerState(NULL, POWER STATE SUPEND, POWER—FORCE)
使设备再次转入休眠状态。 一
本发明提供一种减少因设备被非正常唤醒而耗电的方法与现有技术相比,
具有以F积极效果
1:可以避免设备不必要的耗电,延长设备的使用时间。
2:成本低,纯软件的方法控制硬件设备行为,无需增加仟何硬件成本。.
权利要求
1. 一种减少设备因被非正常唤醒而耗电的方法,其特征在于该方法包括 如下步骤a. 驱动程序层在系统即将进入休眠状态之前做如下动作调用相应API(Application Programming Interface)锁定屏幕并修改系统注册表记录屏幕状态(被锁定;hb. 系统在接收到唤醒事件后,驱动程序在系统退出休眠状态之后做如下动 作发出消息通知应用程序"系统正在退出休眠状态";c. 应用程序层在接收到驱动程序层的消息之后,判断该唤醒是否为用户所 期待的,若为非正常唤醒,则设备重新进入休眠状态;若为用户所期待的唤醒,则设备转入正常工作状态。
2. 根据权利要求1所述的减少设备因被非正常唤醒而耗电的方法,其特征 在于所述判断该唤醒是否为用户所期待的唤醒的具体方法为在5秒内应用程序层每隔200毫秒查询一次注册表中"Lock"的状态(共计査询25次),如果在 此5秒内用户把屏幕解除锁定("Lock'^0),则此唤醒为用户所期待的唤醒;如果 5秒内用户没有把屏幕解除锁定,则此唤醒为非正常唤醒。
全文摘要
一种减少因设备被非正常唤醒而耗电的方法,应用于采用Windows Mobile 5.0操作系统的嵌入式设备。该方法提供一种判断设备在休眠状态下是否被正常唤醒的方法,若设备被非正常唤醒(如用户无意中触碰到键盘等),该方法可以通过判断进而使设备继续处于休眠状态,遏止不必要的耗电,从而达到为设备省电的目的。
文档编号G06F1/32GK101122814SQ200610030029
公开日2008年2月13日 申请日期2006年8月11日 优先权日2006年8月11日
发明者彬 周 申请人:环达电脑(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1