当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]循序渐进式的功耗优化已经不再是超低功耗mcu的游戏规则,而是“突飞猛进”模式,与功耗相关的很多指标都不断刷新记录。我们在选择合适的超低功耗mcu时要掌握必要

循序渐进式的功耗优化已经不再是超低功耗mcu的游戏规则,而是“突飞猛进”模式,与功耗相关的很多指标都不断刷新记录。我们在选择合适的超低功耗mcu时要掌握必要的技巧,在应用时还需要一些设计方向与思路才能够更好的应用。

一:超低功耗mcu-低功耗mcu的选择方法

嵌入式微控制器 (mcu)的功耗在当今电池供电应用中正变得越来越举足轻重。大多mcu 芯片厂商都提供低功耗低功耗产品,但是选择一款最适合您自己应用的产品并非易事,并不像对比数据表前面的数据那么简单。我们必须详细对比 mcu 功能,以便找到功耗最低的产品,这些功能包括:断电模式 定时系统 事件驱动功能 片上外设 掉电检测与保护 漏电流 处理效率。

----在低功耗设计中,平均电流消耗往往决定电池寿命。例如,如果某个应用采用额定电流为 400mAh 的 Eveready 高电量 9V 1222 型电池的话,要提供一年的电池寿命其平均电流消耗必须低于 400mAh/8760h,即45.7uA。

----在使 mcu 能够达到电流预算的所有功能中,断电模式最重要。低功耗 mcu 具有可提供不同级别功能的断电模式。例如,TI 超低功耗 mcu MSP430 系列产品可以提供 5 种断电模式。低功耗模式 0 (LPM0) 会关闭 CPU,但是保持其他功能正常运转。LPM1 与 LPM2 模式在禁用功能列表中增加了各种时钟功能。LPM3 是最常用的低功耗模式,只保持低频率时钟振荡器以及采用该时钟的外设运行。LPM3 通常称为实时时钟模式,因为它允许定时器采用低功耗 32768Hz 时钟源运行,电流消耗低于 1uA,同时还可定期激活系统。最后,LPM4 完全关闭器件上的包括 RAM 存储在内的所有功能,电流消耗仅 100 毫微安。

----时钟系统是mcu功耗的关键。应用可以每秒多次或几百次进入与退出各种低功耗模式。进入或退出低功耗模式以及快速处理数据的功能极为重要,因为 CPU会在等待时钟稳定下来期间浪费电流。大多低功耗 mcu 都具有“即时启动”时钟,其可以在不到 10~20us 时间内为 CPU 准备就绪。但是,重要的是要明白哪些时钟是即时启动、哪些非即时启动的。某些 mcu 具有双级时钟激活功能,该功能在高频时钟稳定化过程中提供一个低频时钟(通常为32768Hz),其可以达到 1 毫秒。CPU 在大约 15us 时间内正常运行,但是运行频率较低,效率也较低。如果 CPU 只需要执行数量较少的指令的话,如:25 条,其需要 763us。CPU 低频比高频时消耗更少的电流,但是并不足于弥补处理时间的差异。相比而言,某些 mcu 在 6 微秒时间内就可以为 CPU 提供高速时钟,处理相同的 25 条指令仅需要大约 9us(6us 激活+25 条指令′0.125us指令速率),而且可以实现即时启动的高速串行通信。

----另外,如果 mcu 时钟系统为外设提供多个时钟源的话,当 CPU 处于睡眠状态时外设仍然可以运行。例如,一次 A/D 转换可能需要一个高速时钟。如果 mcu 时钟系统提供独立于 CPU 的高速时钟,CPU 就可以在 A/D 转换器运行情况下进入睡眠状态,从而节省 CPU 耗流量。

----事件驱动功能与时钟系统的灵活性并存。中断会使 mcu 退出低功耗模式,因此,mcu 的中断越多,其防止浪费电流的 CPU 轮询与降低功耗的灵活性就越大。轮询意味着进行与不进行功耗预算之间存在差异,因为它在等待出现事件时会浪费CPU 带宽并需要额外电流。一个好的低功耗 mcu 应具有充分的中断功能,为其所有外设提供中断,同时为外部事件提供众多外部中断。

----按钮或键盘应用可以证明外部中断的优势。如果不具备中断功能,mcu 必须频繁轮询键盘或按钮,以确定其是否被按下。不仅轮询自身会消耗功率,而且控制轮询间隔也需要定时器,其会消耗附加电流。相比而言,在具备中断情况下,CPU 可以在整个过程中保持睡眠状态,只有按下按钮时才激活。

----在选择低功率 mcu 时,还需要考虑外设功耗与电源管理。某些低功率 mcu 仅仅是设计时不具备低利率功能的旧架构的改进版本。而有些 mcu 在设计时即具备低功耗特性,并在其外设中内置了低功耗功能。一种特性是在需要时单独启动或关闭外设的能力,换言之,更重要的是自动启动或关闭外设的能力。 A/D 转换器就是一个例子,其在完成一次转换后可以自动关闭。另外,某些 mcu 正在引入直接存储器存取功能,其可以在无需 CPU 干预情况下自动处理数据。

----大多 mcu 具有集成的掉电保护功能,当电源低于正常操作范围时其可以复位 mcu。通常会提供启动或关闭掉电保护以节省功耗的功能,但是必须在整个过程中都使掉电保护功能置于可用状态,因为掉电是不可预测的。某些 mcu 需要70uA 的电流来实现掉电保护。在只需要 45uA 平均电流的应用实例中很明显可以不考虑这些 mcu。 ----在选择低功耗 mcu 期间有时会忽视漏电流,但是,在最苛刻的低功耗应用中则必须考虑到漏电流。大多改进后的低功耗 mcu 都具有 1uA 的限定输入漏电流。在 20 输入器件中,它可能会消耗 20uA!针对低功耗设计的最新 mcu 具有最高50nA 的漏电流。

----最后,我们常常会误解 mcu 处理效率。大家通常会认为 16 位 mcu 需要两倍于 8 位 mcu 的内存,但是一个 16 位架构实际上需要比 8 位架构要少一些的代码,而 16 位 mcu 一般会更快速地执行任务。例如,8 位 mcu 需要 CPU 开销来管理具有 10 位 A/D 转换数据或需要 16 位计算的应用中的数据。而且当今许多mcu 产品都具有单个工作文件或累加器,其数据必须进行传输,以便处理,因此,与基于寄存器的架构相比需要额外的 CPU 开销。表 1 说明在 16 位现代架构与8 位 8051 架构上传输 10 位 A/D 数据的指令。在采用 1Mhz 时钟情况下,16 位器件需要 6us 进行传输,而 8 位器件则需要 24us。

16 位 mcu8 位 mcumov.w &ADC10MEM,&RAMmovf ADRESH,W movwf RAML bsf 0x20 movlf ADCHRESL,W bcf 0x20 movwf RAMH ----表 1:16 位与 8 位 mcu 代码要求

----选择低功率 mcu 是一项耗时、棘手的工作。如果花费一些时间来了解可用产品选项的架构特性,我们就能够开发出能满足最苛刻功率预算的设计。

二:超低功耗mcu-如何降低mcu的功耗

低功耗是mcu的一项非常重要的指标,比如某些可穿戴的设备,其携带的电量有限,如果整个电路消耗的电量特别大的话,就会经常出现电量不足的情况,影响用户体验。[!--empirenews.page--]

平时我们在做产品的时候,基本的功能实现很简单,但只要涉及低功耗的问题就比较棘手了,比如某些可以低到微安级的mcu,而自己设计的低功耗怎么测都是毫安级的,电流竟然能够高出标准几百到上千倍,遇到这种情况千万不要怕,只要认真你就赢了。下边咱们仔细分析一下这其中的原因。

第一条:掐断外设命脉——关闭外设时钟

先说最直观的,也是工程师都比较注意的方面,就是关闭mcu的外设时钟,对于现在市面上出现的大多数的mcu,其外设模块都对应着一个时钟开关。只需要打开这个外设的时钟,就可以正常的使用这个外设了,当然,此外设也就会产生相应的功耗;反之,如果想要让这个外设不产生功耗,只需关闭它的时钟即可。

第二条:让工作节奏慢下来——时钟不要倍频

除了外设模块功率消耗之外,还有一个功耗大户需要注意一下,这就是PLL和FLL模块。PLL和FLL主要是用来对原始的时钟信号进行倍频操作,从而提高系统的整体时钟,相应的,其功耗也会被提上去。所以在进入低功耗之前,需要切换是种模式,旁路掉PLL和FLL模块,从而尽可能的降低mcu的功耗,等到mcu唤醒之后再把时钟切换回去。

 


第三条:围堵涓涓细流——注意I/O口的电平状态

如果认为只要关闭外设时钟就能够保证外设不再耗电,那么你就太天真了。如果IO口没有做好处理的话,它就会在暗地里偷走功耗,而你却浑然不知。具体原因是这样的,一般的IO的内部或者外部都会有上下拉电阻,举个例子,如下图所示,假如某个IO口有个10KΩ的上拉电阻,把引脚拉到3.3V,然而当mcu进入低功耗模式的时候,此IO口被设置成输出低电平,根据欧姆定律,此引脚就会消耗3.3V/10K=0.33mA的电流,假如有四、五个这样的IO口,那么几个mA就贴进去了,太可惜了。所以在进入低功耗之前,请逐个检查IO口的状态:

如果此IO口带上拉,请设置为高电平输出或者高阻态输入;

如果此IO口带下拉,请设置为低电平输出或者高阻态输入;

 


总之一句话,不要把上好的电流浪费在产生热量的功能上,咱可不靠这点温度去暖手。

第四条:睦邻友好合作——注意I/O与外设IC的统筹

IO口的上下拉电阻消耗电流这一因素相对比较明显,下边咱来说一个不明显的因素:IO口与外部IC相连时的电流消耗。假如某个IO口自带上拉,而此与IO相连的IC引脚偏偏是自带下拉的,那么无论这个引脚处于什么样的电平输出,都不可避免的产生一定的电流消耗。所以凡是遇见这一类的情况,首先需要阅读外设IC的手册,确定好此引脚的的状态,做到心中有数;然后在控制mcu睡眠之前,设置好mcu的IO口的上下拉模式及输入输出状态,要保证一丝儿电流都不要被它消耗掉。

第五条:断开调试器连接,不要被假象所迷惑

还有一类比较奇特,检测出来的电流消耗很大,可实际结果是自己杞人忧天,什么原因呢?是因为在测试功耗的时候mcu还连接着调试器呢!这时候大部分电流就会被调试器给掳走,平白无故的让工程师产生极度郁闷的心情。所以在测低功耗的时候,一定不要连接调试器,更不能边调试边测电流。

总结

mcu的低功耗设计是一个细致活,要养成良好的习惯,做到每添加一个功能都要重新验证一下低功耗是否符合要求,这样就可以随时随地干掉消耗功率的因素。如果把所有功能都设计好了才去考虑低功耗的问题,一个不小心,就可能要更改程序的架构——即便如此也不一定能把功耗给彻底降下去。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

ST于近期发布了“STM32WBA”无线MCU、“STM32U0”超低功耗入门级MCU、“STM32H7R/S”高性能MCU和“STM32MP2”四大重磅新品,还透露将会在今年推出18nm的STM32新品。

关键字: STM32 MCU NPU AI 超低功耗

2024年5月7日 – 专注于引入新品的全球半导体和电子元器件授权代理商贸泽电子 (Mouser Electronics) 即日起开售Microchip Technology的PIC32CZ CA MCU。PIC32CZ...

关键字: MCU 工业网关 处理器

【2024年4月29日, 德国慕尼黑讯】嵌入式安全被认为是物联网(IoT)应用部署的一个重要属性。英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)近日宣布,其新型PSOC™ Edge E8x MC...

关键字: 微控制器 MCU 物联网

【2024年4月24日,德国慕尼黑讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)发布全新PSOC™ Edge微控制器(MCU)系列的详细信息,该系列产品的设计针对机器学习(ML)应用进行了优...

关键字: 物联网 机器学习 MCU

微控制单元(Microcontroller Unit;MCU) ,又称单片微型计算机(Single Chip Microcomputer )或者单片机,是一种针对特定应用的控制处理而设计的微处理器芯片,其工作频率(在1M...

关键字: MCU 芯片 半导体

台湾新竹 – 2024年4月23日 – 著名的微控制器供货商新唐科技公司,与全软件开发生命周期提供跨平台解决方案的全球软件公司Qt Group宣布深化合作,扩展新唐科技人机界面(HMI)平台支持「Qt for MCUs」...

关键字: 微控制器 嵌入式系统 MCU

Holtek针对语音应用推出I/O Voice OTP MCU HT68RV032/HT68RV033/HT68RV034,最大特点为内建2/4/8Mbit Voice Flash ROM,语音可重复更新,最长可达85/...

关键字: MCU 智能家电

Holtek持续精进电磁炉产品技术开发,再推出更具性价比的电磁炉Flash MCU HT45F0005A/HT45F0035A。相较于前代产品提供更丰富的资源,如硬件辅助UL认证功能、硬件I²C可与面板通信及过电流保护及...

关键字: 电磁炉 MCU IGBT

Holtek新推出专为锂电池保护可支持多达8节电池的模拟前端IC HT7Q2552,提供I²C接口控制系统组态及MCU通信,支持短路放电保护、高压唤醒及芯片过温保护的中断回报机制。适合广泛应用于手持电动工具、园艺工具及手...

关键字: 锂电池 手持电动工具 MCU

2024年4月18日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 很荣幸地宣布与Edge Impulse建立新的全球合作关系。Edge Im...

关键字: 机器学习 MCU CPU
关闭
关闭