一种嵌入式设备时钟源的调整方法

文档序号:6333295阅读:360来源:国知局
专利名称:一种嵌入式设备时钟源的调整方法
技术领域
本发明涉及到嵌入式设备省电技术,特别涉及到一种嵌入式设备时钟源的调整方法。
背景技术
近年来,随着嵌入式技术的快速发展,嵌入式设备(简称,设备)的应用越来越广泛,功能越来越强大,其功耗也越来越大。对于便携式设备而言,大多体积较小,且依靠电池供电,而往往又要求具有较长的待机和使用时间。这就对设备的系统功耗设计提出更高的要求,以求最大限度的达到省电的目的。设备的系统功耗主要由动态功耗和静态功耗两部分组成,要降低设备功耗,增加设备的待机和使用时间,一个重要的方面就是要在满足设备正常工作需求的前提下,尽可能的降低设备的频率及电压,从而降低设备的动态功耗。设备通常具有一个或多个时钟域,单个时钟域结构如图1所示,包括一个时钟源为该时钟域的多个模块提供主时钟信号,每个模块都有一个对应的时钟控制器来从时钟源获得该模块需要的时钟频率,时钟控制器一般由一个分频器和一个时钟选择开关构成,其中,分频器用于对时钟源提供的时钟信号进行分频以获得模块所需要的时钟频率,时钟开关用于控制模块时钟信号的接通与断开。多个时钟域的结构如图2所示,每个模块可以属于多个时钟域,通过时钟选择开关,模块可以选择其所属的不同时钟域的时钟源为其提供时钟信号。通常情况下,同一模块,即使使用相同的时钟频率,但如果其选择的时钟源不同, 其功耗也不同,选用较低时钟源的功耗水平较小;同一设备,如果具有多个时钟域,时钟源打开的个数越少,其功耗水平越小。所以,在满足设备正常工作需求的前提下,如果选用时钟信号频率较低的时钟源,或者打开的时钟源个数较少,则可减小设备的动态功耗,延长设备的待机和使用时间。现有技术进行时钟源调整的方法为(1)在设备初始化时为各个模块分配一个或多个时钟源;(2)当有模块所需时钟频率发生变化时,设备根据所述模块所需的时钟频率调整在为该模块分配的时钟源中重新选择一个合适的时钟源提供给该模块;(3)当有时钟源没有为任何模块提供时钟信号时,关闭该时钟源。现有技术的问题在于当模块所需时钟频率发生变化时,仅仅调整该模块的时钟源,而没有根据设备整体时钟频率需求的变化情况对设备其他模块的时钟源进行调整,不利于根据设备时钟需求变化优化整个设备的时钟源配置,不利于有效的降低设备功耗。

发明内容
有鉴于此,本发明提供了一种嵌入式设备时钟源的调整方法,以解决现有技术存在的不能根据设备整体时钟频率需求变化进行时钟源调整的问题。本发明的技术方案是设备实时获取各模块所需要的时钟频率;如果有模块所需要的时钟频率发生变化时,设备根据各模块所需的时钟频率重新配置所有模块的时钟源;设备根据重新配置的时钟源对应的电压等级对设备电压进行调整。所述设备实时获取各模块所需要的时钟频率进一步包括设备实时查询各模块所需要的时钟频率。所述设备实时获取各模块所需要的时钟频率进一步包括各模块在所需要的时钟频率发生变化时实时上报时钟频率需求给设备。所述设备根据各模块所需的时钟频率重新配置所有模块的时钟源进一步包括对每个模块,设备重新选择能够提供其所需时钟频率的时钟信号频率最低的时钟源为所述模块提供时钟信号;根据重新配置的各时钟源的时钟信号频率及各模块所需时钟频率设置所述模块对应的时钟控制器的分频系数;如果有时钟源没有为任何模块提供时钟信号,设备关闭该时钟源。所述设备根据各模块所需的时钟频率重新配置所有模块的时钟源进一步包括步骤1、设备选择能够为最多状态为开启的未重新配置时钟源的模块提供所需时钟频率的时钟源;步骤2、将所有能够从该时钟源获取所需时钟频率的状态为开启的模块的时钟源配置为该时钟源;步骤3、如果还有剩余状态为开启的未重新配置时钟源的模块,返回步骤1 ;否则根据重新配置的各时钟源的时钟信号频率及各模块所需时钟频率设置所述模块对应的时钟控制器的分频系数;步骤4、如果有时钟源没有为任何模块提供时钟信号,设备关闭该时钟源。所述步骤1进一步包括如果能够为最多状态为开启的未重新配置时钟源的模块提供所需时钟频率的时钟源个数大于1,设备选择所述时钟源中时钟信号频率最低的时钟源。本发明的技术方案实时获取各模块的时钟频率需求,在模块时钟频率需求发生变化时,根据时钟频率需求对整个设备的时钟源进行重新调整,使设备在满足工作需求的前提下,尽量处于较小的工作频率或尽量保证时钟源开启数量最少,从而大大降低嵌入式设备的动态功耗,延长了设备的使用时间。


图1是嵌入式设备单个时钟域结构2是嵌入式设备多个时钟域结构示例3是本发明具体实施例1总体流程4是本发明具体实施例2总体流程图
具体实施例方式为进一步说明本发明的技术方案,下面给出具体实施例并结合附图详细说明。具体实施例1本实施例的应用场景为,嵌入式设备共有4个时钟源,分别为CLKl时钟信号频率为^Mhz、CLK2时钟信号频率为81. 92Mhz、CLK3时钟信号频率为104Mhz、CLK4时钟信号频率为MOMhz,6个硬件模块,分别为M1、M2、M3、M4、M5、M6,初始时钟频率需求分别为^Mhz 48Mhz、26Mhz 48Mhz、104Mhz 120Mhz、104Mhz 120Mhz、81. 92Mhz 120Mhz、52Mhz 81. 92Mhz ;其中,Ml和M2可以使用的时钟源为CLKl和CLK4,M3可以使用的时钟源为CLKl、 CLK2、CLK4,M4可以使用的时钟源为CLK3、CLK4,M5和M6可以使用的时钟源为CLK2、CLK3。当前各模块所配置的时钟源分别为M1和M2配置的时钟源为CLKl,M3和M4配置的时钟源为CLK4,M5配置的时钟源为CLK2,M6配置的时钟源为CLK3。本实施例总体流程如图3所示。1、设备实时获取各模块所需的时钟频率;本实施例中,设备获取各模块所需时钟频率的方式为设备实时查询各模块的时钟频率需求;2、如果有模块所需要的时钟频率发生变化,执行步骤3,否则执行步骤1 ;本实施例中,设备查询到M3所需的时钟频率由104Mhz 120Mhz变为^Mhz 48Mhz ;3、设备根据各模块所需的时钟频率重新配置所有模块的时钟源;301、设备统计各模块所需要的时钟频率;302、针对每个模块,选择该模块可以使用,且能提供该模块所需时钟频率的时钟信号频率最低的时钟源为该模块提供时钟信号;本实施例中,CLKl能提供Ml所需要的时钟频率^Mhz,且CLKl是Ml所能使用的时钟源中时钟信号频率最低的时钟源,配置CLKl为Ml提供时钟信号;以此类推,重新配置的结果为,Ml、M2、M3使用CLKl ;M5、M6使用CLK2、M4使用 CLK3 ;4、根据重新配置的各时钟源的时钟信号频率及各模块所需时钟频率设置所述模块对应的时钟控制器的分频系数;本实施例中,根据重新配置后各模块所使用的时钟源的时钟信号频率及各模块所需要的时钟频率配置各模块对应的时钟控制器分频系数分别为Ml分频系数=1,M2分频系数=1,M3分频系数=1,M4分频系数=1,M5分频系数=1,M6分频系数=1 ;5、如果有时钟源没有为任何模块提供时钟信号,执行步骤6,否则执行步骤7 ;6、设备关闭没有为任何模块提供时钟信号的时钟源;本实施例中,重新配置后CLK4没有为任何一个模块提供时钟信号,设备关闭 CLK4 ;7、根据重新配置后各时钟源对应的电压等级对电压进行调整。本实施例中,当有模块所需时钟频率发生变化时,经过重新配置,在保证各模块正常工作的前提下,所有模块均被配置到满足其需求的最低时钟源上,减小了设备的动态功具体实施例2本实施例应用场景与具体实施例1相同。实施例总体流程如图4所示。1、设备实时获取各模块所需时钟频率;本实施例中,设备实时获取各模块所需时钟频率的方式为各模块在所需要的时钟频率发生变化时实时上报时钟频率需求给设备。;2、如果有模块所需要的时钟频率发生变化,执行步骤3,否则执行步骤1 ;本实施例中,设备查询到Ml所需的时钟频率由^Mhz 48Mhz变为104Mhz 120Mhz ;3、设备根据各模块所需的时钟频率重新配置所有模块的时钟源;311、设备选择能够为最多状态为开启的且未重新配置时钟源的模块提供所需时钟频率的时钟源;本实施例中,在Ml所需的时钟频率变化后,各CLK能够提供模块所需时钟频率的情况为CLKl可以为M2提供^Mhz的时钟信号CLK2可以为M5、M6提供81. 92Mhz的时钟信号CLK3可以为M4、M5、M6提供104Mhz的时钟信号CLK4可以为Ml、M2、M3、M4提供240Mhz的时钟信号312、如果所选择到的时钟源大于1个,执行步骤313,否则执行步骤314 ;313、在所选择到的时钟源中选择时钟信号频率最低的时钟源;314、将所有能够从该时钟源获取所需时钟频率的状态为开启的模块的时钟源配置为该时钟源;315、如果还有剩余状态为开启的未重新配置时钟源的模块,执行步骤311,否则执行步骤4 ;本实施例中,第一次选择时钟源时,选择CLK4,将Ml、M2、M3、M4的时钟源配置为 CLK4 ;第二次选择时钟源时,还剩下M5、M6未重新配置时钟源,且CLK2、CLK3都可以为 M5、M6提供其所需的时钟信号,由于CLK2的时钟信号频率小于CLK3,选择CLK2,将M5、M6 的时钟源配置为CLK2。4、根据重新配置的各时钟源的时钟信号频率及各模块所需时钟频率设置所述模块对应的时钟控制器的分频系数;本实施例中,根据重新配置后各模块所使用的时钟源的时钟信号频率及各模块所需要的时钟频率配置各模块对应的时钟控制器分频系数分别为Ml分频系数为2,M2分频系数为5,M3分频系数为2,M4分频系数为2,M5分频系数为1,M6分频系数为1。5、如果有时钟源没有为任何模块提供时钟信号,执行步骤6,否则执行步骤7 ;6、设备关闭没有为任何模块提供时钟信号的时钟源;本实施例中,重新配置后CLKl和CLK3没有为任何一个模块提供时钟信号,设备关闭 CLKl 禾口 CLK3 ;7、根据重新配置后各时钟源对应的电压等级对电压进行调整。本实施例中,当有模块所需时钟频率发生变化时,经过重新配置,在保证各模块正常工作的前提下,将需要开启时钟源的个数减小到最少,减小了设备的动态功耗。本领域技术人员显然清楚并且理解,本发明方法所举的以上实施例仅用于说明本发明,而并不用于限制本发明。虽然通过实施例有效描述了本发明,本领域技术人员知道, 本发明存在许多变化而不脱离本发明的精神,在不背离本发明的精神及其实质的情况下, 本领域技术人员当可根据本发明方法做出各种相应的改变或变形,但这些相应的改变或变形均属于本发明的权利要求保护范围。
权利要求
1.一种嵌入式设备时钟源调整方法,其特征在于,包括设备实时获取各模块所需要的时钟频率;如果有模块所需要的时钟频率发生变化时,设备根据各模块所需的时钟频率重新配置所有模块的时钟源;设备根据重新配置的时钟源对应的电压等级对设备电压进行调整。
2.根据权利要求1所述的一种嵌入式设备时钟源调整方法,其特征在于,所述设备实时获取各模块所需要的时钟频率包括设备实时查询各模块所需要的时钟频率。
3.根据权利要求1所述的一种嵌入式设备时钟源调整方法,其特征在于,所述设备实时获取各模块所需要的时钟频率包括各模块在所需要的时钟频率发生变化时实时上报时钟频率需求给设备。
4.根据权利要求1 3中任一项所述的一种嵌入式设备时钟源调整方法,其特征在于, 所述设备根据各模块所需的时钟频率重新配置所有模块的时钟源包括对每个模块,设备重新选择能够提供其所需时钟频率的时钟信号频率最低的时钟源为所述模块提供时钟信号;根据重新配置的各时钟源的时钟信号频率及各模块所需时钟频率设置所述模块对应的时钟控制器的分频系数;如果有时钟源没有为任何模块提供时钟信号,设备关闭该时钟源。
5.根据权利要求1 3中任一项所述的一种嵌入式设备时钟源调整方法,其特征在于, 所述设备根据各模块所需的时钟频率重新配置所有模块的时钟源包括步骤1、设备选择能够为最多状态为开启的未重新配置时钟源的模块提供所需时钟频率的时钟源;步骤2、将所有能够从该时钟源获取所需时钟频率的状态为开启的未重新配置时钟源的模块的时钟源配置为该时钟源;步骤3、如果还有剩余状态为开启的未重新配置时钟源的模块,返回步骤1 ;否则根据重新配置的各时钟源的时钟信号频率及各模块所需时钟频率设置所述模块对应的时钟控制器的分频系数;步骤4、如果有时钟源没有为任何模块提供时钟信号,设备关闭该时钟源。
6.根据权利要求5所述的一种嵌入式设备时钟源调整方法,其特征在于,所述步骤1包括如果能够为最多状态为开启的未重新配置时钟源的模块提供所需时钟频率的时钟源个数大于1,设备选择所述时钟源中时钟信号频率最低的时钟源。
全文摘要
本发明公开了一种嵌入式设备时钟源的调整方法,设备实时获取各模块所需要的时钟频率;如果有模块所需要的时钟频率发生变化时,设备根据各模块所需的时钟频率重新配置所有模块的时钟源;设备根据重新配置的时钟源对应的电压等级对设备电压进行调整。本发明的技术方案在模块时钟频率需求发生变化时,根据时钟频率需求对整个设备的时钟源进行重新调整,使设备在满足工作需求的前提下,尽量处于较小的工作频率或尽量保证时钟源开启数量最少,从而大大降低嵌入式设备的动态功耗,延长了设备的使用时间。
文档编号G06F1/32GK102445953SQ20101050015
公开日2012年5月9日 申请日期2010年9月30日 优先权日2010年9月30日
发明者夏军, 牟伦荣 申请人:重庆重邮信科通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1