第27卷第6期增刊 2006年6月仪 器 仪 表 学 报Chinese Journal of Scientific InstrumentVol.27No.6J une.2006 嵌入式系统的低功耗设计3杨天池 金 梁 王天鹏(解放军信息工程大学 郑州 450002)摘 要 嵌入式系统的电源管理是系统设计中关键部分,合理的电源管理方案可以减少系统的功耗并提高整体性能。
本文提出了一种层次化的电源管理结构,分别为硬件层、驱动层、操作系统层、电源管理层和应用层。
本文同时引入了动态的电源管理方法来解决电源功耗的动态管理问题。
通过在实际的系统中的测试表明,该电源管理机制的有效性。
关键词 嵌入式系统 低功耗设计 动态电源管理 PXA255Low pow er design in embedded systemYang Tianchi Jin Liang Wang Tianpeng(Universit y of I nf ormation Engineering ,Zhengz hou 450002,China )Abstract Proper power management mechanism is important when designing embedded system.It is helpful to reduce power consumption and improve performance.This low power model adopt s five 2layer architecture ,which are hardware platform ,driver layer ,operating system ,power manage mechanism and application program.Dynamic power management (DPM )technology is also introduced to solve the problem of power consumption.The experiment on embedded system demonstrates t hat this power management mechanism is feasible.K ey w ords embedded system low power design dynamic power management PXA255 3基金项目:河南人才创新基金(0421000100)1 引 言随着嵌入式系统的发展以及应用面的不断扩展,功耗控制是系统设计中必不可少的组成部分。
如何最大限度的降低系统功耗、减少不必要的能源损失、延长电池使用时间已经成为嵌入式系统特别是便携式系统设计中研究的热点问题。
系统的低功耗设计,并非是某一方面、某一角度的解决方案,而应当从系统级的设计考虑功耗的节省,是一个硬件设计与软件控制相互结合的协调过程。
2 低功耗电路模型低功耗设计对于无线设备、PDA 等便携式设备的实际应用具有重要的意义。
低功耗元件的发展和系统设计的进步使得通用计算技术可以用到表、无线电话、PDA 和桌面计算机中。
在这些系统中的电源管理技术传统上集中在休眠模式和设备能源管理这2个方面上[1]。
但是,这样的电源管理缺乏直观性和灵活性,而且功耗的降低,并非单独软件、硬件单方面可以解决的[2],因此设计并建立如图1所示的系统低功耗设计模型。
整个模型由硬件平台,驱动层,操作系统层,电源管理机制层和应用程序五个部分组成。
2.1 硬件平台几乎所有系统功耗都集中于硬件平台,因此降低硬件平台的功耗是实现低功耗的基本所在。
公式(1)为系统功耗的表达式:P ∞CV 2f(1)式中:C 是负载电容,V 是器件电压,f 是工作频率[3]。
系统功耗同负载电容、器件电压平方以及工作频率成正比。
因此,硬件平台设计多选用低电压,电压、频率可调器件,以及采用SOC 设计来进一步降低功耗[4,5]。
另外,模式可控器件在空闲状态消耗的能量为运行状 第6期增刊嵌入式系统的低功耗设计947态的千分之一甚至更小,能动态改变外围电路工作状态也是低功耗系统设计的要求之一。
2.2 驱动层驱动层提供硬件平台和操作系统之间的衔接和通信。
传统的驱动层一般并未包含有电源的动态管理(DPM)功能。
对功耗敏感的应用设计之中具有DPM功能的驱动则是必不可少的了。
DPM对外围设备可允许的工作状态进行定义,对电压、频率可调设备的压/频级别进行明确的划分,接受操作系统的模式转换命令,对外设进行操作,实现硬件状态的切换。
例如MAX3232即在DPM中记录了运行和休眠两种模式,并由其完成此两种模式间的转换[6]。
2.3 操作系统层与传统的层次结构相比,本文涉及的操作系统层的概念没有本质性的改变,仍然负责实现获取外设状态信息,并将信息转换为对驱动层的命令并传达的功能。
2.4 电源管理机制层电源管理机制层(PMM)是动态电源管理的核心所在,也是本文所要讨论的重点。
电源管理机制层是位于操作系统内核以外的软件抽象层,全权负责整个系统的电源状态切换。
为了实现对整个系统功耗的管理,每个功耗可控设备在启用之前,必须注册到PMM,统一由PMM层管理。
所有注册的设备在PMM层维持一个链表,用于记录设备的工作模式、状态等信息,如图2所示。
出于对应用软件兼容性以及电源管理的有效性和灵活性的考虑,可将PMM的管理模式配置为SMAR T模式以及APPL ICA TION模式。
在SMART模式,PMM对功耗的管理完全不需要应用程序的介入和参与,PMM根据task的状态来智能切换外设工作模式,动态改变电压、频率等,因此采用此钟模式可以不必对应用程序做任何修改,保持了应用程序向前的兼容性。
如图3所示,SMART模式下,任务的状态不断在sleeping,running,ready和suspend之间转换,通过获取当前任务的各种状态,来动态调整外设的电压、频率以及工作状态。
但是SMART模式的功耗控制比较简单,属于面向任务级的功耗控制,灵活性较差,而且对功耗的控制能力有限。
在APPL ICA TION模式下,PMM对功耗的管理则必须由应用程序来控制。
PMM层提供对应用程序的API函数接口,直接调用DMP层相应的模式或压/频级别的转换函数实现功率控制,因此应用程序可以灵活、自由的控制外围设备的运行状态,动态改变外围设备的电压、工作频率。
APPL ICA TION属于面向设备的功耗控制,其灵活性和有效性极高。
功耗统计功能。
对于手持、移动等这类功耗敏感应用设备,研发阶段必须对系统的功耗进行测试,因此功耗统计功能则变得十分重要。
如图2所示,在PMM 层实现power consumption statistic(PCS)功能,用于统计设备以及整个系统的功耗。
每次外设工作状态或者压/频级别改变时,PCS获取当前的系统时间以及该设备的工作状态并以文件方式记录下来。
事后将该文件上传到PC机,统计出指定外设或者整个系统的功948 仪 器 仪 表 学 报第27卷 率消耗情况。
由于PCS需占用较多的存储资源,且只在初期调试阶段有意义,因此PCS功能的支持为可选,发布的产品中一般不包含PCS功能。
对Cache的支持。
Cache属于较为特殊的外设。
Cache一般固化在CPU内部,可以用作程序和数据存储器。
但是与普通外部存储设备不同之处是,其工作电压低于外部存储设备一半或者更低,而其负载电容一般是外部存储设备负载电容的1/1000,由公式(1),相同的程序分别在cache中和外围设备中运行,其功率的消耗比为1∶4000。
由此可见,cache的使用对降低系统功耗将具有极大的作用。
但是cache的使用存在命中的问题,因此实际使用中功耗的改善程度要低于上述的计算值。
在PMM层将系统中被频繁调用的函数常驻于cache中(如taskSchedule(),sys Timer()等),cache内容的替换则采用Random replacement或Round robin replacement算法,来提高cache的命中率。
2.5 应用程序应用程序设计可以调用PMM层提供的API函数接口,灵活的控制外设的状态以及压/频级别来降低功率的消耗。
3 结 论本论文提出的低功耗设计模型,在PXA255处理器上进行了验证,采用A TI公司的nucleus嵌入式操作系统,测试结果如表1所示。
表1 系统功耗列表Device Normal mode Low power modeCPU288mW77mWLCD342mW almost0FLASH33mW401μWCF card248mW almost0SERIAL POR T6mW3μW USB host165mW502μW图4为采用PCS后,对串行口工作状态变化的统计图。
所有功能模块同时工作在运行模式,功耗大约为1093mW,而采用PMM层管理策略之后,系统平均功耗为150mw,而idle模式系统功耗仅为69mw由此可见,采用低功耗模型的设计方式极大的降低了系统的总功耗,使得电源的使用得到了控制,从而能源利用更加有效。
参考文献[1] L.Benini,A.Bogliolo,G. D.Micheli.A Survey ofDesign Techniques for System2Level Dynamic PowerManagement[J].IEEE Transactions on Very LargeScale Integration Systems,2000,10(2):2992316. [2] CO.IBM.Dynamic Power Managementfor EmbeddedSystems[G].2002.[3] K.Nowka.A322bit Power PC Syetem2on2a2Chip withSupport for Dynamic Voltage Scaling and DynamicFrequency Scaling[J].IEEE Journal of Solid2StateCircuits,2002,37(11):144121447.[4] T.Lindkvist,J.Lofvenberg,O.Gustaf son.DeepSub2Micron Bus Invert Coding[G].Dept.of EE,Linkopings Universitet,Sweden.[5] J.Pouwelse,ngendoen,H.Sips.Application2directed voltage scaling[J].IEEE Transactions onVery Large Scale Integration Systems,2003.[6] CO.MAXIM.1μA Supply2Current,True+3V to+515V RS2232Transceivers with Auto Shutdown[G].2003.。