如何选择选择MCU?嵌入式应用的低功耗设计
扫描二维码
随时随地手机看文章
无论您的嵌入式设计是否能够在电池或墙壁电源下工作,它都需要从一开始就针对能效进行优化。本文探讨了选择MCU时需要考虑的许多要点,包括其功率曲线,各种工作模式下的可用控制功能以及外设的功耗。
低功耗嵌入式设计的需求一直受到希望在消耗最小功率的同时尽可能长时间地运行应用程序。在电池供电的系统中,这种需求被放大了。此外,在电池供电的系统中,低功率意味着更低的操作成本和更小的电池尺寸,以使应用更具移动性。当能源与今天的绿色计划一样高价时,确保嵌入式设计消耗尽可能少的能量在墙壁驱动的应用中也具有重要意义。设计节能应用还可以通过优化功耗来确保管理散热和在源控制的热量产生的较小开销。牢记上述明显的优势,今天的嵌入式应用设计师再也不能忽视优化功耗的问题。本文将通过分析大多数微控制器目前提供的各种功耗模式,重点介绍有助于嵌入式系统功耗的主要因素。然后,我们将分析嵌入式应用在功耗方面的实际例子以及如何最大化其效率。
MCU功耗
首先,选择一个时需要注意几点。 MCU或外部组件。 MCU的总功耗由其在不同模式下的功耗来定义,通常是活动和待机(包括睡眠,休眠等),并考虑从一种模式转换到另一种模式所消耗的功率。让我们更详细地介绍这些电源模式。
MCU的有功功耗是MCU运行时消耗的功率。由于几乎所有控制器都基于CMOS逻辑,因此主要在切换期间消耗功率。作为起点,让我们分析一下CMOS逆变器的功耗(图1),这是任何CMOS设计的基本构建模块。
图1:CMOS逆变器。
CMOS电路通过在切换时对各种负载电容充电来消耗功率。在考虑内部架构时,这主要是栅极电容。然而,也有漏极和源极电容。当负载电容器正在充电时,功率在PMOS晶体管上消耗,当负载电容器放电时,功率在NMOS上消耗。 CMOS反相器的NMOS晶体管的瞬时功耗(图1)由公式1给出。
从公式6它可以可以看出,功耗取决于开关频率,负载电容和电源电压。负载电容由技术参数和设计布局决定,因此超出了嵌入式系统设计人员的控制范围。然而,另外两个因素 - 开关频率和电源电压 - 是系统设计人员可以修改的因素,旨在影响给定微控制器的功率效率。当然,这些参数的价值也在很大程度上取决于设计的应用但是,现代控制器在内部调节电压下运行,而与电源引脚上的输入电压无关。市场上有控制器,可在0.5V至5.5V范围内工作,但内部核心在1.8V的固定调节电压下运行,与电源电压无关。因此,这个参数在现代控制器的情况下并不像过去那样重要。但是,最好将电源电压保持在稳压器的最低要求或接近调节器旁路的电压。
这使系统设计人员只有一个参数可用于影响功率控制:开关频率。因此,在工作模式下,应计算MCU所需的最低工作速度,并应避免更高的时钟速度。
待机功率
确定电池寿命的另一个主要因素是嵌入式系统的待机功耗系统。大多数应用程序可能会在待机模式下花费大量时间。在这些系统中,总系统功耗的主要因素是待机电流而不是有功电流。待机电流是漏电流,电源管理电路,时钟系统,电源调节器,RTC,IO,中断控制器等消耗的电流之和。根据待机模式支持的特定功能,它在控制器之间有所不同。最后,不应忽视从低功耗模式转换到活动模式时的功耗。在这两种模式之间转换时,器件最终会浪费大量功率。
基于这些功耗模式,MCU的平均功耗为:
其中,有功功率= MCU处于活动状态的时间*有效电流
睡眠功率= MCU处于休眠状态的时间*睡眠电流
转换功率=从睡眠状态转换为活动模式时消耗的功率
时间量系统保持活动和待机模式取决于应用程序。某些应用程序可能需要一直运行MCU,而有些应用程序可能需要偶尔运行它。市场上有一些MCU可以提供除睡眠之外的其他省电模式。示例包括休眠模式,深度睡眠模式或关闭模式,其中功耗可以是大约10s的nA。系统设计人员需要查看系统必须在大部分时间内运行的模式下的功耗,以确保整体设计具有高功效。
如果我们看得更深,就必须考虑一些重要的权衡取舍。对于某些应用,它可能证明系统以更高的速度运行是有益的,因此它可以更快地完成工作并返回到低功耗模式。或者,其他系统可以以较慢的速度更好地运行以保持低有效功耗。在这里,系统设计人员必须分析应用的最佳情况,考虑不同工作速度下的电流,退出低功耗模式所需的时间,低功耗模式下的电流消耗以及低功耗模式下的电流消耗。系统需要在活动和睡眠模式之间切换。
外围电源
MCU功耗只是考虑系统功耗时的一个因素。有时,工程师倾向于过多地关注MCU并忽略外部外设的功耗。如果目标是优化整个嵌入式系统解决方案的功耗,则无法做到这一点。
考虑一个简单的家用温度测量系统(见图2)。
图2:温度监控系统。
该系统有一个用于测量传感器电压的ADC,一个用于生成参考的DAC,一个用于显示数据的LCD模块和一个用于处理数据的MCU。应从单个块级别开始保存电源。如果计算该系统的功耗,则由下式给出:
对于该系统,由于温度不会快速变化,因此采样率不需要很高。通过仅在需要时接通ADC和DAC并优化MCU保持在活动和待机模式的时间比,可以将功耗保持在最低水平。如果该系统由分立元件组成,则协调可能变得非常具有挑战性。基于分立元件的架构的功耗看起来与图3所示的系统类似。
图3:使用基于离散的解决方案的功耗系统。
图3中,待机电流主要是由MCU的待机电流和ADC,DAC和LCD的有功电流做出贡献。 ADC可以有一个选项,通过该选项,MCU可以在进入休眠状态之前停止ADC转换,以节省ADC功耗。但是,ADC仍然会有一些待机电流,DAC也是如此。或者,可以使用片上系统(SoC)架构来实现该系统,其中所有外围设备都集成在单个芯片上,同时具有控制每个外围设备的功率的能力。该系统的功耗与图4所示类似,与基于分立元件的实现相比,可以显着降低功耗。
图4:基于SoC的解决方案的功耗与离散解决方案。
在设计任何系统时,我们应该使用所需的而不是使用可用的东西。当需求被高估时,例如选择所需的更快或更复杂的组件,结果是更高的成本和更低的功率效率。例如,以1 Msps的速度运行的20位ADC显然比温度测量应用所需的更多。此外,ADC需要一个高频工作时钟才能以此速率进行采样。
SoC技术的进步使开发人员可以访问片上的各种外设,如滤波器,ADC,DAC,运算放大器和可编程模拟和数字模块。例如,赛普拉斯半导体的PSoC器件具有宽工作频率范围,可编程时钟源用于包括MCU在内的不同模块,并支持多种电源管理模式。这些模式范围从活动模式,设备上的所有功能都可用;休眠模式,电流可低至100 nA,同时保留配置寄存器和RAM的内容。
与SoC架构一样复杂,它们几乎代表整个系统,使计算功耗更加直接。例如,如果系统什么都不做,那么整个系统的待机电流可以低至100nA。由于外设和MCU可以单独打开或关闭,因此只有相应的块可以在下一次唤醒事件后恢复运行。从系统的角度来看,这是SoC可以拥有的关键特性之一。在一些系统中,有可能在一定时间内仅需要一些硬件功能而不是MCU,例如,当使用DAC产生波形时。此任务可以通过DMA(直接存储器访问)和没有MCU的DAC完成,因此,MCU可以关闭。 SoC使用户能够设计具有成本和空间效率的超低功耗嵌入式系统,并具有快速上市的额外优势。
基于SoC的系统中的系统平均功率计算变得更加复杂,因为沿着对于平均MCU电流,我们需要考虑芯片上每个外设的每个工作状态。平均系统电流为:
其中:
n =支持的功率模式数量
Ik =功率模式下的电流消耗k
Tk =功率模式下花费的时间量k
它=从每个低功耗模式转换到活动模式所消耗的电流
p =外设数量
Ij =外设j的电流消耗
Tj =外设j的开启时间
电池寿命
电池寿命是任何电池供电应用的关键规格。电池额定值以mA -Hr为单位给出,这意味着它可以提供“X”mA电流一小时。如果我们知道平均电流,我们就可以计算电池寿命:
如果Iavg以mA为单位,则公式10将给出电池寿命,以小时为单位。
功耗是一个主要的几乎每个消费者都关注壁挂式和电池供电设备的因素。在当今竞争激烈的市场中,设计消耗更高功率或成本更高的产品可能会降低市场成功率。当优化功耗是一个主要标准时,设计人员应该考虑关键参数,例如选择合适的组件并确保它们不会因所需的最终应用而被高估,或者系统不能以高于所需的速度运行。此外,开发人员还要认真考虑系统在活动和待机模式下花费的时间以及每个模式的相对功耗。