广告

5个低功耗设计的实用技巧

2023-06-30 17:27:52 Jacob Beningo 阅读:
设计低功率的嵌入式系统对于最大限度地延长电池寿命和减少电网压力至关重要。在这篇文章中,我们将探讨低功耗设计的实用技巧,帮助你开发节能的嵌入式系统。

在我们日常生活中,计算机技术已经进入了几乎每一个利基市场,无论是在家里,在办公室,甚至是在你的花园,因此我们比想象中更依赖这些科技技术。B6yednc

虽然你可能认为低功耗设计只对电池供电的设备至关重要,但连接到电网的设备数量之多可能导致美国每年 10 - 15% 的发电量被浪费。因此,设计低功率的嵌入式系统对于最大限度地延长电池寿命和减少电网压力至关重要。(更不用说对环境的影响了)。在这篇文章中,我们将探讨低功耗设计的实用技巧,帮助你开发节能的嵌入式系统。B6yednc

(7月21日,由AspenCore主办的【2023全球MCU全球生态发展大会】将在深圳罗湖君悦酒店召开。作为目前国内规模最大的专业MCU行业盛会,2023全球MCU生态发展大会将继续邀请国际和本土知名MCU厂商的技术和应用专家,为来自消费电子、家电、工业控制、通信网络、新能源汽车和物联网领域的OEM厂商和方案集成商代表带来MCU领域的最新技术趋势和应用解决方案。欢迎感兴趣的工程师朋友点这里这里分别报名参加!)B6yednc

低功耗技巧1—尽早测量和反复测量

首先让一个嵌入式系统工作,然后再回头优化代码和能源使用,这是一种明智之举。如果你不能让产品满足客户的需求,那么花在优化上的时间可能是一种浪费。B6yednc

然而,我发现,当涉及到能源使用时,通常更好的做法是尽早开始测量你的消耗,并经常了解你的系统在执行过程中的能量消耗情况。B6yednc

我尽早和反复测量是因为一旦发现如果设计走错了方向,就更容易进行调整或小的路线修正。B6yednc

例如,几年前,我正在做一个电池供电的医疗传感器,硬性要求需要电池续航14小时。因此,在开发周期的早期,我开始进行能源使用测量,发现了两件事。首先,由于美观原因,所选择的电池不足以满足应用的需要。第二,我们决定的软件架构不足以达到所需的能量要求。B6yednc

尽早了解这些信息,我们可以及早调整软件架构,而不必重写整个项目。了解了电池的限制,我们也能够对硬件进行细微调整,以改善其能量状况,在项目结束时,我们成功实现了两次充电之间的操作寿命。如果我们等到最后,我相信该产品至少需要六个月来重新设计,这可能会使他们失去业务。B6yednc

低功耗技巧2--微控制器的选择并不像你想象的那样关键

几年前,芯片供应商之间展开了一场战争。这场战争是为了使微控制器达到最低功率的睡眠状态。一个供应商声称他们可以达到100uA的睡眠电流。另一家则说他们可以达到50uA。供应商增加了各种低功耗外设、睡眠模式和类似DMA的功能,旨在让CPU保持睡眠状态。这场战争似乎很高尚,但其中充斥着许多虚假的营销废话,例如能够让一台设备通过纽扣电池供电十年(杰克-甘斯勒在几篇文章和讲座中对此做了很好的反驳)。B6yednc

虽然你会看到很多关于微控制器节能程度的数字和数据被抛出来,但在大多数情况下,这些数字不是基于工程,而是基于营销数字。今天,许多微控制器使用类似的技术(例如 Arm 内核),并使用类似的制造技术。一个供应商的Cortex-M4与另一个供应商的Cortex-M4没有什么不同,至少在能耗方面是如此。B6yednc

当涉及到硬件选择时,诀窍在于为其选择合适的处理器类别。例如,使用Cortex-M0+或Cortex-M23而不是Cortex-M4或Cortex-M33。CPU的功能越强,微控制器中添加的硬件功能就越多,这些功能可能会泄漏或消耗电流。虽然安全功能在许多应用中是必需的,但安全功能可能会增加额外的内核、TrustZone、MPU 等,从而增加整体能耗。这些都是问题所在,而不是低功耗电流状态下的差异。B6yednc

(7月21日,由AspenCore主办的【2023全球MCU全球生态发展大会】将在深圳罗湖君悦酒店召开。在【无线MCU分论坛】上,Microchip Technology应用工程师经理严深员将带来“更智能、更安全的全新无线连接生态系统”主题演讲。在同期举办的【电机驱动与控制论坛】上,Microchip Technology主任应用工程师宋伟也将带来“让数字信号控制器提升电机的运行性能”主题演讲。欢迎感兴趣的工程师朋友点这里这里分别报名参加!)B6yednc

低功耗技巧3--采用事件驱动的软件架构

影响嵌入式产品能耗的一个重要因素是软件架构。我见过出色的、简洁的软件架构因为无法满足系统的低功耗要求而崩溃和烧毁。这些架构的问题通常在于它们的实时响应能力。它们很简洁,但存在较大的延迟或低效的通信机制,会消耗时钟周期和功率。B6yednc

当设计一个低功耗的嵌入式系统时,必须把系统开发成事件驱动的。系统的默认状态是微控制器的睡眠模式之一。然后,事件会触发系统唤醒并做有价值的工作。B6yednc

例如,低功耗定时器到期,系统醒来,检索传感器值,对其执行某些操作,然后再回到睡眠状态。在这种情况下,系统保持在低功耗状态,只有在执行工作时才会被唤醒。当执行工作时,它尽可能快地完成工作,然后再回到睡眠状态。B6yednc

事件驱动着系统的整个行为,使其尽可能长时间地保持在睡眠模式。事实上,前面的例子可以得到极大的改进。例如,一个低功耗的定时器到期,DMA 通道检索传感器样本,唤醒处理它的 CPU,然后返回睡眠状态。在事件驱动架构中,我们使用外设、DMA和所有可用的工具来尽可能长时间地保持 CPU 休眠。原因是CPU一般是处理器中最大的能源消耗者。B6yednc

低功耗技巧4--利用多核

我们正试图设计一个低功耗的系统,要求尽可能地保持CPU的关闭,而我却建议增加更多的内核。有一些应用,如机器学习或数字信号处理应用,无法摆脱使用高性能微控制器。你需要Cortex-M4或Cortex-M33。你可能会发现,即使是睡眠模式或你的基准能耗也比你想要的要高。这时,第二个内核就可以派上用场了。B6yednc

你可以使用一个多核微控制器,其中包括一个低功耗的微控制器,如Cortex-M0+和一个高性能的Cortex-M4。当不需要高性能的内核时,你把它关掉,只让低功耗的Cortex-M0+运行。当一个事件需要高性能处理时,Cortex-M0+将Cortex-M4打开,让它快速完成工作,然后将其恢复到关闭状态。B6yednc

这方面的一个很好的例子可能是机器学习应用中的关键词检测。Cortex-M0+可能会搜索一个初始关键词,一旦发现,就会启动高性能内核来处理整个短语。在这种情况下,在初始关键词发现阶段,设备的整体能耗可能相当低。我想你会明白的。将低功耗内核与高性能内核一起使用可能会降低你的总体能耗。B6yednc

低功耗技巧5--优化速度,而不是优化代码大小

当为低功耗设备编写软件时,需要进行必要的权衡:更快的处理和更大的代码,或更慢的处理和更小的代码。如果需要能源效率,那么你要优化代码的速度,而不是大小。当你的处理器被唤醒来处理数据时,你希望它尽可能快地处理,然后回到睡眠状态。睡眠的时间越长,设备的整体能耗就越低。B6yednc

关于速度优化,我可以给你一个额外的小建议,那就是商业编译器比gcc做得更好(这是在一篇博客中的两个声明)。如果你不相信我,看看EMBCC CoreMark MCU Benchmark的公开数据。当你浏览数据时,看看在闪存中运行代码与从RAM中运行代码之间的差异。你会注意到,你可以从RAM中挤出一些额外的周期,所以如果你有频繁运行的代码,则可以通过将这些算法放入 RAM 来减少系统的能耗。B6yednc

结论

设计一个低功耗的嵌入式系统不仅是对电池供电设备的要求,也是对并网设备的要求。正如你在这篇文章中所看到的,低功耗设计不仅仅是选择合适的硬件,还包括选择和实现正确的软件架构。目前,微控制器领域的大多数硬件具有类似的能源使用概况。诀窍是编写能够最有效地利用内部硬件的软件,以尽可能地保持CPU的禁用状态。B6yednc

在这篇文章中,我们探讨了一些技巧和示例,希望它们能够帮助您设计低功耗嵌入式系统。B6yednc

原文发表于ASPENCORE旗下EDN姐妹媒体embedded,参考链接:5 practical tips for low-power design;Demi Xia编译)B6yednc

(7月21日,由AspenCore主办的【2023全球MCU全球生态发展大会】将在深圳罗湖君悦酒店召开。作为目前国内规模最大的专业MCU行业盛会,2023全球MCU生态发展大会将继续邀请国际和本土知名MCU厂商的技术和应用专家,为来自消费电子、家电、工业控制、通信网络、新能源汽车和物联网领域的OEM厂商和方案集成商代表带来MCU领域的最新技术趋势和应用解决方案。欢迎感兴趣的工程师朋友点这里这里分别报名参加!)B6yednc

责编:Demi
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 将锂金属电池寿命提高750%,竟然只需要“水”? 随着新能源汽车、移动设备等领域的快速发展,高性能电池的需求日益旺盛,锂金属作为新一代阳极材料,因具有高能量密度、轻量化等优点,备受关注。然而,锂金属电池所存在的寿命短、易起火或爆炸等问题,限制了其广泛的商业应用···
  • 按下ON还是按住OFF,将这种开关电路升级到交流电 2024年10月14日,Nick Cornford发布了一个名为“按下去再按上来,这种开关有哪些门道?”的设计实例(DI)。对于直流电压来说,这是一个非常有趣的DI,但对于交流电压呢?
  • 协同创新,助汽车行业迈向电气化、自动化和互联化的未来 汽车行业正处在电动化和智能化的转型过程中,而半导体企业站在这一变革的最前沿。这一转型带来了重大发展机遇,也带来了诸多挑战,需要颠覆性的技术以及更短的开发周期。加强半导体制造商、一级供应商和汽车制造商之间的合作,对于应对这些复杂情况及推动行业迈向电气化、自动化和互联化的未来至关重要···
  • 将单电源单端输入改成伪A/B类差分输出放大器 该放大器采用Barrie Gilbert的微混频器拓扑结构可将单端输入转换为单电源A/B类电流输出···
  • 加强低功耗FPGA的领先地位 在快速发展的技术领域,从以云端为中心到以网络边缘为中心的创新转变正在重塑数据的处理和利用方式···
  • 打造下一代家用机器人:精心构建智能化、集成化和电源优 ​​​​​​​今天的家用机器人不仅仅是工具,它们已经成为人们的生活伙伴,为日常生活增添了便利性和互动性。设计这些结构紧凑、功能强大的机器需要克服连接性、电源和外形尺寸等方面的严峻挑战,每一次突破都使我们更接近全面集成的智能家居体验···
  • 用LM337改造,让PWM DAC获得1.5 A输出能力 DAC是一种低功耗设备,其功率和电流输出能力仅限于毫瓦和毫安范围。当然,从根本上讲,它们没有理由不与合适的功率输出级配合使用,这确实也是常见的实际做法。不过,为了好玩,这个设计实例采用了不同的供电方式···
  • 意法半导体:让可持续世界从概念变为现实 最近,意法半导体人力资源和企业社会责任总裁Rajita D’Souza分享了意法半导体的可持续发展战略和近期工作重点···
  • 如何制作双变频的航空波段接收机? 随着互联网的发展,中波和短波频段的接收机已成为过去式,更不用说长波了。不过也许在无线电领域中最有趣的活动之一就是收听服务发射机,对于我这个与航空相关的人来说,主要指的是飞机的发射机和空中交通管制塔···
  • 用4200A和矩阵开关搭建自动智能的可靠性评估平台 在现代ULSI电路中沟道热载流子(CHC)诱导的退化是一个重要的与可靠性相关的问题···
  • 新一代MCU向着边缘AI和实时控制发展 在工业和汽车领域,电机驱动和数字电源转换是典型的实时控制系统,要求处理器具有高实时性和强大的数学计算与处理能力。这些应用需要优质的ADC和PWM功能,并通过联动机制,形成高效、有机的实时控制系统。
  • 英特尔Ultra处理器,用普通内存也能超频到10000 MT/s+? 目前内存超频的世界记录是12666MT/s,而想要达成这样的频率不光需要降低CPU频率,还需要辅助液氮等特殊的冷却方案,对内存进行降温。但已有主板可以在没有特殊冷却方案的情况下,超频到10000 MT/s以上···
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了