0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何为物联网设备选择低功耗微控制器

工程师兵营 来源:互联网 作者:佚名 2018-06-25 09:46 次阅读

对于电池供电的互连设备而言,能耗是至关重要的,降低能耗可以最大程度地延长电池的更换时间,甚至让设备在没有环境能量源的情况下运行。虽然很多嵌入式系统开发人员精通优化代码,但要为物联网 (IoT) 设备节省能源,还需要更加全面的方法。

此类方法不仅必须要考虑存储容量、MCU 性能和功耗的因素,还必须考虑到无线电、模拟电路、电源转换器传感器。虽然所有这些因素都会影响系统的整体能耗,但开发人员最好控制的主要因素是微控制器

本文将描述如何为物联网设备选择低功耗微控制器,以及在板载外设方面要注意哪些问题。本文还将演示如何使用功率监测工具,并提供达到最佳功率及性能的技巧和诀窍。

选择低功耗微控制器架构

要选择低功耗微控制器,首先必须确定微控制器应该使用的合适处理器内核。目前行业中有很多专有微控制器内核,但从 ARM® Cortex®-M 微控制器入手是非常合理的选择。业界的多家供应商都支持这些微控制器内核,从而形成了提供支持和资源的稳定生态环境。

为了最大程度地降低能耗,必须及早考虑到两大因素:性能和能效。对于微控制器而言,这两个指标很难量化,但开发人员可以使用两种基准标准: EEMBC 的 CoreMark 和 ULPmark。

CoreMark 用于测量微控制器的处理能力,这个值越高,处理能力就越强。例如,STMicroelectronics STM32L053 处理器可使用 STM32L053 Nucleo 开发板进行测试,它的 CoreMark 值为 75.18。另一款 STMicroelectronics 零件 STM32F417 的 CoreMark 值为 501.85。初看起来,开发人员可能认为使用 STM32F417 是可取的,因为它的性能似乎出色得多。但是,在做出决定之前,还要考虑另外几个因素。

图 1: STMicroelectronics 的 STM32L053 Nucleo 板采用 ARM® Cortex®-M0+ 内核,专门针对低功耗、资源受限的应用而设计。(图片来源:STMicroelectronics)

首先,CoreMark 只是告诉开发人员它能够在一秒钟内执行多少次基准测试迭代。在不同时钟速率下运行的处理器将产生差异很大的值。对处理能力进行比较的更好方式是比较 CoreMark/MHz。在本例中,STM32L053 处理器得出的结果为 2.35,而 STM32F417 得出的结果为 2.98(数据来源: EEMBC)。两款处理器在效率方面非常接近。

其次,开发人员必须关注内核架构。STM32L053 采用 ARM Cortex-M0+,该处理器经过优化,具有很低的功耗,而且调试模块的数量最少。此外,它还舍弃了高性能处理器上的所有附加部件,这些也是功耗最高的部件。

而 STM32F417 采用 ARM Cortex-M4,该处理器是作为高性能处理器设计的,在 168 MHz 而不是 32 MHz 的时钟速度下运行。该时钟速度达到了 STM32L053 的五倍,但 CoreMark/MHz 值仅提高了 26%。

ULPmark 可测量微控制器执行操作(例如计算和存储器操作)的效率高低。最新版本甚至可测量外设效率,让开发人员能够很好地从能源利用的视角,了解处理器的整体效率如何。

寻找合适的外设组合

微控制器内核只是开发人员在选择低功耗微控制器时应该考虑的第一个因素。应该考虑的另外一个因素是板载外设。CPU 的能耗大小在很大程度上取决于外设。开发人员希望确保他们选择的零件采用尽可能自动化的低功耗外设。

首先,开发人员应该寻找提供了不止一个直接存储器访问 (DMA) 通道的器件。利用 DMA,开发人员能够在微控制器内部传输更多信息,而无需 CPU 干预。这意味着 CPU 能够腾出手做其他工作,例如运行应用程序代码,或者关闭或进入深度休眠模式以节省能耗。同时,DMA 通道还用于将数据从外设传输到存储器,从存储器传输到外设,甚至在存储器的不同区域之间进行传输。

Texas Instruments 的 MSP430FR5994 就是专为低功耗工作设计的零件的很好例子,MSP430FR5994 Launchpad 开发套件包括了这种零件。MSP430FR5994 带有内置的 DMA 控制器,它有六个单独的通道,可以同时在后台工作。

图 2: Texas Instruments 的 MSP430FR5994 Launchpad 开发套件包含多个低功耗外设,例如用于信号处理的六通道 DMA 控制器和低功耗加速器,另外还提供多种低功耗模式。(图片来源:Texas Instruments)

另一个例子是寻求多种低功耗模式。新型微控制器将提供多种功耗模式,可将 CPU 和外设置于不同状态,从简单的休眠状态一直到深度休眠状态,微控制器在深度休眠状态下几乎接近关闭。在这些深度休眠模式下,整个微控制器的工作电流仅为几毫微安。

在了解微控制器的低功耗状态时,还要评估工具链和生态系统功能。设置和配置低功耗模式以及唤醒这些模式的事件,可能是一项颇具挑战性的工作,而且非常耗时。新型微控制器,例如 Renesas 提供的 Synergy,在开发环境内部包含了配置软件,开发人员只需几次点击即可配置这些模式。对于低功耗应用,开发人员应该考虑使用带有 64 或 128 KB 闪存的 S124 32 位 MCU。要快速启动采用这些器件的开发工作,可以使用 Synergy DK-124 开发板。

图 3: Renesas Synergy DK-124 开发板带有低功耗模拟比较器,提供多种休眠模式,实现了低功耗运行。(图片来源: Renesas)

测量和验证微控制器功耗

选择低功耗微控制器,只是确保系统能够达到可能的最低功耗的第一步。为了真正达到最低功耗,开发人员必须在整个软件开发过程中仔细地监控微控制器的能耗。开发人员可以采用多种不同方法来监控微控制器的能耗,包括电流探头和能量感知调试器。

电流探头的作用只是测量分流电阻器两端的电压,然后根据该电压和分流电阻值来计算电流。如果您希望测量整个系统的电流消耗,那么这种解决方案的效果非常好,但如果您真正希望将微控制器执行的操作与它们消耗的能量关联起来,则应使用能量感知调试器。这让开发人员能够确定哪些代码区域需要进一步优化或返工。

市场上有多种适用于 ARM Cortex-M™ 微控制器的能量感知调试器,例如 I-Jet 调试探头的 IAR Systems I-Scope电源探头(图 4)。

图 4: 连接到 IAR I-Jet 时,I-Scope 可用于测量系统电压、电流和微控制器电流,然后全部反向关联到程序计数器 (PC),以确定哪些代码区域消耗的能源最多。(图片来源: IAR Systems Software)

I-Scope 工具带有一个基于差分放大器的内部电压监视器。它可以测量与微控制器电源轨串联的分流电阻器两端的压降。这使得 I-Jet 调试探头能够测量电压,同时对微控制器的 CPU 内核中的程序计数器 (PC) 进行采样(图 5)。

IAR I-Scope 的图片(突出显示为黄色)

图 5: I-Scope(突出显示为黄色)与 I-Jet 调试探头配合使用,将分流电阻器的电流与在特定时间执行的代码关联起来。(图片来源: IAR Systems Software)

程序计数器准确告诉探头:应用程序处于执行过程的什么位置。将 PC 计数器信息与电流测量值相关联,可生成应用程序的能耗概况数据,以便开发人员能够利用这些数据来优化和验证代码。

设计低功耗器件的技巧和诀窍

找到合适的微控制器并监控硬件,只是开发人员设计低功耗器件的第一个阶段。此时的诀窍是了解如何充分利用微控制器来最大程度降低能耗。为了达到这个目标,开发人员可以遵循以下的一般技巧。其中包括:

  • 预先制定电池预算,包括最小功耗、最大功耗和平均功耗的估算值。

  • 使用低功耗定时器来驱动计划程序或 RTOS 的任何内部系统节拍。

  • 尽可能经常地将 CPU 置于休眠模式(对于实时应用,请务必考虑到唤醒和掉电时间)。

  • 让系统成为事件驱动型系统。可以利用中断来唤醒系统并执行功能,然后立即返回到休眠模式。

  • 将 DMA 控制器和任何自动化外设集成到软件架构中,以实现“并行”处理。

  • 根据需要管理微控制器时钟频率,以实现额外的能源节省。

  • 监控软件能耗,不要害怕试用不同的架构和配置。第一次尝试的很可能不是功耗最低的配置。

  • 适当时,请使用中断的 Sleep-on-exit 功能,该功能可在中断结束时将处理器置于休眠模式,每个事件节省几十个时钟周期。

总结

为物联网设备选择低功耗微控制器是一项非常棘手的工作。正如本文所述,我们必须考虑到诸多因素,从微控制器架构一直到板载外设功能。

选定了低功耗微控制器之后,并不能保证开发人员能够实现最低功耗的目标。下一个阶段是认真地设计架构,并在整个开发生命周期中监控软件的性能。只有这样,开发人员才能充分利用所选微控制器的低功耗特性和性能。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    6734

    浏览量

    147371
  • STM32
    +关注

    关注

    2232

    文章

    10649

    浏览量

    347874
  • 低功耗
    +关注

    关注

    9

    文章

    2211

    浏览量

    102371
收藏 人收藏

    评论

    相关推荐

    低功耗智能和联网电源管理装置

    设备,所有工作在极低的功率水平本文将回顾国家的最先进的智能,超低功耗设备设计的联网节点,以说明性的目的,以最新的补充范围从德克萨斯仪器。
    发表于 03-03 14:21

    何为嵌入式应用选择合适的微控制器

    外围设备,设计人员可以猜测应用程序需要多少内存。观察成本和功率限制如果微控制器将由电池和移动电源供电,那么确保这些部分是低功耗的是绝对危险的。如果它不符合电力需求,那么请继续准备清单,直到您
    发表于 12-21 17:58

    低功耗系统的MCU选择

    联网的推动下,业界对各种电池供电设备产生了巨大需求。这反过来又使业界对微控制器和其他系统级器件的能源效率要求不断提高。因此,超低功耗(U
    发表于 07-18 07:42

    基于微控制器选择解读超低功耗意义

    作者:Monica Redon在联网(IoT)的推动下,业界对各种电池供电设备产生了巨大需求。这反过来又使业界对微控制器和其他系统级器件的能源效率要求不断提高。因此,超
    发表于 07-22 08:29

    【模拟对话】开发超低功耗系统时选择合适微控制器的策略

    联网(IoT)的推动下,业界对各种电池供电设备产生了巨大需求。这反过来又使业界对微控制器和其他系统级器件的能源效率要求不断提高。因此,超低功耗
    发表于 10-08 08:00

    MAX32660 低功耗微控制器,专为迅猛发展的联网(IoT)而生

    、16焊球WLP封装或5mm x 5mm、20焊球TQFN-EP封装。 关键特性•用于可穿戴设备的高效微控制器◦内部振荡工作频率高达96MHz◦256KB闪存存储◦96KB SRA
    发表于 10-09 11:48

    选择低功耗微控制器开发,避免资源受限规则

    尝试将不会是最低的可能的配置。如果可用的话,使用中断的睡眠退出功能,这将在处理处于中断结束时休眠,并在每个事件上保存几十个时钟周期。结论为联网设备选择
    发表于 12-27 09:38

    微控制器功耗管理模式:降低功耗的方式

    的生命更需直接仰赖电池的寿命。在本文中,我们将说明设计人员如何利用微控制器(MCU)进行设计、并符合医疗设备低功耗要求。电压和电池寿命在低功耗应用中,
    发表于 02-06 07:00

    如何选择低功耗MCU

    联网的推动下,业界对各种电池供电设备产生了巨大需求。这反过来又使业界对微控制器和其他系统级器件的能源效率要求不断提高。因此超低功耗MCU
    发表于 12-28 07:12

    使用MCU微控制器实现对联网设备控制

    **PacketTracer模拟器物联网教程2—MCU微控制器编程**一、目的使用MCU微控制器实现对联网
    发表于 11-01 07:36

    如何选择低功耗MCU

    联网的推动下,业界对各种电池供电设备产生了巨大需求。这反过来又使业界对微控制器和其他系统级器件的能源效率要求不断提高。因此超低功耗MCU
    发表于 11-04 07:07

    选择低功耗MCU的方法

    联网的推动下,业界对各种电池供电设备产生了巨大需求。这反过来又使业界对微控制器和其他系统级器件的能源效率要求不断提高。因此超低功耗MCU
    发表于 11-11 07:28

    什么是低功耗微控制器

    每个微控制器厂商都声称拥有低功耗设备。几个声称拥有“最低功率”的设备。他们不可能都是对的,不是吗?但是,不同的微控制器在不同的应用场合会表现
    发表于 07-24 14:33 10次下载

    何为联网设备选择低功耗微控制器,以及在板载外设方面要注意哪些问题

    在了解微控制器低功耗状态时,还要评估工具链和生态系统功能。设置和配置低功耗模式以及唤醒这些模式的事件,可能是一项颇具挑战性的工作,而且非常耗时。新型微控制器,例如 Renesas 提
    的头像 发表于 05-16 15:36 4577次阅读

    何为STM32WB系列微控制器构建蓝牙®低功耗网状网络应用

    何为STM32WB系列微控制器构建蓝牙®低功耗网状网络应用
    发表于 11-21 08:11 0次下载
    如<b class='flag-5'>何为</b>STM32WB系列<b class='flag-5'>微控制器</b>构建蓝牙®<b class='flag-5'>低功耗</b>网状网络应用