能量消耗是一个重要参数,不仅涉及可持续性。确实,通过优化设备上的能量使用,需要更少的能量来执行其功能,因此更有效,而且还通过执行这种优化,您将拥有整体更好的产品。
例如,如果产品是电池供电,那么您可以扩展其电池寿命或更好地降低电池的大小,降低成本并减少体现了能量产品。每个人都赢了。
与生活中的许多事情一样,优化电子设备中的功耗遵循帕累托原则或80-20规则。大约20%的修改将产生80%的结果(在这种情况下,在WH中的能量明智)。
应在电池和非电池供电系统之间进行区分。其中一些优化可以大大降低设备的能量消耗,然后应该将这种优化应用于电池和非电池供电设备。
另一方面,一些优化只会通过几MA的系统提高系统的能量消耗。为电池供电的系统应用这些优化仅是有意义的,在那里的小型电流实际上是相关的。
在本文的末尾,将在优化和非优化的系统之间进行比较,因此可以可视化更改的影响。
MCU级优化
在许多嵌入式系统中,如果未选中,MCU将是高功耗的主要罪魁祸首之一。MCU功耗可分为两个状态:动态和静态。
动态功率
动态功耗是MCU正常操作期间消耗的电流。它包括在切换内部CMOS晶体管时丢失的功率,该晶体管正常控制诸如数字输出和其他MCU电路等功能和时钟振荡器等功能。
动态功耗可以由以下等式定义:
p = v ^ 2 * f * c
其中V是提供给MCU的电压,F CMOS门的频率和C CMOS电容和外部电容。
考虑来自MCU引脚的以下典型推挽数字输出图:
如果我们从静态的角度看到它,当DO是VCC或GND时,几乎没有功耗,因为没有电流流动(这没有考虑到与DO相关的内容)。
但是,如果我们动态分析它,在从VCC到GND的过渡状态,并且反之亦然,电容器电荷和放电,因此浪费了电力。
通过查看以前的等式,我们可以看到关于消耗的最重要变量是MCU是电压。因此,选择较低电压MCU是更好的选择。大多数现代MCU在3.3V时运行,而其中一些在较低的电压下如1.2V。如果您的应用程序不需要,请尝试使用5V向MCU供电。
另一个参数是外部电容。最好避免MCU DO的高C值。无论如何,如果您的高速信号连接到该引脚,如SPI时钟,则不能将大电容器放在抑制信号(使方波弯曲的平方波)和设备之间的通信时。不行。
关于频率最初,似乎通过具有较低的开关频率,因此功耗较少。但是,您必须考虑到较低的开关频率,该组件也需要更长时间才能完成任务,从而从另一部分消耗电流。正如我们稍后会看到的那样,快速完成任务,然后进入低功耗模式更有效。
静力量
静态功率是MCU消耗的功率,而这不是主动运行代码,因此在睡眠或低功率模式下。该状态消耗的电流主要由来自内部电压调节器,电路和内部振荡器的静态电流绘制。此外,一些电流泄漏丢失。
时钟频率
会消耗更多的当前?将时钟设置为2 MHz或16 MHz?
运行时钟本身将消耗更多的电流。然而,事实证明,为振荡器供电所需的初始电流代表低频下的总功耗的重要部分,另一方面,在高频下,它变得可忽略不计。
结果是,在较高频率下运行代码更有效,因为它的UA / MHz值将较低。
请记住,为此原则申请,振荡器必须由低阻抗供电电压源这可以快速提供所需的电流
外围设备
正确选择和配置MCU外设可以有助于降低功耗。
高与低速外设时钟
选择外围设备的时钟速度时,需要两个变量:外围设备的当前消耗以及执行所需任务所需的时间。
诸如UART的某些串行通信协议将倾向于使用较少的电流,而不是SPI或I2C,但是,UART需要更多时间来发送与其他协议相比的字节,使得从下表中可以从Microchip中看到的总收费更高AN1416 APP注意:
因此,使用需要更少时间来执行任务的高电流外围设备更有益。
ADC
ADC的内部电路主要是模拟组件,其速度不会变化。
由于ADC的大部分电流消耗来自这些组件,因此具有高速转换,然后禁用模块更有益。
欠压复位电路
如果电压低于设定的阈值,则该MCU组件监视电源电压并重置MCU。
该电路可以在睡眠或低功率模式下消耗相当量的电流。因此,在MCU进入此状态时,最好将其关闭。由于MCU未执行代码,因此BOR保护并非真正必要。
未使用的针脚
留下浮动的未使用引脚可以与外部信号耦合,并产生可以偏置内部晶体管的随机电压并导致最多100A的电流消耗。
为避免这种情况,将任何未使用的引脚配置为数字输出,并将其驱动到低或高
电源决策和设计
您可以想象,选择正确类型的电源,在优化设备的能效方面具有核心作用。除了每个拓扑的缺点和专业权外,其他参数如电源需要运行多少参数,并且需要仔细分析其效率以选择最佳的解决方案。
用例线性VS切换
众所周知,开关电源比线性稳压器更有效。这是因为SMPS中的损耗主要是所用MOSFET的内部电阻和开关频率加上二极管处的电压降的因素,而在线性稳压器中,大多数损失来自调节器晶体管的电压降。
为了说明差异,让我们执行计算,以比较功率损耗假设电压转换在电流的1A中的电压转换(请注意,此计算不考虑静态电流):
用于线性电压调节器:
P_LOSS = VIN-VOUT * IOUT =(9V-5V)* 1A = 4W
对于下降转换器(假设FSW为2MHz,40ns的瞬态时间和0.1Ohm的RDSON):
p_loss = pconmos + pswmos + pswd
P_LOSS =(IOUT ^ 2 * RDSON * VOUT / VIN)+(0.5 * VIN * IOUT * TSW * FSW)+(IOUT * VF *(1-VOUT / VIN))
P_LOSS =(1A * 1A * 0.1OHM * 5V / 9V)+(0.5 * 5V * 40ns * 2MHz)+(1A * 0.4V *(1-5V / 9V))
P_LOSS = 0.055W + 0.2W + 0.178W
p_loss = 0.433W
如您所见,与线性稳压器相比,SMPS可以具有10倍的功率损耗。
然而,线性调节器可以在某些情况下是更好的选择。
SMPS是一个理想的选择,当VIN和VOUT之间的差异超过几伏时,需要供电的高电流恒定负载,因为它们提供了更高的效率,如计算所示。
但是当设备在睡眠模式下花费大部分寿命时,消耗低于1mA的电流,应考虑线性稳压器。您可以从LM2621数据表中的下表中看到,SMPS在低电流下变得效率降低:
因此,对于具有长睡眠时间的嵌入式系统,应将线性电压调节器视为可行的选择。
稳压效率
效率应理解为等式所提供的转换过程中丢失的功率的比率:
pout = pin * eff
效率由上面看的功率损耗加上组件工作所需的电源
静态电流
观察的另一个参数是电压调节器进行电压转换的所需电流,或者也称为静态电流。
可以在组件的数据表(7805A和LM2621)上轻松找到此参数:
高效开关稳压器
硅胶制造技术和设计技巧每年都能完善。这允许IC制造商在许多方面创造更好的组件,例如提高其效率。
以下是两个加强转换器效率的比较,LM2621(2004年发布)和TPS61230(于2014年发布):
如您所见,较新的设备具有更好的效率,特别是在低电流上。
Persewise,LM2621的费用约为2.30美元,TPS61230 2.90 USD。因此,如果效率的10%收益在长期节省能源的10%的增长,则可以合理额外的成本。
高效线性稳压器
线性稳压器需要在其输入时降低最小电压,以提供一定量的电流。
以下是经典7805A(非常旧的)和TPS748之间所需的电压降的比较(于2007年发布):
您可以从上述图表中看到,7805A需要将至少2V降至25℃的电流源1A,而TPS748仅需要掉落40mV以在相同温度下源相同的电流。这是一种大规模的改进。
7805A的价格为0.42美元,而TPS748为2.14 USD。在效率的改进中,价格也存在巨大差异。

只有有兴趣将这些准则应用于您的设计?下载电源优化指南。
隐私声明:您的电子邮件地址将不会被共享,您只会收到相关内容。零垃圾邮件。
组件和IC
本节潜入用于集成电路和无源元件的低功耗设计技术。
IC的电源管理
如图所示,设备的总电流消耗量Powertree分析,主要由所有IC和MCU电流的总和进行。
因此,为了降低电流消耗,它可以在未使用时关闭尽可能多的IC。
实现这一目标的一种快速方便的方法是使用您在最新的苛刻IC中找到的en引脚。当处于睡眠/禁用模式时,IC通常将从消费MA转移到UA。
良好的做法是始终购买IC的低静态电流。这通常是在数据表的第一页上发布的。
在AC电源供电系统中,该解决方案通常绰绰有余,但在具有非常紧凑的电源预算的电池供电系统中,有时您需要断开设备与电源轨的连接,以便去除所有电流消耗。
这可以通过使用晶体管作为由MCU控制的开关来容易地实现。
高侧或低侧开关?
或者换句话说,是从VCC到IC或IC到GND的晶体管?
权力明智,差异可以忽略不计,因此选择归结为以下设计参数:
安全
|
信号完整性
|
成本/复杂性
|
|
高端
|
在汽车行业中,由于负载将始终连接到GND(机箱),因此认为使用高侧开关的光滑是更安全的 |
关于参考GND没有干扰 |
使用两个晶体管和三个电阻器 |
低端
|
- |
在负载和GND之间具有元素将产生小的电压移位,该电压偏移将抵消该特定IC的参考GND。这可以在与其他电路接口IC时产生问题。如果电流非常低或晶体管的RDSON / VCE很小,那么这不应该是一个问题 |
使用一个晶体管和两个电阻器 |
BJT或MOSFET?
如果晶体管连接到数字输出之一,双极连接晶体管需要需要通过MCU的基本电流。由于MOSFET几乎不需要在栅极处输入电流,因此如果目标是使用较少的功率,MOSFET是更好的选择。
此外,在计算功耗时,MOSFET将倾向于少散发。对于使用4欧姆的RDSON的廉价MOSFET的10mA负载,我们耗散:
PDIS = 0.01A * 0.01A * 4OHM = 400UW
对于BJT驱动相同的电流和收集器之间的电压降,典型的50mV的典型发射器我们耗散:
PDIS = 0.05V * 0.01A = 500UW
示例高侧电路
以下电路可用于打开/关闭不同的IC,具有低电流(约10mA)和小旁路电容(大约100nf)。R2不是必需的,然而,良好的做法是放置下拉电阻,以便在销钉浮动或高阻抗的情况下保证低电平。
电容器漏电流
在充分充电电容器之后,微小的电流仍然在正极和负板之间流动。这被定义为电容器的漏电流。
漏电流是所用电介质的函数,电压施加到电容器和电容。
通常,电解电容器在Na的顺序中泄漏UA的频率较好的陶瓷电容器。
对于大多数IC的IC绕过,您可能会使用具有10uf或更小电容的陶瓷电容器。在这种情况下,泄漏在功耗方面并不是一个问题。
然而,在需要大电解电容器用于去耦或旁路的电池系统中,泄漏可能成为一个问题。
作为一般的拇指规则,避免在电池供电系统中使用高电容电解电容器。
上拉/下电阻
悬挂从电源线的电阻,具有GND的路径是电路上电流消耗的恒定源。
作为一般规则,当任何电路需要上拉电阻时,应尝试使用最高值,这通常为47K或51K欧姆。
这对于与通信总线未链接的信号有效。对于连接到高速通信线路(如I2C或SPI总线)的提升,高值将使波形的形状变形,因此需要“调谐”考虑总线的速度和杂散电容线。
电阻调整指南也适用于分隔液。而不是使用3.3kohm使用1.2kohm,请尝试使用12kohm,具有33kohm电阻。您的电路对噪音的影响较小,但根据应用,这可能是可接受的。
PCB铜痕迹
在可能的情况下,在能够处理相当数量的电流的电力迹线上,尽可能宽地使PCB铜迹线。
您还可以将所有信号路径倒入铜,因为它的完成太阳能移动充电器和PowerBankPCB。该技术将降低轨道的电阻,因此将耗尽较少的加热。
基于软件的技术
在文章的开头,有人提到一些解释的一些优化对器件的功耗具有非常高的影响,而其他优化将改善少量。
软件优化可能是您可以对设备进行最相关的调整,以降低其功耗。
基于中断的SW
中断是由外部信号或MCU的内部外围触发的事件,例如定时器或ADC转换标志。
基于中断的软件在前提下运行,只需在存在某些输入或条件时才需要执行代码,其余时间电路睡眠。
大多数嵌入式系统需要一种输入/条件,例如按下按钮,经过时间或任何其他外部事件。
代码应始终优化和设计,因此在这些“等待时间”期间,MCU进入低功耗模式,而不是在循环中等待发生条件。
并非所有等待时间都是一样的。有时,您正在等待ADC转换完成,这可能需要我们,其他时候等待按下的按钮,这可能需要几个小时,在某些情况下,只需要使用MCU的单个外设,例如PWM。
由于这种情况,MCU制造商创造了不同的低功耗模式。例如,在PIC MCU系列上,存在以下低功耗状态:
考虑到我们以前的情况,我们可以说他们中的每一个都可以与低功耗模式配对:
等待ADC转换完成 - >进入闲置状态
等待可能需要超过1ms的外部中断 - >进入睡眠模式
执行不需要完整MCU功能的单个操作 - >进入DOZE模式
使用低功耗模式实现基于中断的代码,可以大大提高设备的功耗并完全制作更好的产品。
代码优化
每个代码都不同而唯一,但是,应努力创建避免重复CPU密集型任务的方法。
例如,在太阳能移动充电器中,子程序将通过将感测的输入电压乘以感测的输入电流来计算设备的输入功率。这种乘法将使用浮点算术,因此它将是CPU密集型操作。
当输入电压和电流保持相同的时刻,例如在阳光明媚的日期,而电池的电压低于其标称级别。
它没有提供许多有用的信息,以知道输入功率是否为5.21W或5.26W。
可以实现在计算电源之前的先前条件,其中将输入电压和电流与最后计算进行比较,如果测量没有足够改变以影响最终结果,则跳过计算。
根据设备的不同,此策略可能会造成更多或更少的感觉,但它可能会急剧降低参数变化很小的系统上的功耗。
优化VS非优化电路比较
为了说明上面讨论的一些点,将创建虚构的设备。
这是一种工业设备,需要监控和存储串联连接的2狮电池的电压值。设备每秒采用10个电压样本,然后通过UART向另一个设备发送数据,并将该数据存储在嵌入式EEPROM上。
设备的早期电路示意图如下所示:
需要采取一系列设计决策:
- 散装电容的价值
- 分压器的值
- 电压调节器的拓扑结构
- MCU和UART收发器之间的接口
- MCU和EEPROM之间的接口
- 苏醒唤醒策略
非优化的设备设计决策和最大功耗
散装电容
该装置远离电池,因此大电容用于保持电压稳定并处理电流峰值。一种1000UF / 35V.选择电解电容。
使用数据表中提供的信息计算漏电流:
ILEAK_CAP_MAX = 0.01 * 100uf * 35V
ileak_cap_max = 35ua.
ileak_cap_max = 35ua.
分压器
对于8V的VIN_MAX和3V的VADC_MAX,5.6kohm和3.3kohm的分压器用于电流消耗:
i_vdiv = 8 /(5600 + 3300)= 900UA
MCU和UART收发器之间的接口
这TJA1044使用MCU的Rx / Tx线选择。不使用备用引脚,因此设备始终亮起45mA的典型消耗,同时在不发送数据时发送数据和5mA。
MCU和EEPROM之间的接口
这cat24m01.被选中。此内存使用I2C通信。当没有操作时,典型的功耗为4mA,当数据写入存储器和2uA时。
苏醒唤醒策略
此设备不会进入睡眠模式。执行转换后,发送和存储数据后,它将进入一小时循环,直到1秒的计时器已过期,然后重复。
选择PIC24FJ256GA702作为设备的MCU。振荡器频率为8MHz的典型工作电流和3.3V的VDD是2mA
电压调节器
在选择功率调节器之前,需要计算最大电流消耗。
请注意,对于此示例,我们将使用以前说明的“典型”值。对于一个真实的设备,应该使用来自数据表的最大值,以便您可以计算最糟糕的情况消耗。
iout_vreg_max = i_tja + i_eeprom + i_i2c + i_uart + i_mcu
iout_vreg_max = 45mA + 4mA + 1mA + 0.2mA + 2mA
iout_vreg_max = 52.2ma.
选择3.3V线性电压调节器,因为它是最便宜的选择。电压调节器上消散的最大功率为:
pdiss_ldo_max =(7.4-3.3)V * 0.052A = 0.213W
现在,我们计算设备等待定时器到期时的最低功耗和耗散:
iout_vreg_min = i_tja + i_eeprom + i_mcu
iout_vreg_min = 5ma + 0.002mA + 2mA
iout_vreg_min = 7ma.
pdiss_ldo_min =(7.4-3.3)v * 0.007a = 0.028W
优化的设备设计决策和最大功耗
散装电容
该装置放置非常靠近电池,因此所需的散装电容不是很高。22UF陶瓷电容器被选中。
使用以下等式计算泄漏:
ileak_cap_max = = v /(IR / C)
ILEAK_CAP_MAX = 10V /(100MOHM * UF / 22UF)
ileak_cap_max = 2.2ua
分压器
对于8V的VIN_MAX和3V的VADC_MAX,使用56kohm和33kohm的分压器,电流消耗是:
i_vdiv = 8 /(56000 + 33000)= 90ua
MCU和UART收发器之间的接口
这TJA1044使用MCU的Rx / Tx线选择。使用备用销,因此设备可以在不使用的同时睡眠。典型的消耗量为45mA,同时发送数据,5mA在睡眠模式下不发送数据和10UA。
MCU和EEPROM之间的接口
这M95M01.被选中。此内存使用SPI通信。当没有操作时,典型的功耗为4mA,当数据写入存储器和2uA时。
苏醒唤醒策略
该设备将进入睡眠模式。在执行转换后,发送和存储数据后,它将进入睡眠模式,直到1秒的中断计时器已过期并唤醒设备。
选择PIC24FJ256GA702作为设备的MCU。振荡器频率为8MHz的典型工作电流和3.3V的VDD是2mA,而典型的睡眠电流为4.4UA。
电压调节器
对于优化的设备,最大电流消耗实际上与非优化设备中的实际上相同。
iout_vreg_max = i_tja + i_eeprom + i_spi + i_uart + i_mcu
iout_vreg_max = 45mA + 4mA + 0.7mA + 0.2mA + 2mA
iout_vreg_max = 51.9ma.
这TPS62745.,选择超低功率降压转换器作为电压调节器。使用提供的效率图,计算了电源损耗:
假设在52mA的效率为87%
PLOSS_BUCK_MIN = 7.4V * 0.052A * 0.13 = 0.05W
现在我们计算设备处于睡眠模式时的功耗和损耗:
iout_vreg_min = i_tja + i_eeprom + i_mcu
iout_vreg_min = 10ua + 2ua + 4.4ua
iout_vreg_min = 16.4ua.
假设16.4ua的效率为82%
PLOSS_BUCK_MIN = 7.4V * 0.0000164 * 0.18 = 22UW
能源分析
为了计算WH中的能量,首先,必须计算用于电流消耗的两个不同的曲线,然后,可以根据Microchip AN1416中的图表中描述的平均电流消耗来计算:
平均电流消耗量
设备的动态功耗将根据MCU代码的哪个部分而有所不同。在此示例中易于计算,并且因为它足以说明该点,我们将假设动态功率是恒定的。
从我们以前的计算中,我们对两个设备的动态电流为52mA。
假设ADC转换速度为500 ksps,收集了10个样本,并发送到UART收发器和EEPROM的10个字节,动态时间(Tactive)将是:
Tary_non-opt =(0.02 + 0.25 + 1.74)= 2.01ms
Tary_opt =(0.02 + 0.02 + 1.74)= 1.78ms
然后,电压调节器的平均电流输出是:
IAVG_NON-OPT =(0.052A * 0.002s)+(0.007a * 1s)/(1 + 0.002)s
IAVG_NON-OPT = 7mA
IAVG_OPT =(0.052A * 0.00178S)+(0.0000164A * 1S)/(1 + 0.00178)S
IAVG_OPT = 109UA
添加预调节器消耗
电容器和分压器都是电压调节器之前的恒定负载,因此它们可以直接添加到我们以前的计算中。但是,需要首先使用以下等式计算降压转换器的输入电流:
IIN_AVG_BUCK = IAVG_OPT * VOUT / AVG_EFF * VIN
IIN_AVG_BUCK =(109UA)* 3.3V / 0.845 * 7.4V
iin_avg_buck = 57.52ua.
IIN_OPT = 57.52UA + 90UA + 2.2UA
iin_opt = 150ua.
IIN_NON-OPT = 7mA + 0.035mA + 0.9mA
iin_non-opt = 8ma
最终能源消耗
现在可以在WH中计算最终的能量消耗:
E_NON-OPT =(0.008A)* 7.4V * 1H
E_NON-OPT = 59.2MWH
E_OPT =(0.00015A)* 7.4V * 1H
e_opt = 1.1mwh
优化的解决方案比未优化的解决方案消耗53.8倍。
如果我们在上下文中置于这些值,假设我们虚构设备的电池的容量为10Ah,我们忽略了自放电,然后:
life_non-opt = 10ah / 0.008a = 1250h
Life_opt = 10Ah / 0.00015A = 66,666.7h
返回减少消耗的初始参数,因此可以选择较小的电池,从而降低产品的成本及其体现的能量,我们可以说优化的设备可以持续相同的小时数(1250h)作为非- 优化的设备,但电池:
BATT_OPT = 0.00015A * 1250H = 0.1875Ah
结论
在本文中,我们学习了不同的概念和设计技术,可以降低电子电路的功耗。
这些技术中的一些,例如优化软件和选择正确的电压调节器可能对设备的最终能量消耗产生巨大影响,而其他指南如选择高值上拉电阻并在BJT上选择MOSFET只对电池供电设备有相关的影响。
在物品末尾给出的一个例子是将优化的装置与非优化装置进行比较,因此可以正确地可视化差异。计算出优化的设备可以使电池寿命持续约65,000小时的时间更长,而不是未优化的设备。
如果您想在指南中合成的所有这些信息,您可以使用要用于检查您的设计,请在此处提供PDF资源部分
是否有任何其他设计技巧和指导,我在文章中错过了?请在评论部分分享他们!
参考
Microchip AN1416,By Yivey的低功耗设计指南
使用集成负载开关优化便携式电子设备的功耗- low-powerdesign.com.
将低能量嵌入式系统从硅塑造到软件 - Silicon Labs
用于初学者的开关模式电源:效率底漆部分1- 电力电子产品
高阻抗通过电子设备电路降低电流,软件优化是降低电子设备中功耗的强大方法。
嗨,你能解释一下MCU如何与MPU不同?
你好威拉德,
简而言之,微处理器单元具有更快的处理速度和内存,它用于运行需要大量处理电源的操作系统,如Windows,Linux和Apple OS,其中旨在执行重复的任务不需要操作系统,因此其价格便宜。这就是为什么大多数嵌入式电子设备使用MCU而不是MPU。