一种嵌入式设备省电方法

文档序号:6585845阅读:121来源:国知局
专利名称:一种嵌入式设备省电方法
技术领域
本发明涉及到嵌入式系统技术,特别涉及到一种嵌入式设备省电方法。
背景技术
随着嵌入式技术的发展,嵌入式设备(简称,设备)的应用越来越广泛,功能越来 越强大,其功耗也越来越大。出于对携带方便的要求,设备大多靠电池供电,且对设备的体 积也有限制,不能将电池做的很大,而又要求尽可能的提高设备的待机和使用时间。如何在 现有条件上通过改善系统设计,降低系统功耗,最大限度的达到省电的目的,是嵌入式设备 发展的一个关键问题。在嵌入式系统中,设备的各个功能模块可以处于三种工作状态工作模式、空闲模 式、睡眠模式。工作模式是指该模块在进行正常的业务处理;空闲模式是指该模块当前没有 业务处理,处于空闲;睡眠模式是指该模块处于低功耗或关闭状态。三种工作状态之间的切换如附图1所示在工作模式下如果工作任务完成,则进入空闲模式;在空闲模式下如果收到睡眠指示,则进入睡眠模式;如果有业务产生,则返回工 作模式。在睡眠模式下如果睡眠时间结束,自然唤醒,则进入空闲模式;如果有业务产 生,则返回工作模式。当设备处于空闲模式和工作模式时,各模块处于正常供电状态,系统时钟频率较 高,此时功耗较大,而当设备处于睡眠模式时,各模块供电电压降低甚至关闭,系统时钟频 率较低,功耗较小,因此,要降低设备功耗,增加设备的待机和使用时间,一个重要的方面就 是让设备尽可能的多处于睡眠状态。在嵌入式设备中,系统通常会通过设置定时器的方法来定时或延时执行一些任 务,定时器在被创建或开启时,可以设定其预定定时长度T,当设备进入睡眠状态时,这些定 时器会继续计时,当某个定时器超时时,会产生中断,将设备从睡眠状态唤醒进入空闲模式 或工作模式,任务完成后,设备会再次进入睡眠状态,等待下一次唤醒。因此,要让设备更多 的处于睡眠模式,降低功耗,一个有效的方法就是减少设备在睡眠过程中被定时器唤醒的 次数,使其睡眠时间更长。在实际应用中,系统设定的定时器一般都存在一定的时间偏差容 忍度(简称,At),即定时器可在其预定超时时刻(简称,Tp) 士 At范围内的任意时刻超时, 而不会对系统任务的执行造成影响,不同的定时器,其At也不相同。中国专利申请号为200710003639的专利申请《一种移动通信设备的省电方法》, (
公开日为2007年7月18日)提出了一种省电方法,将定时器分为粗定时器和精定时器, 并将粗定时器设为网络端时钟的整数倍,将粗定时器的超时时刻设定到网络时钟唤醒移动 通信设备的时刻,从而减少了系统被唤醒的次数,达到省电目的。但是该方法仍有以下缺占.(1)由于精度要求,可划为粗定时器的定时器数目很少,而精定时器的数目会很多,系统仍会被频繁唤醒。(2)将所有粗定时器设为网络端时钟的整数倍,意味着部分粗定时器的响应时间 将有很大偏差。(3)在没有外部时钟可作为参考基准的嵌入式设备中,该方法难以实施。

发明内容
有鉴于此,本发明提供了一种无需使用外部时钟作为参考即可减少嵌入式设备在 睡眠状态被定时器唤醒次数,降低设备功耗的方法。本发明的技术方案为,一种嵌入式设备省电方法,包括步骤1、嵌入式设备在进入睡眠模式前,对已开启的各定时器,在其各自的At范 围内分别调整其定时长度,将定时器与其Tp士 At范围内超时的其它定时器设定在同一时 刻超时;步骤2、设定嵌入式设备睡眠时间,进入睡眠;步骤3、退出睡眠模式时,修正超时的定时器的定时长度。优选的,所述步骤1进一步包括步骤101、按各定时器的At从小到大的顺序,依次对每个定时器,判断是否有满 足该定时器合并条件且未调整超时时刻的定时器;步骤102、如果有满足该定时器合并条件且未调整超时时刻的定时器,将该定时器 超时时刻设定为满足合并条件且未调整超时时刻的定时器中△ t最小的定时器的Tp ;其中,所述合并条件为,时间偏差容忍度小于本定时器的At,且Tp在本定时器的 Tp士 At范围内。优选的,所述步骤1进一步包括步骤111、计算各定时器的预定超时时刻被其它定时器的Tp士 At包括的次数;步骤112、选择一个被包括次数最多的预定超时时刻选择作为基准时刻;步骤113、将Tp士 Δ t包括基准时刻的各定时器的超时时间设置为基准时刻;步骤114、对剩余的未设定超时时刻的定时器,重复步骤111 113,直到完成所有 定时器超时时刻的设置。优选的,所述步骤1进一步包括步骤121、计算所有未调整超时时刻的定时器的Tp士 At范围,选择被最多个定时 器的Tp士 Δ t包括的时间段Δ tmax ;步骤122、在Δ tmax中选择一个时间点Tmax作为基准时刻;步骤123、设定Tp士 At包括了 Δ tmax的定时器的超时时刻为Tmax ;步骤124、对剩余的未设定超时时刻的定时器,重复步骤121 123,直到完成所有 定时器超时时刻的设置。所述睡眠时间为最近超时的定时器超时时刻-当前时刻。所述步骤3包括对超时后需立即重启的定时器,设定其定时长度为T+(Tp-超时时刻);对超时后不需要立即重启的定时器,设定其定时长度为T ;其中,所述T为超时的定时器的预定定时长度。
本发明的技术方案无需使用外部时钟作为基准,即可实现对嵌入式设备内部各定 时器的超时时刻的合并处理,减少了设备在睡眠模式下被唤醒的次数,降低了设备功耗。此外,本发明的技术方案使得定时器无论其时序要求如何,都能在其时间偏差容 忍度范围内实现超时时刻的调整、合并,解决了现有技术方案存在的由于精定时器过多而 使得减少设备唤醒次数不理想的问题。同时,本发明的技术方案在考虑定时器时间偏差容忍度的基础上对定时器的超时 时刻进行调整,解决了现有技术存在的定时偏差过大的问题。


图1是嵌入式设备的工作状态转移2是本发明技术方案流程示意3是本发明具体实施例1定时器超时时刻设定流程4是本发明具体实施例2定时器超时时刻设定流程5是本发明具体实施例3定时器超时时刻设定流程6是本发明具体实施例调整前定时器超时时刻的示意7是本发明具体实施例1调整后定时器超时时刻的示意8是本发明具体实施例2调整后定时器超时时刻的示意9是本发明具体实施例3调整后定时器超时时刻的示意图
具体实施例方式为清楚说明本发明的技术方案,下面给出优选的实施例并结合附图详细说明。具体实施例1本实施例总体流程图如附图2所示1、设备在进入睡眠模式前,对已开启的各定时器,在其各自的At范围内分别调 整其定时长度,将定时器与其Tp士 At范围内超时的其它定时器设定在同一时刻超时,本 步骤流程如附图3所示;101、设备在进入睡眠模式前,检查各定时器,获得各已开启的定时器的Tp及各定 时器的At ;本实施例中,设备进入睡眠前共有5个已开启的定时器,其Tp及Δ t分别为TPl、 At1,Tp2, At2,Tp3、At3,Tp4, At4, Tp5, At5 ;各定时器的 Tp 和 At 如附图 6 所示,其中, Tl Τ5分别为定时器1 5的定时长度,TSl为当前时刻,即设备进入睡眠模式的时刻;102、按Δ t从小到大的顺序,依次选择定时器;本实施例中,各定时器At的大小顺序为,At3< At5 < At2 < Δ t4 < At1 ;103、对选择的定时器,判断是否有满足合并条件且未调整超时时刻的定时器存 在,如果有,执行步骤104,否则执行步骤105 ;其中,所述合并条件为,时间偏差容忍度小于本定时器的At,且Tp在本定时器 Tp士 At范围内;104、将选择的定时器的超时时刻(简称,Ta)设定为满足合并条件且未调整超时 时刻的定时器的定时器中△ t最小的定时器的Tp,执行步骤106 ;
105、设定选择的定时器的Ta为其自己的Tp ;106、判断是否已完成所有定时器Ta的设定,如果是,执行步骤2,否则执行步骤 102 ;本实施例中,定时器3的Δ t3最小,没有满足合并条件的其它定时器,因此,设定 其超时时刻Tei3 = Tp3 ;设定定时器5的Ta5时,只有定时器3是其满足合并条件且未调整超时时刻的的 其它定时器,因此设定其超时时刻Tii5 = Tp3 ;对定时器2,满足合并条件且未调整超时时刻的的其它定时器只有定时器3,因此 设定其超时时刻T =Tp3 ;对定时器4,没有满足合并条件且未调整超时时刻的的其它定时器,因此,其超时 时刻不能调整,设定其超时时刻Tii4 = Tp4 ;对定时器1,满足合并条件且未调整超时时刻的的其它定时器为定时器4,设定其 超时时刻Tei1 = Tp4 ;2、设定嵌入式设备睡眠时间长度,进入睡眠模式;设定嵌入式设备睡眠时间长度为最先到来的超时时间-当前时间;本实施例中,最先到达的超时时刻为Tii1,设定睡眠时间长度=Ta1-当前时间;3、从当前时刻到Ta1,设备睡眠;4, Ta1时间,睡眠结束,设备退出睡眠模式,修正超时的定时器的定时长度。401、设定需要立即重启的定时长度为Τ+(Τρ_超时时刻);402、对不需要立即重启的定时器,设定其定时长度为T ;其中,所述T为超时的定时器预定的定时长度。本实施例中,定时器1,需要立即重启,设定其定时长度为Tl+(Tp1-Ta1)其中Tl为定时器1预定的定时长度;定时器4不需要立即重启,设定其定时长度为其预定定时长度Τ4。本实施例调整后的各定时器超时时刻如附图7所示。具体实施例2本实施例总体流程图如附图2所示1、设备在进入睡眠模式前,对已开启的各定时器,在其各自的时间偏差容忍度At 范围内分别调整其定时长度,将定时器与其Tp士 At范围内超时的其它定时器设定在同一 时刻超时,本步骤流程如附图4所示;本实施例中,设备进入睡眠前共有5个已开启的定时器,其Tp及Δ t分别为TPl、 At1,Tp2, At2,Tp3、At3,Tp4, At4, Tp5, At5 ;各定时器的 Tp 和 At 如附图 6 所示,其中, Tl Τ5分别为定时器1 5的定时长度,TS 1为当前时刻,即设备进入睡眠模式的时刻;其中,Tp1包括在Tp4 士 Δ t4范围内;Tp2 包括在 Tp1 士 Δ、、Tp4 士 Δ t4 范围内;Tp3 包括在 Ti)2 士 Δ t2、Ti)5 士 Δ t5 范围内;Tp4 包括在 Tp1 士 Δ、、Tp2 士 Δ t2 范围内;Tp5没有被其它Tp 士 Δ t包括;
111、计算未调整超时时刻的各定时器的预定超时时刻被其它定时器的Tp士 At 包括的次数;112、选择一个被包括次数最多的预定超时时刻作为基准时刻;113、将Tp士 At包括基准时间的各定时器的超时时刻设置为基准时刻;114、判断是否还存在未调整超时时刻的定时器,如果是,对未设定超时时刻的定 时器执行步骤111,否则执行步骤2 ;本实施例中,首先选择一个被包括次数最多的预定超时时刻TP2作为基准时刻,设 定定时器1、2、4的超时时刻Ta1 = Ta2 = Ta4 = Tp2 ;剩余的定时器3、5再次执行步骤111 113后,设定定时器3、5的超时时刻为Τει3 =Ta5 = Tp3 ;步骤2 4与具体实施例1相同。本实施例调整后的各定时器超时时刻如附图8所示。具体实施例3本实施例总体流程图如附图2所示1、设备在进入睡眠模式前,对已开启的各定时器,在其各自的时间偏差容忍度At 范围内分别调整其定时长度,将定时器与其Tp士 At范围内超时的其它定时器设定在同一 时刻超时,本步骤流程如附图5所示;本实施例中,设备进入睡眠前共有5个已开启的定时器,其Tp及At分别为TPl、 At1,Tp2, At2,Tp3、At3,Tp4, At4, Tp5, At5 ;各定时器的 Tp 和 At 如附图 6 所示,其中, Tl Τ5分别为定时器1 5的定时长度,TSl为当前时刻,即设备进入睡眠模式的时刻;121、计算所有未调整超时时刻的定时器的Tp士 Δ t范围,选择被最多个定时器的 Tp士 At包括的时间段Atmax ;122、在Δ tmax中选择一个时间点Tmax作为基准时刻;123、设定Tp士 Δ t包括了 Δ tmax的定时器的超时时刻为Tmax ;124、判断是否还有未调整超时时刻的定时器,如果有执行步骤121,否则执行步骤 2 ;本实施例中,Tp2±At2、Tp3± At3、Tp4± At4、Tp5± At5 共同覆盖的时间段 Atmax 是被最多个定时器的Tp士 At包括的时间段;在Δ tmax中选择时间点Tmax作为基准时刻;设定定时器2、3、4、5 的超时时间 Ta2 = Ta3 = Ta4 = Ta5 = Tmax ;剩余的定时器1没有其它未调整的定时器的Tp士 Δ t与ΤΡι± Δ tl有共同的覆盖 范围,设定定时器IWTii1 = Tp1;步骤2 4与具体实施例1相同。本实施例调整后的各定时器超时时刻如附图9所示。从附图6、7、8、9及本发明的具体实施例可看出,对定时器1 5,未调整前共有5 个超时时刻,也即是,设备会被唤醒5次,而经本发明的技术方案调整后,在相同的应用场 景下,设备仅会被唤醒2次,有效的减少了设备被唤醒的次数,降低了嵌入式设备的功耗。以上所述仅为本发明的优选实施例,并不用于限制本发明,显然,本领域的技术人 员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些 改动和变型在内。
8
权利要求
1.一种嵌入式设备省电方法,其特征在于,包括步骤1、嵌入式设备在进入睡眠模式前,对已开启的各定时器,在其各自的时间偏差容 忍度At范围内分别调整其超时时刻,将定时器与其Tp士 At范围内超时的其它定时器设 定在同一时刻超时;其中,所述Tp为定时器预定超时时刻;步骤2、设定嵌入式设备睡眠时间,进入睡眠;步骤3、退出睡眠模式时,修正超时的定时器的定时长度。
2.根据权利要求1所述的一种嵌入式设备省电方法,其特征在于,所述步骤1包括 步骤101、按各定时器的At从小到大的顺序,依次对每个定时器,判断是否有满足该定时器合并条件且未调整超时时刻的定时器;步骤102、如果有满足该定时器合并条件且未调整超时时刻的定时器,将该定时器超时 时刻设定为满足合并条件且未调整超时时刻的定时器中At最小的定时器的Tp ;其中,所述合并条件为,时间偏差容忍度小于本定时器的△ t,且Tp在本定时器的 Tp士 At范围内。
3.根据权利要求1所述的一种嵌入式设备省电方法,其特征在于,所述步骤1包括 步骤111、计算各定时器的预定超时时刻被其它定时器的Tp士 At包括的次数; 步骤112、选择一个被包括次数最多的预定超时时刻选择作为基准时刻;步骤113、将Tp士 Δ t包括基准时刻的各定时器的超时时间设置为基准时刻; 步骤114、对剩余的未设定超时时刻的定时器,重复步骤111 113,直到完成所有定时 器超时时刻的设置。
4.根据权利要求1所述的一种嵌入式设备省电方法,其特征在于,所述步骤1包括 步骤121、计算所有未调整超时时刻的定时器的Tp士 Δ t范围,选择被最多个定时器的Tp士 At包括的时间段Atmax ;步骤122、在Δ tmax中选择一个时间点Tmax作为基准时刻; 步骤123、设定Tp士 Δ t包括了 Δ tmax的定时器的超时时刻为Tmax ; 步骤124、对剩余的未设定超时时刻的定时器,重复步骤121 123,直到完成所有定时 器超时时刻的设置。
5.根据权利要求1 4中任一项所述的一种嵌入式设备省电方法,其特征在于,所述睡 眠时间为最近超时的定时器超时时刻-当前时刻。
6.根据权利要求1 4中任一项所述的一种嵌入式设备省电方法,其特征在于,所述步 骤3包括对超时后需立即重启的定时器,设定其定时长度为T+ (Tp-超时时刻); 对超时后不需要立即重启的定时器,设定其定时长度为T ; 其中,所述T为超时的定时器的预定定时长度。
全文摘要
本发明公开了一种嵌入式设备省电方法,嵌入式设备在进入睡眠模式前,对已开启的各定时器,在其各自的时间偏差容忍度Δt范围内分别调整其超时时刻,将定时器与其预定超时时刻±Δt范围内超时的其它定时器设定在同一时刻超时;设定嵌入式设备睡眠时间,进入睡眠;退出睡眠模式时,修正超时的定时器的定时长度。本发明的技术方案通过在时间偏差容忍度范围内对各定时器超时时间的调整,使得各预定超时时间不同,但Tp±Δt范围上有重叠的定时器能够设定在同一时间超时,从而减少了嵌入式设备在睡眠模式下被唤醒的次数,降低了设备功耗。
文档编号G06F1/32GK102117114SQ20091025083
公开日2011年7月6日 申请日期2009年12月30日 优先权日2009年12月30日
发明者夏军, 牟伦荣, 王茂林 申请人:重庆重邮信科通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1