账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
将嵌入式DSP应用耗电优化
硬件与软件技术可以提高电源效率

【作者: Scott Gary】2007年05月23日 星期三

浏览人次:【2169】

无线与有线系统设计人员都应关心电源效率,只不过个中原由并不相同。对行动装置而言,更长的电池寿命以及更长的通话或使用时间显然都是优势,但降低电力需求还能让产品使用较小的电池或不同的电池技术,散热问题也变得更简单。


对有线系统来说,设计人员可以缩小电源供应体积、降低散热要求和减少风扇噪音。另一较少为人提及的优点则是在提高电源效率后,系统就能留下更多空间给其它增强效能的零件,这在设计人员使用多颗处理器时特别有用。


无论已含DSP的嵌入式系统,或想在系统功率预算允许下增加DSP的嵌入式系统,都能利用DSP独有的技术、相关操作系统与支持软件节省电力。因为如此,DSP或双处理器设计可以提供传统技术无法做到的更强大省电功能。


本文将同时介绍传统技术和DSP特有的技术,但首先要定义文中用到的名词和原理。


功耗基本知识

CMOS电路的总功耗等于动态(active)与静态(static)功耗之和。


《公式一》
《公式一》

逻辑闸切换逻辑状态就会产生动态功耗,它主要来自开关电流(内部组件充电所需)和穿越电流(P和N信道晶体管同时导通所造成)。动态功耗可估计如下:


《公式二》
《公式二》

另一个关系式则指出,电路稳定操作的最大开关频率(F)是由电压(Vcc)决定。这些关系式隐含两个重要概念:


  • (1)动态功耗与开关频率为线性关系,与供应电压则为平方关系;


  • (2)最大安全开关频率是由供应电压决定。



本文为讨论方便,将把一对特定的频率和电压称为「设定点」(setpoint)。


降低处理器频率频率,它的动态功耗也会等比例减少,但若在不影响效能的情形下降低电压,则从前述的平方关系可知它会节省更多电力。但对特定作业而言,降低处理器频率频率同样会等比例延长其运行时间,因此设计人员必须谨慎分析,确保它在频率频率降低后仍可达到实时要求。


静态功耗是晶体管漏电造成,而CMOS电路的静态功耗过去都远小于动态功耗。嵌入式应用为避免动态功耗,通常会在闲置时关闭处理器频率,这能大幅减少总功耗。未来的设计则必须更注意静态功耗,因为新型晶体管虽然效能更强,漏电流却也会大幅增加。


嵌入式系统通用技术

常见的功耗管理技术分为两类,一种属于硬件设计初期所做的选择,另一种则是系统运行期间执行的技术。


设计初期所做的决定对达成效能和功耗目标当然很重要。下文就是包括硬件选择、设计方法和架构选项在内的10大重要决定,其中大多数是嵌入式设计的基本知识,其它则比较复杂。虽然这些都是设计初期要做的决定,仍有些内容须在设计过程重新确认。这10项决定包括:


  • (1)选择低耗电零件;


  • (2)分割电压域和频率域;


  • (3)提供电压与频率调整功能;


  • (4)提供保持电压(retention voltage)闸控功能;


  • (5)利用中断减少软件执行轮询(polling)的次数;


  • (6)采用阶层式内存模型;


  • (7)减少输出负载;


  • (8)开机时不要启动非必要资源的电源;


  • (9)将主动锁相回路(active PLL)的数目减至最少;


  • (10)利用频率除频器迅速选择替代频率。



系统架构确定后,设计团队应把注意力转到系统执行期间环境。虽然这部份只有14个重点,其中多数却必须在设计过程随时注意:


  • (1)关闭不需要的闸极频率;


  • (2)开机时主动关闭不必要的耗电装置;


  • (3)仅在必要时提供电源给次系统;


  • (4)启动外围装置的低耗电模式;


  • (5)利用外围装置动作侦测器;


  • (6)利用自动更新模式(auto-refresh mode);


  • (7)测量应用效能,找出最低所需的频率与电压;


  • (8)根据整体工作情形调整处理器频率和电压;


  • (9)动态安排处理器频率和电压,使其配合工作负载预测;


  • (10)将程序代码执行速度优化;


  • (11)使用耗电较少的程序代码序列(code sequence)和数据型样(data pattern);


  • (12)利用程序代码重迭技巧(code overlays)减少所需的高速内存;


  • (13)改变电源时进入精简功能模式;


  • (14)降低精确度,以便减少功耗。



这些项目适用于所有的嵌入式系统,包括内建DSP的产品,而且多数有经验的设计人员至少在观念上应很熟悉它们。


这些动作与方法看似简单,实现却不容易。任何降低设计功耗的做法都可能影响系统效能和稳定性。而使用基本电源管理技术时也可能遇到一些困难。


DSP实时操作系统有那些帮助

多数有经验的嵌入式设计人员都知道许多技术皆能由操作系统提供,不需他们针对每个新设计重新再做一遍。


实时操作系统(RTOS)甚至可包含一些最有价值和众所认可的技术,例如让电路进入闲置状态(idling)、避免动态功耗、设备驱动器通知、内存管理以及电压/频率调整。然而这些技术的设计目标差异太大,要把它们全部加入实时操作系统并不容易,必须由开发人员做出适当取舍。就应用耗电优化而言,主要设计目标应该是效率、弹性以及与操作系统的松散结合(loose coupling)。


要了解现有实时操作系统的电源管理模块有那些特性、限制和功能,一个好例子就是TI为DSP/BIOS操作系统提供的电源管理程序(Power Manager;PWRM)。虽然以下介绍的设计主要是针对DSP/BIOS,其观念却很容易运用到其它操作系统或不含操作系统的应用环境。


电源管理程序要求

设计电源管理程序时,最主要的七个要求为:


  • (1)电源管理动作须由应用启动,而不是由操作系统启动;


  • (2)电源管理动作对多数应用程序代码必须完全透明;


  • (3)电源管理程序必须支持电压与频率调整,并能利用芯片的闲置与休眠模式;


  • (4)应用程序必须协调电源管理事件的处理,发生特定事件时必须通知用户程序;


  • (5)所有的线程环境(thread context)以及特定用户程序的多个实体(instance)都须能使用这些电源管理功能,例如设备驱动器的多个实体;


  • (6)将电源事件通知用户程序后,电源管理程序须能容忍对方延迟完成事件处理,并在等待对方传回完成讯号的同时,继续通知其它用户程序;


  • (7)电源管理程序须能扩充,并可移植到各种不同功能的平台。



为达到前述的要求,如(图一)所示把Power Manager当成附属模块加入DSP/BIOS。



《图一 Power Manager的功能分割》
《图一 Power Manager的功能分割》

Power Manager位于DSP/BIOS核心之外。它不是操作系统执行的一个工作,而是在应用控制绪(control thread)和设备驱动器环境里执行的一组应用程序界面(API)。


这表示核心不需要任何修改。但是在处理器频率与操作系统定时器频率耦合在一起的其它平台上,设计人员就必须为DSP/BIOS频率模块(CLK)提供辅助例程。这对频率调整很重要,因为这些例程可将操作系统频率当成Power Manager的用户程序进行调整。


Power Manager界面透过特定平台专用的电源调整链接库(Power Scaling Library)直接控制DSP硬件,并且读写频率闲置组态缓存器(clock idle configuration register),该链接库可以控制处理器时钟速率和稳压电路。透过电源调整链接库,Power Manager和其它应用软件就不需要知道频率及电压控制硬件的实作细节。


Power Manager是由设计工程师静态分配其组态,并由应用软件在执行期间动态呼叫。它有几项功能与应用有关:


将频率域设为闲置状态

Power Manager提供界面将特定频率域设为闲置状态,以便减少动态功耗。它还提供一套机制,可在操作系统空闲环路(idle loop)的适当位置让DSP内部的处理器和高速缓存自动进入闲置状态。


开机省电功能

Power Manager包含一套程序链接机制,让开发人员指定一个在开机时自动呼叫的省电函式。


电压与频率调整

Power Manager提供界面让应用动态调整DSP核心的操作电压和频率,应用软件可以根据实际处理需求,利用这项功能调整功耗。Power Manager应用程序界面让应用指定是否同时调整电压和频率,以及调降电压过程中是否继续执行程序(调整所需时间与负载有关,而且可能很长;若处理器在调降电压过程中仍很稳定,就可以让应用继续执行)。Power Manager还有应用程序界面可以查询电压/频率设定点以及调整所需时间。


休眠模式

Power Manager提供与休眠有关的组态与执行期间界面,开发人员可利用它们启动客制休眠模式,减少无动作期间(inactivity)的功耗。


电源事件的注册与通知

为了协调应用执行期间的电压/频率调整动作、休眠模式和其它事件,Power Manager提供一套注册和通知机制,让应用程序代码、外围驱动程序、封装内容(packaged content)以及操作系统频率模块等软件组件,把会影响它们的事件向Power Manager注册,以便在发生这些事件时通知它们。这些电源事件包括:即将调整电压/频率设定点、电压/频率设定点调整完成、进入休眠模式、离开休眠模式和电源故障。通知程序是Power Manager的一项重要功能。当软件组件不需要通知时,也可向Power Manager取消注册。


实际设计

电源效率分析的准备工作至此算大功告成,接着就是拟定一套方法,利用操作系统提供的技术和支持发展省电应用。本文建议的方法共有11个步骤,设计人员只要发现尚未达成功耗目标,或者需要额外的执行期间技术来满足应用功耗预算,就应该重新执行这些步骤。


  • (1)一开始就要考虑电源效率的问题;


  • (2)选择低耗电组件;


  • (3)建立功耗模型和估计功耗值,然后进行硬件实验;


  • (4)设计硬件并提供软件链接点(hooks),以便管理和测量功耗;


  • (5)采用高效率的软件架构;


  • (6)为电源管理功能提供易于使用的开关;


  • (7)在不启动电源管理功能的情形下,先让系统正常运作;


  • (8)轮流开启电源管理功能,并测量其省电效果;


  • (9)启动程序代码产生优化,重新安排程序和数据,并调校其中影响最大的部份;


  • (10)针对最低频率和电压进行校准;


  • (11)启动和使用所有电源管理功能。



在前述11个步骤里,步骤(1)的意思很清楚,不需再做解释。步骤(2)和(4)基本上就是利用这套评估模块来完成,它们证明一套广泛供应的平台确实有其价值。步骤(3)(实验)是在评估模块上执行,它会测量不同技术的省电能力,例如存取芯片内部和外部电路时的核心与系统功耗、DMA与CPU的传输比较、以及让特定外围装置和频率域进入闲置状态的省电效果等。


与功耗有关的重要设计决定包括:


  • (1)使用操作系统的线程(threading)和阻断(blocking)等程序元素(primitives),让频率能够进入闲置状态;


  • (2)利用DMA执行高效率的背景数据串流。DMA只有在完成整块数据传输时才会中断处理器作业,而不是串行端口每输入/输出一笔样本数据就中断一次;


  • (3)利用外部共享频率做为串行端口的主频率,这样就不必为了调整DSP内部处理器的频率而重新设定串行端口;


  • (4)注册一个回调函式(callback)来链接编码译码器设备驱动器,让应用程序进入休眠模式时能关闭编码译码器;


  • (5)使用校准功能,以便在音频质量下降前退回前一个频率(和电压)设定点;


  • (6)使用电源管理程序的频率适应功能,确保定期执行函式(periodic function)在频率调整后仍能以规定的速率执行;


  • (7)从关闭DSP到重新启动的这段时间,应使用电源管理程序的深度休眠(deep sleep)界面让DSP进入深度休眠模式。



网状网络(mesh network)如果建置正确,应能大幅增加今日IEEE 802.11网络的涵盖面和容错能力。然而,无线网状网络标准,例如IEEE802.11s和IEEE 802.16f,数年后才会出现。在此同时,虽然有数种专属性方案可供采纳,不过这些方案设定过于复杂而且可能没有解决QoS问题。于是,在目前网状网络技术仍为专属性情况下,除了在校园或企业内部等封死循环境以外的领域,成长将极为有限。

(7)从关闭DSP到重新启动的这段时间,应使用电源管理程序的深度休眠(deep sleep)界面让DSP进入深度休眠模式。


要将省电能力强大的技术整合到实时操作系统,最好方法就是让开发人员选择最符合应用需求的技术。只要操作系统具备这些省电支持功能,开发人员就能轻松、安全和以最小负担的方式提高应用电源效率。


---作者任职于TI德州仪器---


相关文章
低 IQ技术无需牺牲系统性能即可延长电池续航力
以霍尔效应电流感测器简化高电压感测
以固态继电器简化高电压应用中的绝缘监控设计
以半导体技术协助打造更安全更智慧的车辆
适用於整合太阳能和储能系统的转换器拓扑结构
comments powered by Disqus
相关讨论
  相关新闻
» TI创新车用解决方案 加速实现智慧行车的安全未来
» AMD扩展商用AI PC产品阵容 为专业行动与桌上型系统??注效能
» 豪威集团汽车影像感测器相容於高通Snapdragon Digital Chassis
» 意法半导体扩大3D深度感测布局 打造新一代时间飞行感测器
» AMD第2代Versal系列扩展自调适SoC组合 为AI驱动型系统提供端对端加速


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84K1KWYMQSTACUKM
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw