Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1039051
  • 博文数量: 836
  • 博客积分: 43880
  • 博客等级: 大将
  • 技术积分: 5485
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-20 17:36
文章分类

全部博文(836)

文章存档

2011年(1)

2008年(835)

我的朋友

分类: LINUX

2008-08-20 18:26:48


引言 如何有效地管理嵌入式系统,尤其是移动终端的电源功耗,是一个很有价值的课题。动态电源管理DPM(DynamicPower,Management)技术提供一种操作系统级别的电源管理能力,包含CPU工作频率和电压,外部总线时钟频率,外部设备时钟/电源等方面的动态调节、管理功能。通过用户层制定策略与内核提供管理功能交互,实时调整电源参数而同时满足系统实时应用的需求,允许电源管理参数在短时间的空闲或任务运行在低电源需求时,可以被频繁地、低延迟地调整,从而实现更精细、更智能的电源管理。 1动态电源管理原理 CMOS电路的总功耗是活动功耗与静态功耗之和。当电路工作或逻辑状态转换时会产生活动功耗,未发生转换时晶体管漏电流会造成静态功耗:  
式中C为电容,fc为开关频率,Vdd为电源电压,IQ为漏电流。C·Vdd·fc为活动功耗;VddIQ为静态功耗。在操作系统级的电源管理设计实现中,重点是活动功耗。从中可以得出几种管理活动功耗的方法: ①电压/时钟调节。通过降低电压和时钟来减少活动功耗和静态功耗。 ②时钟选通。停止电路时钟,即设fc为O,让Pactive为0。将时钟从不用的电路模块断开,减少活动功耗。许多CPU都有“闲置”或“停止”指令,一些处理器还可通过门控关闭非CPU时钟模块,如高速缓存、DMA外设等。 ③电源供应选通。断开电路中不使用的模块电源供应。这种方法需要考虑重新恢复该模块的代价。 断开不使用的模块的时钟和电源供应可以减少电源消耗,但要能够正确预测硬件模块的空闲时期。因为重新使能硬件模块时钟和电源会造成一定延迟,不正确的预测将导致性能下降。 从式(1)可以看出:降低电压对功耗的贡献是2次方的;降低时钟也可降低功耗,但它同时也降低性能,延长同一任务的执行时间。设2.0V高压下的能量消耗为E高=P高·T,则1.0V低压下能量消耗为E低=P低·2T(实践中频率近似线性依赖电压),再根据式(1)容易得到P高=8P低。综合上式可以得出:E高=4E低,所以,选择满足性能所需的最低时钟频率,在时钟频率和各种系统部件运行电压要求范围内,设定最低的电源电压,将会大量减少系统功耗。上例中完成任务所需的能量可以节约75%。 2硬件平台对动态电源管理的支持 通过调节电压、频率来减少系统活动功耗需要硬件支持。SoC系统一般有多个执行单元,如PM(电源管理)模块、OSC(片上晶振)模块、PLL(锁相环)模块、CPU核以及CPU核中的数据缓存和指令缓存,其他模块统称为外围模块(例如1,CD控制器、UART、SDRAM控制器等)。CPU高频时钟主要由PLL提供,同时PLL也为外围模块和SoC总线提供其他频率时钟。一般SoC系统都有一些分频器和乘法器可以控制这些时钟。PM模块主要是管理系统的电源供应状态。一般有自己的低频、高准确度晶,振,用以维持一个RTC时钟、RTC定时器和中断控制单元。其中中断控制单元使RTC定时器和外部设备能够唤醒挂起的SoC系统。下面以一个广泛用于手持设备的TI0MAPl610处理器为例。 ①时钟模块。OMAPl610提供一个数字相控锁环(DPLL),将外频或晶振输入转化为高频,供给OMAP3.2核以及其他片上设备。操作DPLL控制寄存器DPLLl_CTL_REG就可以设置DPLL输出时钟,辅以设置时钟复用寄存器(MUX)和时钟控制寄存器ARM_CKCTL,就能控制MPU和DSP的运行频率,MPU、DSP外设时钟,以及LCD刷新时钟,TC_CK时钟(TrafflcControlClock)等。 ②电源管理模块。OMAPl610集成一个超低功耗控制模块(ULPD),用以控制OMAP3.2时钟和控制OMAPl610进出多种电源管理模式。操作ULPD控制寄存器ULPD_POWER_CTRL,可以设置处理器电压、管理运行模式。 1 2 3 下一页>>


下载本文示例代码
阅读(316) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~