微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 电源设计 > 嵌入式系统中动态电源管理技术的应用研究

嵌入式系统中动态电源管理技术的应用研究

时间:11-17 来源:互联网 点击:
2 DPM策略模型

在DPM策略范畴内,系统模型由两个部分组成:一组相互作用的功耗可管理器件(Power Manageable Com—ponent,PMC)和功耗管理(Power Management,PM)。其中,PMC的工作模式由PM来控制。对于PMC,我们并不需要关心其内部实现细节,而是将它们看作黑箱,这样就可以更专注于研究PMC和周围环境的相互关系——即为了实现高效的动态低功耗管理策略,PMC与PM之间需要传递什么类型的信息以及信息量的大小。

2.1 PMC模型

在DPM中,PMC定义为完整系统中的一个原子模块。该定义具有一般性及抽象性,设备可以简单到芯片内部的一个功能模块,或者复杂到一个开发板。PMC的基本特征是具有多个工作模式,而且这些工作模式都对应不同的功耗和性能水平。一般情况下,功耗不可管理器件的性能和功耗存系统设计以及应用过程中都是不变的;相应地,基于PMC就可以在高性能、高功耗的工作模式与低功耗、低性能的工作模式之间进行动态切换。

PMC的另外一个重要特点是,工作模式之间的切换需要付出代价。在大多数情况下,代价指延迟或者性能损失。如果工作模式切换是非瞬态的,而且设备在切换过程中不能提供任何功能,那么无论何时开始一个模式切换都将会带来性能的损失。工作模式之间的切换过程还可能带来功耗代价,其经常出现在切换过程非瞬态的情况下。这里需要强调的足,在设计PMC的过程中不能忽略切换代价。

在大多数应用实例中,可以利用功耗状态机(Power State Machine,PSM)来对PMC建模。其中,“状态”是指各种不同的工作模式。由PMC的特点可知,工作模式之间的切换过程将会产生功耗和延迟代价。一般来说,工作模式的功耗越低,性能将会越低,而且切换延迟也将越长。这个简单的抽象模型适用于多个单芯片设备,例如处理器、存储器,以及硬盘驱动、无线网络接口、显示器等设备。

以Motorola公司的龙珠系列MC68VZ328处理器作为PMC为例,其具有三种工作模式:RUN、DOZE、SLEEP。RUN是正常工作模式,其在正常上电以及复位的情况下进入;在该状态下,所有的功能模块都处于有效状态。DOZE模式使得处理器在不使用的情况下能够通过软件控制来将其停止运行,但仍然会继续监听片上或片外中断源,即在DOZE模式下,当产生某个中断时,CPU能够快速地返回到RUN模式。SLEEP模式能够带来最大化的功耗节省,但同时具有最低层次的功能。从RUN到DOZE的切换,MC68VZ328依次关闭片上功能;而从SLEEP切换到其他任何一种状态,则都将会经历一个相当复杂的唤醒过程。

MC68VZ328的PSM模型如图3所示。状态通过功耗和性能来描述,工作模式的切换时间则通过边线表示。模式切换过程中的功耗接近于RUN模式。这里需要指出的是,虽然DOZE和SLEEP模式都不提供任何性能,但是退出SLEEP模式所需的时间(160 ms)比DOZE模式的退出时间(10μs)长得多,而芯片在SLEEP模式下的功耗(O.16 mW)远远小于DOZE模式下的功耗(50 mW)。



2.2 PM模型

在DPM范畴内,系统是指一组相互作用的设备,其中一些设备(至少有一个)是外部可控的PMC。该定义具有一般性,并没有给系统带来任何大小和复杂性方面的限制条件。在该系统中,设备行为由系统控制器来协调。对比较复杂的系统来说,通常基于软件来实现控制部分。例如在计算机系统中,由操作系统(Operating System,OS)来实现全局的协调工作。
PM根据系统设备的当前工作状态来进行实时控制,因此PM的功能在本质上是一个系统控制器。一个功耗可管理的系统必须向PM提供完全抽象的设备信息;而为了缩减设计时间,PM和系统之间的接口标准化也是一个重要特征。

DPM策略的选择和实现需要同时对设备的功耗/性能特征,以及目标设备上的工作负载进行建模。其中,前者可以通过功耗状态机很好地实现,而工作负载模型的复杂程度则可能相差很大。对所有高级的PM方法而言,都必须获得工作负载的信息。因此,在PM模型中需要系统监控模型,能够实时收集工作负载的数据信息并为PM驱动提供相关信息。系统层PM的抽象结构如图4所示,其中OBSERVER模块负责收集系统中所有PMC的工作负载信息,而CONTROLLER则负责发送工作模式切换的命令。




在PM系统中,并不是所有的设备都必须为PMC。所有非PMC器件的功耗构成了系统功耗的底线值;显然,PM不可能降低该部分设备的功耗。另外,所有功耗能够自身管理的设备对PM来说也是不可控的。尽管PM的功能已经明确定义,但是并没有对其执行方式作出任何限制。在一些系统中,PM是硬件模块;而在其他某些系统中,PM则是软件例程。另外,PM还有可能是软硬件的混合模型。

HAPO200 PDA就是一个PM系统的实例,它是我们实验室基于Intel XScale处理器开发的一款手持个人信息终端。该终端采用嵌入式Linux操作系统,可以提供强大的网络、快捷的因特网访问、完备的个人信息管理、丰富的应用程序等功能,另外还具备CF卡和USB扩展特性。该系统中主要设备的功耗都是可控的,即可以将Intel XS—cale CPU、存储器、LCD以及各种数字化设备设置为低功耗工作模式。另外一些器件,例如实时时钟,则一直处于有效状态。HAPO200 PDA的输入量来自于控制按钮或者手写笔。

HAPO200 PDA基于混合型的软硬件机制来实现PM,其作为一个固件运行在CPU上。HAPO200 PDA上的工作负载随时间变化比较剧烈。如果用户没有在触摸屏上操作,系统则处于空闲(Idle)状态。但是,HAPO200PDA不能在操作停止的时候立即关闭,这是因为从Sleep模式恢复到正常工作状态需要几μs的时间。如果PM将系统设置为Sleep模式太过频繁,那么当重新开始操作时将会丢失一定量的数据,从而导致设备质量受到损害。PM命令会被FPGA控制电路解码,并发送给对应的目标设备。CPU可通过软件进行关闭,而唤醒过程则由中断来驱动。需要提出的是,Sleep模式下的系统功耗不可能为零,这是因为一些系统单元的功耗是不可管理的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top