单片机系统的低功耗设计策略_第1页
单片机系统的低功耗设计策略_第2页
单片机系统的低功耗设计策略_第3页
单片机系统的低功耗设计策略_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机系统的低功耗设计策略摘要:嵌入式系统的低功耗设计需要全面分析各方面因素,统筹规划。在设计之初,各个因素往往是相互制约、相互影响的,一个降低系统功耗的措施有时会带来其他方面的“负效应”。因此,降低系统整体功耗,需要仔细分析和计算。本文从硬件和应用软件设计两个方面,阐述一个以单片机为核心的嵌入式系统低功耗设计时所需考虑的一些问题。关键词:低功耗设计 硬件设计 应用软件设计 低功耗模式在嵌入式应用中,系统的功耗越来越受到人们的重视,这一点对于需要电池供电的便携式系统尤其明显。降低系统功耗,延长电池的寿命,就是降低系统的运行成本。对于以单片机为核心的嵌入式应用,系统功耗的最小化需要从软、硬件设计

2、两方面入手。随着着越来越越多的嵌嵌入式应应用使用用了实时时操作系系统,如如何在操操作系统统层面上上降低系系统功耗耗也成为为一个值值得关注注的问题题。限于于篇幅,本文仅仅从硬件件设计和和应用软软件设计计两个方方面讨论论。1 硬硬件设计计选用用具有低低功耗特特性的单单片机可可以大大大降低系系统功耗耗。可以以从供电电电压、单片机机内部结结构设计计、系统统时钟设设计和低低功耗模模式等几几方面考考察一款款单片机机的低功功耗特性性。1.1 选用用尽量简简单的CCPU内内核在选选择CPPU内核核时切忌忌一味追追求性能能。8位位机够用用,就没没有必要要选用116位机机,选择择的原则则应该是是“够用用就好”。现

3、在在单片机机的运行行速度越越来越快快,但性性能的提提升往往往带来功功耗的增增加。一一个复杂杂的CPPU集成成度高、功能强强,但片片内晶体体管多,总漏电电流大,即使进进入STTOP状状态,漏漏电流也也变得不不可忽视视;而简简单的CCPU内内核不仅仅功耗低低,成本本也低。1.2 选择择低电压压供电的的系统降低低单片机机的供电电电压可可以有效效地降低低其功耗耗。当前前,单片片机从与与TTLL兼容的的5 VV供电降降低到33.3 V、33 V、2 VV乃至11.8 V供电电。供电电电压降降下来,要归功功于半导导体工艺艺的发展展。从原原来的33 mm工艺到到现在的的0.225、00.188、0.13 m

4、工工艺, CMOOS电路路的门限限电平阈阈值不断断降低。低电压压供电可可以大大大降低系系统的工工作电流流,但是是由于晶晶体管的的尺寸不不断减小小,管子子的漏电电流有增增大的趋趋势,这这也是对对降低功功耗不利利的一个个方面。目前前,单片片机系统统的电源源电压仍仍以5 V为主主,而过过去5年年中,33 V供供电的单单片机系系统数量量增加了了1倍,2 VV供电的的系统也也在不断断增加。再过五五年,低低电压供供电的单单片机数数量可能能会超过过5 VV电压供供电的单单片机。如此看看来,供供电电压压降低将将是未来来单片机机发展的的一个重重要趋势势。1.3 选择择带有低低功耗模模式的系系统低功功耗模式式指的

5、是是系统的的等待和和停止模模式。处处于这类类模式下下的单片片机功耗耗将大大大小于运运行模式式下的功功耗。过过去传统统的单片片机,在在运行模模式下有有waiit和sstopp两条指指令,可可以使单单片机进进入等待待或停止止状态,以达到到省电的的目的。等待待模式下下,CPPU停止止工作,但系统统时钟并并不停止止,单片片机的外外围I/O模块块也不停停止工作作;系统统功耗一一般降低低有限,相当于于工作模模式的550%70%。停止止模式下下,系统统时钟也也将停止止,由外外部事件件中断重重新启动动时钟系系统时钟钟,进而而唤醒CCPU继继续工作作,CPPU消耗耗电流可可降到A级。在停止止模式下下,CPPU本

6、身身实际上上已经不不消耗什什么电流流,要想想进一步步减小系系统功耗耗,就要要尽量将将单片机机的各个个I/OO模块关关掉。随随着I/O模块块的逐个个关闭,系统的的功耗越越来越小小,进入入停止模模式的深深度也越越来越深深。进入入深度停停止模式式无异于于关机,这时的的单片机机耗电可可以小于于20 nA。其中特特别要提提示的是是,片内内RAMM停止供供电后,RAMM中存储储的数据据会丢失失,也就就是说,唤醒CCPU后后要重新新对系统统作初始始化。因因此在让让系统进进入深度度停止状状态前,要将重重要系统统参数保保存在非非易失性性存储器器中,如如EEPPROMM中。深深度停止止模式关关掉了所所有的II/O

7、,可能的的唤醒方方式也很很有限,一般只只能是复复位或IIRQ中中断等。保留留的I/O模块块越多,系统允允许的唤唤醒中断断源也就就越多。单片机机的功耗耗将根据据保留唤唤醒方式式的不同同,降至至1AA至几十十A之之间。例例如,用用户可以以保留外外部键盘盘中断,保留异异步串行行口(SSCI)接收数数据中断断等来唤唤醒CPPU。保保留的唤唤醒方式式越多,系统耗耗电也就就会多一一些。其其他可能能的唤醒醒方式还还有实时时钟唤醒醒、看门门狗唤醒醒等。停停机状态态较浅的的情况下下,外部部晶振电电路还是是工作的的。图11以Frreesscalle的HHCS008单片片机为例例,给出出不同运运行模式式下的系系统功

8、耗耗。HCCS088是8位位单片机机,有多多个系列列,各系系列I/O模块块数目有有所不同同,但低低功耗模模式下的的电流消消耗大致致相同。图1 HCSS08单单片机各各模式下下的耗电电以RR系列单单片机为为例:在在室温(25)下,不包括括I/OO口的负负载,以以2 VV供电,将可编编程锁相相环时钟钟设为116 MMHz(总线时时钟8 MHzz),典典型电流流值为22.6 mA,当温度度升高到到85时,供供电电流流也升高高到3.6 mmA;而而采用33 V供供电,这这一组数数据升高高至3.8 mmA和44.8 mA。用2 V供电电,直接接使用外外部晶振振2 MMHz(总线时时钟1 MHzz)时,典

9、型运运行电流流降至4450 A。在等待待状态下下,因时时钟并没没有停止止,耗电电情况和和时钟频频率有很很大关系系,节省省的功耗耗有限;而进入入轻度停停止(sstopp3),以外部部中断唤唤醒,电电流消耗耗在0. 5 A左左右。在在中度停停止态(stoop2),功耗耗可进一一步降低低。使用用内部11 kHHz的时时钟,保保持1个个运行的的时钟,周期性性唤醒CCPU,所增加加的电流流约为00.3 A。在深度度停止态态(sttop11),RRAM的的数据也也不再保保留,只只能通过过外部复复位重启启系统,此时的的电流消消耗可降降到200 nAA。以上上数据都都是在室室温下测测量所得得。当环环境温度度升

10、高到到85时,电电流消耗耗可能增增加35倍。1.4 选择择合适的的时钟方方案时钟钟的选择择对于系系统功耗耗相当敏敏感,设设计者需需要注意意两个方方面的问问题:第一一是系统统总线频频率应当当尽量低低。单片片机内部部的总电电流消耗耗可分为为两部分分运运行电流流和漏电电流。理理想的CCMOSS开关电电路,在在保持输输出状态态不变时时,是不不消耗功功率的。例如,典型的的CMOOS反相相器电路路,如图图2所示示,当输输入端为为零时,输出端端为1,P晶体体管导通通,N晶晶体管截截止,没没有电流流流过。而实际际上,由由于N晶晶体管存存在一定定漏电流流,且随随集成度度提高,管基越越薄,漏漏电流会会加大。温度升

11、升高,CCMOSS翻转阈阈电压会会降低,而漏电电流则随随环境温温度的增增高变大大。在单单片机运运行时,开关电电路不断断由“11”变“0”、由“00”变“1”,消耗的的功率是是由单片片机运行行引起的的,我们们称之为为“运行行电流”。如图图2所示示,在两两只晶体体管互相相变换导导通、截截止状态态时,由由于两只只管子的的开关延延迟时间间不可能能完全一一致,在在某一瞬瞬间会有有两只管管子同时时导通的的情况,此时电电源到地地之间会会有一个个瞬间较较大的电电流,这这是单片片机运行行电流的的主要来来源。可可以看出出,运行行电流几几乎是和和单片机机的时钟钟频率成成正比的的,因此此尽量降降低系统统时钟的的运行频

12、频率可以以有效地地降低系系统功耗耗。图2 典型的的CMOOS反相相器第二二是时钟钟方案,也就是是是否使使用锁相相环、使使用外部部晶振还还是内部部晶振等等问题。新一代代的单片片机,如如飞思卡卡尔的HHCS008系列列单片机机,片内内带有内内部晶振振,可以以直接作作为时钟钟源。使使用片内内晶振的的优点是是可以省省掉片外外晶振,降低系系统的硬硬件成本本;缺点点是片内内晶振的的精度不不高(误误差一般般在255%左右右,即使使校准之之后也可可能有22%的相相对误差差),而而且会增增加系统统的功耗耗。 现代代单片机机普遍采采用锁相相环技术术,使单单片机的的时钟频频率可由由程序控控制。锁锁相环允允许用户户在

13、片外外使用频频率较低低的晶振振,可以以很大地地减小板板级噪声声;而且且,由于于时钟频频率可由由程序控控制,系系统时钟钟可以在在一个很很宽的范范围内调调整,总总线频率率往往能能升得很很高。但但是,使使用锁相相环也会会带来额额外的功功率消耗耗。单就就时钟方方案来讲讲,使用用外部晶晶振且不不使用锁锁相环是是功率消消耗最小小的一种种。2 应应用软件件方面的的考虑之所所以使用用“应用用软件”的说法法,是为为了区分分于“系系统软件件”或者者“实时时操作系系统”。软件对对于一个个低功耗耗系统的的重要性性常常被被人们忽忽略。一一个重要要的原因因是,软软件上的的缺陷并并不像硬硬件那样样容易发发现,同同时也没没有

14、一个个严格的的标准来来判断一一个软件件的低功功耗特性性。尽管管如此,设计者者仍需尽尽量将应应用的低低功耗特特性反映映在软件件中,以以避免那那些“看看不见”的功耗耗损失。2.1 用“中断”代替“查询”一个个程序使使用中断断方式还还是查询询方式对对于一些些简单的的应用并并不那么么重要,但在其其低功耗耗特性上上却相去去甚远。使用中中断方式式,CPPU可以以什么都都不做,甚至可可以进入入等待模模式或停停止模式式;而查查询方式式下,CCPU必必须不停停地访问问I/OO寄存器器,这会会带来很很多额外外的功耗耗。2.2 用“宏”代代替“子子程序”程序序员必须须清楚,读RAAM会比比读Fllashh带来更更大

15、的功功耗。正正是因为为如此,低功耗耗性能突突出的AARM在在CPUU设计上上仅允许许一次子子程序调调用。因因为CPPU进入入子程序序时,会会首先将将当前CCPU寄寄存器推推入堆栈栈(RAAM),在离开开时又将将CPUU寄存器器弹出堆堆栈,这这样至少少带来两两次对RRAM的的操作。因此,程序员员可以考考虑用宏宏定义来来代替子子程序调调用。对对于程序序员,调调用一个个子程序序还是一一个宏在在程序写写法上并并没有什什么不同同,但宏宏会在编编译时展展开,CCPU只只是顺序序执行指指令,避避免了调调用子程程序。唯唯一的问问题似乎乎是代码码量的增增加。目目前,单单片机的的片内FFlassh越来来越大,对于

16、一一些不在在乎程序序代码量量大一些些的应用用,这种种做法无无疑会降降低系统统的功耗耗。2.3 尽量量减少CCPU的的运算量量减少少CPUU运算的的工作可可以从很很多方面面入手:将一些些运算的的结果预预先算好好,放在在Flaash中中,用查查表的方方法替代代实时的的计算,减少CCPU的的运算工工作量,可以有有效地降降低CPPU的功功耗(很很多单片片机都有有快速有有效的查查表指令令和寻址址方式,用以优优化查表表算法);不可可避免的的实时计计算,算算到精度度够了就就结束,避免“过度”的计算算;尽量量使用短短的数据据类型,例如,尽量使使用字符符型的88位数据据替代116位的的整型数数据,尽尽量使用用分数运运算而避避免浮点点数运算算等。2.4 让II/O模模块间歇歇运行不用用的I/O模块块或间歇歇使用的的I/OO模块要要及时关关掉,以以节省电电能。RRS2332的驱驱动需要要相当的的功率,可以用用单片机机的一个个I/OO引脚来来控制,在不需需要通信信时,将将驱动关关掉。不不用的II/O引引脚要设设置成输输出或设设置成输输入,用用上拉电电阻拉高高。因为为如果引引脚没有有初始化化,可能能会增大大单片机机的漏电电流。特特别要注注意有些些简单封封装的单单片机

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论