开发工具调整 MCU 的功耗

构成物联网 (IoT) 的众多器件关联在一起的其中一个原因是对低能耗的要求。为了满足这一要求,需要在一个整体策略内,从多个层面进行优化。一个成功的设计不仅需要选择低功耗的元器件,还要使用软件以最有效的方式使这些元器件协同工作,从而节省可用的电池容量。即使是硬件和软件实现的稍微变动,也会对整体能耗造成很大的影响。
大多数 IoT 器件的核心是为高能效设计的微控制器 (MCU)。典型的低能耗 MCU 包括一系列智能外设,其代表核心处理器来控制 I/O 和基本的系统功能。串行端口 (UART) 通常能够自主地发送和接收数据,而在处理器内核上运行的软件只需在数据接收完成后从相应的缓冲器中传输字节。通过在诸如 Silicon Labs 的 Gecko EFM32 系列的 MCU 等器件上提供链接的 DMA 传输,甚至是这种交互都可以减至最少。这种情况下,处理器内核只需在收到完整消息后唤醒以检查存储器的内容。
通过允许外设管理 I/O,MCU 可以在大部分时间里都处于休眠模式,这样 MCU 的许多部分将关闭,而不会耗电。占空比是处于活动模式的时间与处于休眠模式的时间之比。低占空比对于电池供电的 IoT 应用非常重要,因为休眠模式仅仅消耗微安量级的电流,而活动模式通常会高出几个数量级。
低占空比允许处理器内核大部分时间处于休眠模式,仅在需要时唤醒以收集数据或进行通信。实施低占空比策略的关键是了解软件如何与硬件进行交互。需要确定哪些功能导致 MCU 唤醒时间过长,然后尽可能更换或重写。一直以来,在开发阶段的早期很难实现这一点,因为需要对硬件成品进行测试才能确定。
Silicon Labs 的 Pearl Gecko 入门套件及类似评估板包括高级能量监视器 (AEM) 功能。当与公司的 Simplicity Studio 中的高级工具结合使用时,可以在软件开发期间,提供极有价值的洞察信息,让开发人员了解应用需要多少能量。这些信息不仅显示了休眠模式的有效性,还揭示功能层级的优化。
Silicon Labs Pearl Gecko 入门套件板上的 AEM 模块图片
图 1: Pearl Gecko 入门套件板上 AEM 模块的实施。
AEM 功能可监控从通过 USB 总线获取电力的板载 LDO 流出的电流。通常,USB 将用于支持调试及将软件下载到目标 MCU。如图 1 所示,当板载开关设置为电池供电模式时,将无法测量电流。
当电源开关设置为 AEM 模式时,板控制器收集的数据将传送至 Simplicity Studio 工具,并可使用能量分析器进行显示。AEM 可以测量 0.1 μA 至 50 mA 大范围(动态范围达 114 dB)的电流。这样便可精确分析不同休眠模式状态的影响以及活动模式的功耗。
为了精确测量跨如此大范围的电流消耗,可以将电流检测放大器与双增益级一起使用。放大器用于测量小型串联电阻器上的压降,而增益级使用两种不同的增益设置进一步放大该电压,从而获得两个电流范围。这两个范围之间的过渡发生在 250 μA 左右。在样本导出之前,会在评估板控制器内对数字进行滤波和平均化处理。
每经过一个计时器刻度,AEM 便会对电流进行一次采样和转换,并通过 USB 将电压和计时信息一起发送至开发工具,其每秒生成的电流样本高达 6250 个。
由于能量分析依赖于跟踪数据进行关联,因此需要将 MCU 上运行的代码编译为包含发送使用任意记录格式调试 (DWARF) 数据的语句。发送至调试器的程序计数器 (PC) 样本通过调试数据与目标文件相关联,以找到在 MCU 上运行的相关源文件、函数和 C 代码行。这样便可以将功率测量与各个功能和任务关联起来。
在 Simplicity Studio 中使用分析工具时,用户可以访问三个窗口。它们显示了相关代码、电流消耗图和功能级别视图。通过单击电流图上的任意点,可高亮显示代码列表窗口中的部分代码。这对应于在给定时刻运行且具有给定级别的电流消耗的实际代码段。功能列表提供了每个功能的总能耗及其占整个应用测量总量的百分比。如果用户想要稍后分析信息,则可以将数据导出到文件,然后再将其导入以供进一步分析。
为了说明如何使用 Simplicity Studio 中提供的功耗监控工具,我们来看一个通过 UART 端口进行通信的 MCU 示例。将数据从 Gecko 的 LEUART 缓冲器移至主存储器以供稍后处理的一种简单直接的方法是定期轮询外设。如果数据可用,状态标记 (LEUART_STATUS_RXDATAV) 将指示可以检索数据。
长期高功耗图
图 2: 采用串口轮询的长期高功耗。
在活动处理器内核上运行代码会导致产生几毫安的恒定电流消耗。通过单击图表,可以高亮显示产生此功耗的功能。为了节省能耗,MCU 需要避免使用轮询来检查数据可用性。为实现此目的,可以在数据获取之间将处理器置于休眠状态,并在接收缓冲器数据变得可用时使用中断来唤醒处理器。电流消耗在休眠期间明显下降,而在中断服务例程 (ISR) 运行时则会达到峰值。在能量分析器窗口中准确找到 ISR 后便可以看出这一点。
中断服务响应的实施图
图 3: 实施中断服务响应可以将具有较高电流消耗的时间段缩至更短。
但是,处理数据接收中断后,代码的其他部分可能显示为因保持处理器处于活动状态而消耗了比预期更多的功率。单击相关功能可显示传输功能现在负责额外的功耗。虽然对传输功能进行编程的一个简单方法是设置 while{} 循环以等待每个字节的传输完成,但这将使处理器的运行时间超过必要的运行时间。与接收端口的情况类似,可以将该循环替换为中断(在每个字节传输完成后唤醒处理器)。现在处理器会在每帧字节之间进入休眠模式,从而降低平均电流消耗。
字节级传输之间的休眠图
图 4: 在字节级传输之间进入休眠可进一步降低功耗。
Gecko MCU 上的 LEUART 模块可以在深度休眠模式下工作。在此模式下,高频振荡器处于关闭状态,而低频振荡器(RC 或晶体)仍在运行并为 LEUART 提供时钟。利用这种模式可以使 ISR 处理之间的电流消耗降至微安量级。
提高能效的深度休眠模式图
图 5: 使用深度休眠模式可提高低占空比应用的能效。
通过将更多的缓冲器处理移至链接的 DMA 引擎,使其负责在发送或接收全部帧后触发中断,可以实现进一步的改进。这种策略可以使处理器内核休眠更长时间,且主要通过功能级别的数据分析任务来优化功耗。

结论:

上述示例展示了电流监控和调试工具在优化 MCU 应用能效方面的重要性。不是等到开发结束才能执行能量优化,而在整个开发阶段都可以执行分析,开发人员可以清晰地看到迭代改进。再加上高级休眠模式和无需长时间的处理器干预即可运作的智能硬件,工程团队可以轻松地实现能效方面的重大改进。

用户喜欢...

设计实例 #16:基于MCU的温度数据记录器

温度数据记录器演示板2一旦编程,将记录温度测量一段预定的时间,直到24LC16B完全编程为温度数据(即2,048个温度读数)。 每个样本使用一个字节的内存。 通过更改TIMEOUTVAL变量,可以在我们...


构建更有效的智能设备:第 1 部分 – 使用 MCU 和 PMIC 的低功耗设计

本系列文章分为三个部分,将探讨如何构建更有效的智能设备。第 1 部分(本文)讨论用于平衡功率和性能的低功耗设计方法。第 2 部分解决应对用户透明安全性的挑战。第 3 部分检讨满足设...


MCU提供基于硬件的物联网安全性

伦敦 - 安全突然成为一个热门话题。考虑到所有关于连接设备和实现物联网(IoT)设备的讨论,以及对网络攻击的潜在威胁的更多认识,这并不令人惊讶。认识到这一点,意法半导体和恩智浦半...


构建更有效的智能设备:第1部分 - 采用MCU和PMIC的低功耗设计

无线物联网和可穿戴电子产品依赖于能够延长电池寿命的低功耗设计。然而,紧张的电力预算与更多功能的需求相冲突,这些功能可能迫使开发人员转向使用大型电池和充电需求,这对用户来说...


为物联网设计添加高性能语音关键字定位:第2部分 - 使用MCU

编者注:使用新兴的高效算法类,任何开发人员现在都可以在低功耗,资源受限的系统上部署复杂的关键字定位功能。这个由两部分组成的系列文章的第一部分展示了如何使用FPGA实现这一目标...


物联网(IoT)的兴起 预计未来五年微控制器市场将稳步上升

旧金山 - 据市场研究公司IC Insights称,预计未来五年微控制器市场将稳步上升,主要原因是传感器的普及和物联网(IoT)的兴起。 IC Insights表示,预计今年MCU出货量将增长18%,达到306亿部。该...


快点?蓝牙MCU无线耳塞解决方案的关键

设计蓝牙无线耳塞时会遇到许多挑战。 同步这对耳塞对于可接受的操作至关重要。 这对于完全无线的解决方案来说可能是困难的,这就是为什么许多系统跳过此任务并在耳塞之间运行连线的原...


优化的MCU可实现电机控制的新功能

优化的MCU可实现电机控制的新功能 本文讨论了新的Kinetis V系列MCU,支持Kinetis电机套件工具以及它们为利用现代电机技术所提供的优势。...


Microchip发布了支持快速物联网实施的32位MCU

Microchip Technology Inc.最近发布了两款物联网芯片,专门用于简化产品开发,同时加强物联网终端的安全性 - 随着物联网设备数量迅速增加,这一问题日益受到关注。 该 SAM L10和L11 SAM 是32位微控制...


使用CLC扩展PIC®MCU功能

可配置逻辑单元(CLC)是一种灵活的外设,可为PIC单片机创建片上自定义逻辑功能。 该外设允许用户指定信号组合作为逻辑功能的输入,并使用逻辑输出来控制其他外设和I / O引脚。 这为嵌入...


SAM L10 /L11ARM®Cortex®-M23 MCU

微芯片技术SAM L10 / L11 ARM皮质-M23 MCU是超低功率,32位MCU用的TrustZone,加密,和增强的正温度系数(PTC)。所述SAM L10 / L11的MCU来与32MHz的ARM皮质-M23芯与单周期硬件乘法器,硬件除法,嵌套矢量中...


Microchip Technology PIC32MK工业和电机控制MCU

Microchip Technology PIC32MK微控制器(MCU)提供一系列通信外设,并具有丰富的高性能模拟电机控制功能。 PIC32MK系列包括两个子集。所述PIC32MK MC的MCU目标精度的双电机控制应用。该PIC32MK GP的MCU都挤...


采用CapTIvate™触摸技术 MSP430FR25x2电容式触摸传感MCU

德州仪器(TI)MSP430FR25x2电容式触摸传感MCU 德州仪器(TI)MSP430FR25x2电容式触摸传感MCU是用于电容式触摸传感的超低功耗MSP430微控制器(MCU)。这些器件采用CapTIvate触摸技术,适用于具有1至1...


德州仪器的AWR1642和IWR1642是集成DSP和MCU的单芯片76 GHz至81 GHz FMCW雷达传感器

AWR1642和IWR1642器件是独立的FMCW雷达传感器单芯片解决方案,可简化汽车雷达(AWR1642)和毫米波传感器在76 GHz至81 GHz频段的实施。它们采用德州仪器的低功耗45纳米RFCMOS工艺制造,该工艺能够单片...


华虹半导体推出12位SAR ADC IP助力超低功耗MCU平台

华虹半导体有限公司 今日宣布,基于其0.11微米超低漏电 (Ultra-Low-Leakage,ULL) 嵌入式闪存 (eFlash) 工艺平台,推出自主设计的超低功耗12位逐次逼近 (SAR)型模数转换器 (ADC) (12-Bit SAR ADC) IP,达到...


德州仪器宣布其SimpleLink™ MCU平台集成全新的Amazon FreeRTOS,实现快速云连接

德州仪器和亚马逊AWS为物联网设备实现端到端云连接提供持续支持 德州仪器(TI)近日宣布,SimpleLink™微控制器(MCU)平台集成全新的亚马逊FreeRTOS,帮助开发商快速而安全地将物联网(Io...