用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

嵌入式系统的动态电源管理架构

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:40:06
电压的限制下,可变频CPU的工作频率不能超过一个最大值。对于支持多操作点的嵌入式系统,当某个事件发生时,系统会从有一个操作点切换到另一个操作点。这样就需要定义一种机制,来管理不同操作点的切换。对于这一点,会在后面的操作点类型和设备管理中详细描述。在策略框架结构中,操作点是最底层的抽象对象。

在OMAP1612中包含两个内核:ARM926EJS和C5510(DSP)。ARM内核负责整个系统的管理、无线通信协议栈和应用程序的运行;DSP内核负责与无线通信相关的数字信号处理。其中,ULPD(Ultralow-Power-Device)模块提供了芯片级的电源管理机制,包括时钟、电压、省电模式的管理。UPLD分为三个不同的工作模式—Deep Sleep、Big Sleep和Awake,分别对应不同的能耗等级。TC(Traffic Controller)负责管理相关存储器接口。

(2)操作状态

如果把操作点比喻为点的话,操作状态就是一个面。在多操作点的系统下,操作状态与操作点的关系是一对多的关系。引入操作状态的动机主要有两个考虑。

①为了利用DVS和DFS,需要实时监控系统的工作负荷,但是工作负荷是一个连续值,而操作点却是离散的。极端的情况下,可以为不同的工作负荷定主不同的操作点:但是,由于硬件上改变频率和电压都存在延迟和多余的能量消耗,如果频繁地改变操作点,效果却适得其反,因此需要对工作负荷的范围进行划分。在实际情况下,系统的工作负荷和操作系统的状态紧密相磁。一般可以把操作系统看作一个状态机,操作系统通过事件的触发,在没的状态音间切换。简单地,可以把操作系统的状态与操作状态一一对应。由于处于“空闲”和“调度”,对应不同的工作量范围,映射不同的操作点。当然可以对“调度”状态再进行划分。

②作为功率监控的任务,它可以配置特定一个或者多个操作点,但是为了维持底层硬件细节对任务的透明性,通过设置操作状态来间接指定操作点,体现了DPM构架的灵活性。为了满足这样的需求,DPM构架中引入了“任务状态(task state)”的概念。对于功率监控的任务来说,可以在自己的代码空间中,根据任务本身的运行状况设置该任务自己的任务状态,而任务状态作为特定的操作状态在系统初始化的时候登记到DPM中。当在操作系统任务上下文调度切换的时候,根据任务状态,直接调用DPM的相关例程,应用新的操作状态;对于普通的任务,在“任务状态”操作中配置参数“NO STATE”。“NO STATE”表示没有特定的任务状态,即不改变系统当前的操作点.那么,该任务的运行在上下文切换时,能保持原有的操作状态。

由于要同时管理普通任务和功率监控任务,在上下文切换设置操作状态的最低点必然会出现DVS算法和应用频率监控任务状态的矛盾。为了解决这个问题,需要引入操作状态优先级机制。在实现中,功率监控的任务状态对应的操作状态优先级高于DVS算法配置的操作状态。这样,在上述矛质出现的时候,优先应用功率监控任务配置的操作状态。

根据操作系统运行的状态,简单地定义了五种操作状态——空闲、任务-、任务+、任务、睡眠,并且给出了操作状态之间的状态迁移,如图1所示。特别地,当操作系统处于中断状态时,并不为其定义特定的操作状态,而是通过把中断处理例程的任务状态定义为“NO STATE”来实现。
javascript:window.open(this.src);" style="cursor:pointer;"/>
    (3)策略和策略管理者

DPM最高级的抽象对象是策略。定义一个策略就是定义每个操作状态所映射的操作点。在系统中,对某个电源管理方案必须至少定义一个策略,也可以根据不同情况不定期义多策略。在多策略电源方案中,需要策略管理器来协调不同的策略。策略管理器可以从操作系统、用户调用、运行程序、物理设备收集信息从而作出策略决策。策略管理器的位置(用户空间和内核空间)、所收集信息的内容和形式以及相应的操作,需要系统的DPM设计者来定义和实现。

(4)设备管理和同等操作点类

在DPM架构中,策略管理者不会直接对设备的状态进行管理,而是通过底层的设备驱动来管理设备的能耗。在某个操作状态下,映射一类可以在该状态下能被系统接受的操作点。在该状态下,当某个睡眠的设备需要被唤醒的时候,通过驱动对DPM声明约束(constraints),接着DPM在这一类的操作点中选择另外一个操作点,使得该操作点下,该设备能够正常工作,选择的机制可以在策略中定义。简单的方法是选择该类中合法的(满足约束条件)能耗最低的操作点,或者是特别指不定期某个操作点。

4 DPM模块实现

在实时嵌入式操作系统Nucleus微内核中实现了DPM模块,采用的平台是基于TI OMAP1612的TDSCDMA无线终端参考设计(32MB DDRAM,176×220 16bpp TFT液晶显示屏,USB和其它外设)。图2是整合DPM的操作系统结构。

在DPM模块中,整合了策略管理、功率监控调度器(power-aware scheduler)、工作负荷监控器、操作状态管理器、操作点管理、约束管理六个子模块。其中,功率监控调度器和工作负荷监控器嵌入到内核的上下文切换中,工作负荷监控器通过计算操作系统处于空闲调度的时间和采样周期的比值来表征CPU的工作负荷,然后把这个值传递给功率监控调度器,通过内部整合“动态减慢因子”DVS算法,预测下一任务的工作负荷,并设置与之相对应的操作状态。其它四个模块分别对构架中的抽象对象操作点、约束、操作状态、策略进行管理。特别地,策略管理的核心是策略管理者,它以一个独立线程的形式运行在内核空间。

5 结论

经过测试,整合DPM的TD-SCDMA无线终端平均能耗下降了50%。其中在操作点High Active时,电流为400mA左右,而在操作点Sleep时降到了200mA左右;如果应用操作点Deep Sleep(关闭ARM、DSP和所有设备,维持一个32kHz的时钟)电流甚至可以降到10~20mA,完全满足长时间待机。实验表明,利用DPM构架,可以对3G无线终端实行之有效的动态电源管理。随着半导体技术、应用程序优化技术以及高粒度时钟门控和电压门控技术的发展,为提升嵌入式系统的有效能量供给率提供了可能。利用这些新技术继续开发和改进DPM架构和实现,正是今后研究的方向和重点。



上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:8,265.62500 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号