便携式电子产品的应用层和后台节能技术分析
扫描二维码
随时随地手机看文章
作者:国家半导体公司 Abdul Aleaf
新一代的便携式电子产品不得不采用集成度更高、耗电更高的芯片,才可支持那些受用户欢迎的功能。然而,用户同时也希望新产品有较长的电池寿命,无需频繁地充电。为了满足客户这种近乎矛盾的需求,系统设计工程师必须考虑采用任何有助削减系统功耗的技术。
这些节能技术基本上可以按照其执行方式分为应用层技术及后台技术两大类。应用层技术由应用程序本身来执行,以打印机为例,最后一份文件完成打印之后,打印机便会改用低功率模式。后台技术由工作系统、后台任务或硬件来执行,因此完全或几乎不受主要应用任务控制。外设活动监控电路便是一种后台技术,其特点是可将显示器背光系统或磁盘马达的电源切断。
应用层技术
看似简单的手持式遥控器其实设计很复杂,因为它的关闭模式并非真正关闭。事实上,遥控长期处于等待状态,以便用户可以随时、随手便按。任何按钮一经触动,遥控器便会从低功率的睡眠模式中唤醒,然后进入完全活跃模式。较为先进的电子产品可能会在开启及关闭之间添加多个不同的模式,例如时钟被固定在可以接受的最低速度,而暂时未用的电路模块则全部关闭,以便节省用电。
调低工作占空比是一个可为许多系统解决节能问题的方案。例如,建筑物的暖风/通风/空调系统的传感器或控制器节点真正做出响应的时间只有几秒或几分钟。这些系统在大部分时间之内都处于低功率模式的睡眠状态,唤醒之后,便立即向传感器取样或发出新的控制输出,由唤醒至完成工作全部时间不超过一秒,然后便回到睡眠状态,直至下一次为止。唤醒信号可以由硬件计时器发出,这个计时器配置成可以按照固定的周期时间触发的系统。
工作模式也可以由外来信号控制。例如,控制门锁的无匙门禁系统可能长期处于低功率的睡眠状态,一旦检测到键盘上的按键闭合便唤醒无匙门禁系统。就上述情况而言,多输入唤醒(MIWU)支持便很有用,因为输入/输出端口的状态一旦有变,多输入唤醒功能便会唤醒处于低功率模式的中央处理器。执行MIWU功能的逻辑电路模块负责监控端口管脚及外设接口,以便检测状态是否改变。MIWU功能一经设定,便可唤醒处于低功率模式的系统,然后发出CPU中断信号。只要采用多输入唤醒功能,系统在等待输入信号时便无需先执行键盘扫描环路或其他监控软件,因此可以大幅降低功耗。
1.协议规定的低功率模式
部分通信协议可以支持多种不同的低功率模式。例如,按照无线蓝牙通信协议的规定,蓝牙设备有三种低功率模式可供选择:
探测模式(sniff mode)—蓝牙设备以较低的占空比侦听局部蓝牙网络(微微网),占空比的大小由微微网主设备和从设备互相协商而定。经过协商同意后,主设备及从设备都可各自发出指令,以便进入探测模式。已进入探测模式的主设备及从设备也可各自发出指令以脱离探测模式。
保持模式(hold mode)—蓝牙设备可以按预先设定的时间段停止侦听微微网,停止时间的长短由主设备及从设备通过协商预先决定。经过协商同意后,主设备及从设备都可各自发出指令,以便进入保持模式。预定的停止时间一旦届满,保持模式便会自动终止。
暂停模式(park mode)—蓝牙设备已终止与网络的连接,但仍与该信道保持同步。主设备决定从设备是否采用暂停模式。从设备可以提出采用或停用暂停模式的请求,但采用暂停模式与否完全由微微网主设备决定,主设备只需发出相关指令便可。
在以上的模式之中,探测模式的占空比最高,其次是保持模式,暂停模式的占空比最低。如果蓝牙设备已停止在微微网上的任何活动,可以进入低功率模式,但由微微网主设备发出控制暂停与否的控制命令。
2.硬件支持的低功率模式
嵌入式微控制器通常设有至少一个低功率模式,以支持应用层的电源管理功能。美国国家半导体 CP3000系列连接处理器采用先进的电源管理技术,其中内置的两个12MHz及32.768kHz振荡器负责支持四个不同模式:
活跃模式—有关应用以 12MHz的系统时钟频率全速运行。片上锁相环路时钟乘法器负责提供24MHz的中央处理器时钟,也为USB节点控制器提供48MHz的时钟。
节能模式—CPU及指定的外围器件都由32.768kHz的时钟负责为其提供时钟信号,12MHz的振荡器及锁相环路可能会被关闭。
空闲模式—CPU及指定的外设没有时钟为其提供时钟信号,由32.768kHz振荡器为其提供时钟信号的看门狗计时器可以被编程,以脱离空闲模式。可以对MIWU模块进行编程,当在某个端口管脚上检测到上升或下降边沿,触发系统脱离空闲模式。
停止模式—将32.768kHz的振荡器关闭。MIWU模块仍继续运行,使外部信号可以触发系统脱离停止模式。
我们可以利用不同的方式来执行这些模式,以便达到节能的目的。虽然没有一套现成的规律可以适用于所有系统,但表1列出了将应用电源管理模式映射到蓝牙及CP3000模式的实际应用。
表:将工作模式映射到协议及硬件两种模式
3.如何处理未使用的外设
对于大部分的微处理器设计来说,只要关闭没有使用的外设,便可降低功耗。CP3000系列芯片分别为每一外设模块提供使能位,该芯片可以支持非常多的外设,根本没有哪种应用可以完全用到这些外设模块,因此必定有部分外设模块暂时未用。为了降低功耗,这些未用的外设模块必须全部关闭。
由于外设所需的时钟频率与系统的时钟频率不同,也由于外设的时钟频率不受所采用的电源管理模式控制,因此CP3000芯片的时钟合成模块负责为这些外设提供独立的时钟。为了尽量节省电能,应关闭这些未用外设的辅助时钟。
4.如何处理未使用的端口管脚
如果任由没有被驱动的CMOS输入端电压浮动至介于逻辑电平0与1之间的输入电压范围,将会产生额外的功耗。如果I/O端口配置为输入端,而且任由其自由浮动,上述情况便有可能出现,因此任何没有外部驱动或拉高/拉低的输入端口都应配置为输出端。CP3000端口电路设有可编程的上拉功能,以避免未驱动的输入端电压自由浮动。
CP3000的端口管脚在芯片复位后配置为输入端,这是CP3000芯片的预设配置。采用这样的配置是有必要的,因为外接元件可能会驱动这些端口。这些端口如果预设为输出端,微控制器与外接元件可能会在复位后互相争夺使用缓冲区。因此,有关应用有责任在复位后配置没有被驱动的端口管脚。
后台电源管理技术
后台的电源管理技术之间可能会产生相互影响,因此应用程序必须对其进行处理,或者对于应用程序完全透明。即使它们对应用程序是透明的,软件设计工程师也需要设置中断或其他资源,以便为这些电源管理技术提供支持。这些软件设计工程师也可能需要了解这些技术的实际运行,以免应用程序与电源管理技术之间出现意想不到的干扰。例如,不必要的显示刷新或磁盘存取工作可能会对其中部分工作流程造成干扰,使已停止使用一段时间的显示器背光系统或磁盘马达无法关闭。
1.活动监控程序
许多系统设计所采用的外设如显示器背光系统及磁盘马达比微控制器更耗电。对于这类设计来说,专门监控个别外设的活动监控程序可以大幅改善系统的功效。活动监控程序有自己的计时器,受监控的外设无论进行哪样的工作,都可避免计时器超过其设定时限。如果计时器出现溢出或下溢(出现哪种情况取决于计时器的设置),会将外设关闭或将之置于低功率模式。
典型的活动监控程序利用实时操作系统(RTOS)提供的服务设定后台任务,以便处理预定发生的事件,其中包括所有活动监控程序的更新。有关的后台任务必须提前设定,以便RTOS可以按照某一固定频率定时调用任务,一般来说每10至100毫秒(ms)之内调用一次。一旦已发出任务调用,该任务将查找任何预计发生的、需要被执行的任务,之后处于悬置状态,直至再发出调用。
系统也可利用旗语(Semaphores)或任务之间的消息传递来告知某外设接入。当系统调用后台任务时,会先核查是否已收到信号。如果有关信号仍未收到,计数器会增加。如果计数器出现溢出,系统便会关闭外设;如果信号已收到,计数器便会进行复位。
设备驱动程序可能会对复位信号进行声明(assert),这个信号用于对该设备进行存取。当系统调用对设备进行存取的驱动程序函数时,驱动程序可以对后台任务声明这个信号。如果驱动程序本身没有这个功能,工程师可以先修改驱动程序的源代码,然后加以重新编译,以提供这个功能,但这样将使驱动器不是标准的驱动程序。如果必须确保相关源代码及程序可与驱动器程序库的新版兼容,可以选择一个具有较高可移植性的解决方案,这个方案将实现一套函数或宏,这套函数或宏发送复位信号,然后调用标准的驱动器。
活动监控功能也可以利用硬件实现。外设进行存取时,计时器可以监控硬件的活动信号。计时器是自由运行的计数器,每当受监控信号被声明后,计时器便会复位。如果计时器出现溢位,便会向CPU发出中断信号,中断服务例行程序随后便会关闭相关的外设。
硬件监控器的响应可能比软件监控程序快,但对于监控外设的监控程序来说,速度通常并不重要。即使利用软件方案关闭显示器背光系统会出现100ms的延迟,但对电池寿命来说,所产生的影响可以说微不足道。而且,完全利用软件进行监控的解决方案也比较容易实现,因为活动监控程序只需集中处理一项工作,而且工程师可以只理解源代码,不必对硬件计时器的结构有任何了解。此外,软件方案具有较高的可移植性,因为它不会局限于任何特定的硬件计时器实现。但软件方案需要占用较多的CPU带宽,如果系统需要经常对受监控的外设进行存取,这是一个需要慎重考虑的问题。
2. 电压调节
如果芯片的工作频率低于其最高上限,很多时候可以调低工作电压,并且数字逻辑电路仍有足够的时序余量。只要因应频率的转变调节电压,便可大幅降低功耗,以及大幅提高能源效益。动态电压调节(DVS)功能基本上通过开放环路控制系统实现,办法是首先设定多个不同的频率与电压的固定组合,每当工作频率有变,电压便会根据与该频率相配的电压值做出相应修改。另一方面,自适应电压调节(AVS)功能则通过闭环电压控制系统实现,方法是利用片上传感器决定最低可予接受的供电电压,其优点是比采用开环的动态电压调节方式节省更多电能。
CMOS 功耗是开关(动态)功率及漏电功率的总和:
P=PSWITCH+PLEAKAGEC×VDD2Af+VDD×ILEAKAGE
上述公式中:
C 是数字系统的开关电容,VDD是供电电压,f是开关时钟频率,A是开关活动因子,ILEAKAGE是漏电电流。
动态电压调节技术采用列表的方法,将不同的频率与工作所需的供电电压配对,显示以某一频率工作所需的供电电压。每一时钟频率所需的供电电压会因不同产品的不同要求而异,而且有关的电压值必定设定为最糟糕情况下所需的电压,以便满足不同芯片工艺技术及不同系统工作温度的要求。图1显示动态电压调节系统的结构框图。换言之,频率会调低,而供电电压也会随着调低。由于上述有关功耗的公式之中的两个可变项f及VDD2都减小,因此系统的功耗会大幅下降。当系统任务管理器确定工作频率需要增加,功率管理单元将首先要求改变电压,一段时间后时钟发生器将切换到高的工作频率。提高电压所需的时间可以通过不同的途径决定,例如可以由片上计时器(VDD_OK)决定,也可根据系统的功能要求或电源管理单元的状态标记做出决定。但有一点需要注意,对于以最高频率工作的固定电压系统来说,动态电压调节功能不会为系统带来任何功耗的节省。
图1:动态电压调节硬件系统
AVS技术与开环DVS技术不同,AVS技术设有反馈电路,让片上硬件性能监控电路(HPM)可以为自适应电压调节系统提供反馈信号。由于硬件性能监控电路设于微控制器之内,所采用的工艺技术与微控制器所用的完全相同,而且工作时处于与系统相同的温度环境内,因此允许将电源电压调节到器件能够接受的实际极限。根据最接近系统真正需要的频率调节供电电压,而非为假设的最坏情况提供供电。
图2 显示AVS实现的框图。整个电路系统由以下4个功能模块组成:硬件性能监控电路、先进电源控制器(APC)、PowerWise接口(PWI)及电源管理单元(PMU)。PWI接口由ARM公司及美国国家半导体合作开发,可为内置的先进电源控制器提供一个标准的双线控制接口,以便控制外接的PMU。由这几个功能模块组成的自适应电压调节系统可以为工作在任何频率、温度或者硅工艺的器件提供最小的电源电压。
图2:自适应电压调节硬件系统
APC利用来自硬件性能监控电路的输入信号来确定是否存在任何的电源电压优化方法。APC通过PWI将电压调节指令传送至PMU,而PMU便按照请求提供所需的供电电压。HPM不断监控工作在最新调节电压下的芯片。如果能采用进一步的优化措施,APC会发出最新的电压调节指令。电源必须按照APC的命令适时地调节其供电电压,以便AVS控制系统的反馈环路能够稳定。
图3:自适应电压调节功能降低了功耗
无论嵌入式计算系统以哪一频率(包括最高频率)工作,AVS技术都能获得近乎最佳的工作功率。最大工作频率下微控制器的电源电压规范能确保系统在即使采用最差的硅工艺技术情况下,芯片也可在最高工作温度环境下正常工作。但一般来说真正的工作温度都比规定的最高温度低,而芯片的工艺技术一般都比最坏的情况好。在这样的情况下,即使以最高频率工作,仍有足够空间将电压进一步调低。开环动态电压调节技术则不具有这个特点,但AVS技术则可利用片上HPM的反馈来发现这种额外的性能,即使是在最高的工作频率下,APC也能控制PMU将工作电压调低。
http://e.newmaker.com/art_12122.html