首页 » 技术文章 » 用于便携式设备的低功耗MCU系统设计方法及应用

用于便携式设备的低功耗MCU系统设计方法及应用

作者:  时间:2010-08-13 10:58  来源:EDN

  1、便携式设备对处理器提出的挑战 

  随着电子便携式设备在全球的风行,人们对电子便携式设备的要求也越来越高,希望产品有更多的功能,如手机摄像机自动对焦与手机闪信与计步器;希望产品功耗更低,如无线设备、手持POS机和家庭医疗产品;希望产品体积更小,如运动手表;希望产品的保密性好;处理能力强,如便携式仪器和高精度运动控制;希望价格更低和开发周期短。 

  然而困惑的是,很多的便携式设备往往会同时要有上面的多个要求,然而现实中很难做到:同时满足高速处理、低功耗和价格?ARM高速,但是功耗而价格高;同时满足高速处理和小封装?希望封装面积小到3mm,又要不牺牲速度;同时满足小封装和SOC?需要ADCSPI12I/O,而尺寸,最好小于5mm;开发周期,ARM性能完全合适,但ARM往往需要操作系统支持,开发周期长,而市场机遇稍纵即逝。 

  为此,本文将从为电子便携式设备开发解决上述这些难题出发,对如何设计一个低功耗的单片机系统与方法和MCU在低功耗方面的优势进行分析,并小尺寸系列单片机的应用为例作出介绍。 

  2、如何设计一个低功耗的单片机系统 

  问题提出:单片机系统的功耗是否只是由单片机的功耗决定?回答是,以单片机为核心构成的系统,其系统的总能耗是由单片机能耗及其外围电路能耗共同构成。为了降低整个系统的功耗,除了要降低单片机自身的运行功耗外,还要降低外围电路的功耗。 

  2.1 如何设计低功耗单片机系统? 

  要设计一个低功耗的单片机系统,需要从硬件和软件两方面入手。 

  2.11 硬件设计 

  *选用尽量简单的CPU内核。在选择CPU内核时切忌一味追求性能。选择的原则应 该是够用就好8位机够用,就没有必要选用16位机。一般来说,单片机的运行速度越快,功耗也越大。一个复杂的CPU集成度高、功能强,但片内晶体管多,总漏电流大,即使进入STOP状态,漏电流也变得不可忽视;而简单的CPU内核不仅功耗低,成本也低。 

  *选用低电压供电的系统。低电压供电可以大大降低系统的工作电流。目前单片机从与TTL兼容的5V供电降低到3.3V3V2V乃至1.8V供电,降低单片机的供电电压可以有效降低其功耗。供电电压降低也是未来单片机发展的一个重要趋势。 

  *选择带有低功耗模式的系统。低功耗模式指的是系统的Idel(闲置)Stop(停止)Suspen(暂停)模式。处于这类模式下的单片机功耗将大大小于运行模式下的功耗。 

  *选择合适的时钟方案。时钟的选择对于系统功耗相当敏感,有两方面的问题要注意: 

  其一、系统总线频率应当尽量低。单片机内部的总电流消耗分为:运行电流和漏电流。单片机集成度越高,环境温度越高,漏电流也越大。单片机的运行电流几乎和其时钟频率成正比。降低时钟频率,就可以有效降低单片机的功耗。 

  其二、关于时钟方案。是否使用锁相环,使用内部振荡器还是外部振荡器。现代单片机普遍使用锁相环技术,使单片机的时钟频率可以由程序控制。单片机使用外部较低的振荡器,通过软件控制,系统时钟可以在一个很宽的范围内调整,得到比较高的总线时钟。使用锁相环会带来额外的功耗。单就时钟方案来讲,使用外部晶振且不使用锁相环是功率消耗最小的一种。有的单片机带有内部时钟,也可使用外部时钟。这可以根据实际系统的需要使用双时钟:一个高速时钟和一个低速时钟。处理事件时使用高速时钟,空闲时使用低速时钟。这钟双时钟系统可以有效地降低功耗。 

  2.12 应用软件设计 

  应用软件设计对于一个低功耗系统的重要性常常被人们忽略。一个重要的原因是,软件上的缺陷并不像硬件那样容易发现,同时也没有一个严格的标准来判断一个软件的低功耗特性。尽管如此,设计者如果能尽量将应用的低功耗特性反映在软件中,就可以避免那些看不见的功耗损失。 

  *中断代替查询。在没有要求低功耗的场合,程序使用中断方式还是查询方式并不重要。但在要求低功耗场合,这两种方式相差甚远。使用中断方式,CPU可以什么都不做,甚至可以进入等待模式或停止模式;而查询方式下,CPU必须不停地访问I0寄存器,这会带来很多额外的功耗。 

  *代替子程序。子程序调用的入栈出栈操作,要对RAM进行两次操作,会带来更大的功耗。宏在编译时展开,CPU按顺序执行指令。使用宏,会增加程序的代码量,但对不在乎程序代码量大的应用,使用宏无疑会降低系统的功耗。 

  *尽量减少CPU的运算量。减少CPU的运算工作量,可以有效地降低CPU的功耗。减少CPU运算的工作可以从很多方面入手:其一,用查表的方法替代实时的计算。其二,不可避免的实时计算,算到精度够了就结束,避免过度的计算。其三,尽量使用短的数据类型,例如,尽量使用字符型的8位数据替代16位的整型数据,尽量使用分数运算而避免浮点数运算等。其四,让IO模块间歇运行,即不用的IO模块或间歇使用的UO模块要及时关掉,以节省电能;不用的I/O引脚要设置成输出或设置成输入,用上拉电阻拉高。 

  3、单片机(MCU)在低功耗方面的优势。 

  当今面临的问题是,使用者或市场均对单片机(MCU)低功耗有严酷的要求,那么将如何来设计MCU来满足市场?应该说,当今众多厂商的MCU均有在低功耗面的优势,值此仅以Silabs MCU为例作分析说明MCU在低功耗方面的优势。 

  *供电电压低。MCU供电电压为2.05.25V。供电电压低可以有效降低整个单片机系统的功耗。 

  *有多种低功耗模式。MCU的低功耗模式有Idle模式和Stop模式。为了更进一步地降低MCU的功耗,提高市场竞争力,从2006年下半年己推出的MCU都将带有Suspend模式。这种模式下的功耗为纳安级。 

  *有多种时钟方案供选择。MCU内置振荡器有高速震荡模式和低速震荡模式可供选择。每种模式下的频率又有多种选择。而且还可以外接振荡器。更重要的是,在MCU运行中,这些时钟模式可以实时切换。这很方便客户进行低功耗控制。例如:在处理数据时,系统运行在高速状态;空闲时运行在低速状态。 

  *高速实时的中断响应。MCU响应中断的时间非常快,一般只需要5个系统时钟周期。中断响应速度快,CPU花费在等待方面的时间少,这可以节省不少的等待功耗。 

  *灵活的I/O设置。MCUI0口资源丰富,配置灵活。有三种配置方式:漏极开路、推拉输出和弱上拉方式。用户可以根据实际需要通过相关寄存器的设置来禁止或使能这些方式。其中将端口配置成漏极开路方式是最省电的方式。另外,MCU片上没有用到的其他外设可以通过软件来关闭。总之,根据项目的要求,灵活运用MCU的各种低功耗特性,通过软件的控制,就可以很好地实现低功耗的要求。 

使用每MIPS功耗来衡量MCU的低功耗性能是相对比较准确。比如执行一个需要10K条指令的任务,甲MCU的工作电流为3mA,速度为10MIPS,则甲MCU需要工作lmS完成该任务,消耗3mA*1ms*Vcc,然后甲MCU就可以进入低功耗模式了。而乙MCU的工作电流为1mA,速度为2MIPS,则乙MCU需要工作5mS完成,这样乙MCU完成该任务的消耗为1mA*5mS*Vcc。电流大但是速度快的MCU可能更省电!

相关推荐

Microchip推出全新领先的32位MCU系列

Microchip  MCU  2013-11-21

半导体商情:集成电路整体下行 MCU大跌

集成电路  MCU  2013-11-06

集成LIN系统基础芯片功能的三通道半桥驱动控制器

艾尔默斯  LDO  MCU  2013-11-04

低功耗MCU助力智能手表电池寿命大增

MCU  智能手表  2013-10-23

新唐将举办2013 NuMicro™ Cortex™-M0 32-bit MCU研讨会

新唐  MCU  2013-09-17

MCU:变与不变的哲学

ARM  MCU  2013-09-02
在线研讨会
焦点