嵌入式系统的低功耗问题分析研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统的低功耗问题分析研究
【摘要】本文介绍了新低功耗技术在当代微控制器中的应用,特别是深度睡眠模式操作技术的应用。通过分析减少功耗的因素,讨论如何配置微控制器来实现极低功耗的嵌入式设计。
【关键词】低功耗;省电模式;睡眠模式;深度睡眠模式
1.引言
随着越来越多的电子设备由电池供电,低功耗问题已越来越受到关注。近年来,微控制器制造商也不断在使用新的方式来控制功耗,比如说设计各种各样的电子开关。通过从电子开关芯片的部件上减小功率,可以极大减少能耗的输出。另外在电压监控电路方面也有一些研究,持续使用也可以有效的减少能耗。因此,
对于任何电气系统的设计,功耗都是其重要的考虑因素。尤其是对于位于无数现代设备核心的嵌入式系统和能使这些大部分系统工作的微控制器。嵌入式系统在市场中的拓展应用,应用的领域如便携式电子产品,计量应用和医疗设备,使得功耗成为嵌入式系统设计的最重要的考虑之一。重要的是,一个微控制器不仅消耗尽可能少的功率,并且还有允许最小功耗设计的功能。为了设计出最好的系统,工程师必须了解一个微控制器可能提供的所有的节电功能,功能包括选择最好的设备,以及如何利用利用这些特性来达到最经济的能源利用。
2.影响微处理器的能耗因素
影响微处理器的能耗因素主要有两个:动态功率和静态功率。
动态功率的消耗目前是由数字逻辑开关引起的,这时微控制器处于主动模式。动态功率主要受到时钟速度的影响,另外是受到电压和温度的影响。因此,动态功率的控制在很大程度上是时钟速度的控制。
静态功率的消耗是当主时钟被禁用时,微控制器处于断电模式引起的。静态功率主要是由晶体管漏和电压控制器所使用的电流产生的。对于许多的微控制器来说,还需要必要的逻辑时钟来从静态功耗模式中恢复操作(比如看门狗定时器)。静态功率主要受到电压高低和温度的影响,这两者也是对晶体管漏电流产生的重要因素。因此,尽管大部分的静态功耗取决于设备的设计和制造过程。
通过以上分析电压对动态功率和静态功率都有影响,最低供电电压对微控制器的低功耗来说是非常关键的。可以通过公式1得到平均电流。平均电流可以用来评估低功率性能。平均电流越小,低功率性能越好。
平均电流
= ((iActive x tActive)+(iSleep x tSleep))/(tActive+ tSleep)(1)
3.新低功耗技术
从现有的技术发展上看,目前已实现让微控制器进入睡眠模式来降低应用中的功耗。但是随着微控制器变得越来越复杂,使用上也越来越先进,该方式的不足之处也随之出现。把传统的微控制器和市场上未来10年到20年所需要的由电池供电的产品相比,传统的睡眠模式已不再适用。现在大多数电子产品均需要极低功率消耗。
最近,制造商在微控制器中采用了更新模式来减少低功耗,这种微控制器可以抵消由日益复杂化和几何图形日益变小带来的负面影响。这种模式称之为深度睡眠模式。在高级模式中,处于深度睡眠的各种各样的装置都在以同样的方式运行。使用嵌入式软件控制开关的芯片的重要区域,不再有能量消耗。通过去除了芯片某些领域的功率,晶体管漏也被删除,电池寿命显著延长。尽管制造商们改进睡眠模式的程度有所提高,但是睡眠电流降低80%是常见的。事实上,现在一些微控制器可以在睡眠模式中实现低达20nA的电流。将低电流和可以低自放电率的电池联系起来,深度睡眠模式可以作为应用程序存在很长时间。
4.低功耗的实现
1)尽可能的使微控制器处于断电模式
处于操作模式的微控制器会比处于断电模式的微控制器消耗更多的电流。如方程式2所描述的,我们可以使微控制器处于断电模式来减少平均电流。通常我们使用低功率指令来达到断电模式,使用WDT使微控制器从睡眠模式恢复过来。我们可以配置WDT的时长来达到一种长时间的断电状态。对于某些微控制器来说,WDT时期可以长达多天。我们可以通过长时间的断电来达到低功耗。
2)在睡眠模式时减少外围设备的使用可以降低功耗
睡眠模式的电力消耗(数码睡眠)是由电流断电和外围电流断电引起的。如果一个外围模块式活跃的,它将消耗一些电流,甚至是当微控制器处于睡眠模式时。在进入睡眠模式之前,禁用不必要的模块,可以降低数码睡眠模式的电流,同时有助于低功率设计。一些重要的模块,比如BOR,可能仍然活跃在睡眠模式中,由于睡眠状态有很长的工作周期,这是降低平均电流的重要因素,对于低功耗高性能也非常重要。
3)降低工作电压
减少设备的工作电压,即Vdd,是一个降低整体功耗的有用步骤。当开始消耗功耗时,功耗主要受时钟速度的影响。当设备处于睡眠模式时,晶体管的漏电流是关键。在低电压时,切换系统时钟需要少的电流,晶体管漏也需要少的电流。
重要的是,要注意如何降低工作电压降低的最大允许操作的频率。选择允许应用程序以其最大速度运行的最优电压。请参考所给定设备电压的最大工作频率的设备数据表。
4)使用新的极端低功率模式
在深度睡眠模式或LPM5模式下,CPU 和所有外围设备,除了RTCC、DSWDT和液晶(LCD设备)外,都不提供电源。此外,深度睡眠模式会降低Flash,SRAM和电压监控电路的功率。这显示深度睡眠模式比其他的任何操作模式都能降低功耗。大多数设备的典型睡眠模式电流小于50nA。四个字节的数据保留在DSGPRx寄存器中,这个寄存器可以用来保存一些应用程序的关键数据。在深度睡眠模式中,I/Q系统和32kHz晶体振荡器(Timer1和SOSC)仍处于运行状态,所以深度睡眠模式不中断应用程序的操作。中断RTCC,唤醒超低功耗,DSWDT超时,外部中断O(INTO),MCLR或POR可以唤醒在深度失眠模式的设备。在唤醒设备的同时,恢复工作复位向量。深度睡眠模式允许一个设备达到尽可能低的静态功率。代价是,固件苏醒后必须重新初始化。因此,深度睡眠模式最好用于需要长寿电池和长时间睡眠的应用程序。5)正确配置端口针
微控制器都有双向I/Q针,这些针有模拟输入功能。值得注意的是,将信号应用于这些针,就能消耗最少的功率。
A.配置未使用的端口针
如果一个端口针未被使用,它会被孤立起来毫无联系性,但它会被配置为输出针的高状态和低状态。或者它被配置为有外部电阻(大约10 kΩ)的输入。如果配置为输入,只有针输入泄露电流通过针口(如果针与Vdd或Vss直接连接,相同的电流则会流过)。两个选项允许针被推后使用,可以对硬件的输入或者输出不做修改。
B.数字输入
数字输入插口消耗最少的功率时,是在输入电压靠近Vdd附近或Vss附近。如果输入电压之间的中点附近Vdd,Vss,数字输入缓冲区内的晶体管偏见在线性区域会消耗大量的电流。如果这样就可以配置为模拟输入,数字缓冲是关闭,减少电流以及总控制器电流。
C.模拟量输入
模拟输入有一个非常高阻抗,所以他们消耗很少的电流。他们将当前消费低于一个数字输入,如果应用电压通常会集中Vdd和Vss之间。有时是适当的和可能的数字输入配置为模拟输入时,数字输入必须去一个低功率状态。
D.数字输出