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

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

3天内不再提示

电流监控和调试工具在MCU设计中应用

工程师兵营 来源:互联网 作者:佚名 2018-07-13 10:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

构成物联网 (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 中的高级工具结合使用时,可以在软件开发期间,提供极有价值的洞察信息,让开发人员了解应用需要多少能量。这些信息不仅显示了休眠模式的有效性,还揭示功能层级的优化。

图 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 应用能效方面的重要性。不是等到开发结束才能执行能量优化,而在整个开发阶段都可以执行分析,开发人员可以清晰地看到迭代改进。再加上高级休眠模式和无需长时间的处理器干预即可运作的智能硬件,工程团队可以轻松地实现能效方面的重大改进。

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

    关注

    147

    文章

    18604

    浏览量

    386752
  • Silicon Labs
    +关注

    关注

    11

    文章

    343

    浏览量

    63537
  • 电流监控
    +关注

    关注

    0

    文章

    43

    浏览量

    11418
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何调试和编程CW32F030C8T7?支持哪些调试工具和编程语言?

    了解如何调试和编程CW32F030C8T7是开发过程的重要环节。它支持哪些调试工具(如JTAG、串口调试等)和编程语言(如C、C++等)?如何设置和使用这些
    发表于 12-05 06:48

    E30M6203-5G网关通讯远程调试工具说明书

    工程机械领域控制器以及显示屏都是通过以太网、CAN bus、RS232等通讯的,然而这些通讯方式机器发生故障技术人员进行排查时就必须现场通过PEAK CAN等工具连接电脑调试。此文档是一种摆脱有线的远程
    发表于 10-17 16:33 0次下载

    CAN总线远程调试工具工程机械领域的创新应用

    本文提出采用 PKCAN-WIFI 无线应用工具实现 CAN 总线通信无线化的解决方案。通过分析该工具的技术特点和工作原理,结合工程机械实际应用场景,详细阐述了其远程调试、程序下载、
    发表于 10-17 15:52 0次下载

    SEGGER Ozone调试器支持第三方调试工具

    SEGGER强大的Ozone调试器和性能分析器,长期以来一直深受J-Link和J-Trace用户的信任,现在可以支持第三方调试工具了。
    的头像 发表于 09-29 11:45 686次阅读

    嵌入式软件测试与专业测试工具的必要性深度解析

    覆盖率达95%的CAN通信模块测试。 监控调试工具 ‌Monit‌:开源的Linux监控工具,可监测硬件资源和操作系统资源,对宿主机的CPU和内存占用极小,特别适合嵌入式系统。
    发表于 09-28 17:42

    创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—调试工具安装

    本文围绕创龙科技研发的瑞芯微 RK3588 工业开发板,详细阐述三类调试工具的安装与配置流程。包括适配 CH340、CH341 芯片的 USB 转串口驱动安装步骤及故障排查;系统调试工具
    的头像 发表于 09-16 14:35 482次阅读
    创龙 瑞芯微 RK3588 国产2.4GHz八核 工业开发板—<b class='flag-5'>调试工具</b>安装

    【干货分享】RT-Trace国产调试工具 | 技术集结

    专为嵌入式开发者打造的一款高性能、多功能的调试工具。它集成了实时系统跟踪、数据监控、GDB远程调试、Flash程序烧录、虚拟终端等多种功能于一体,支持通过WebU
    的头像 发表于 09-16 08:07 561次阅读
    【干货分享】RT-Trace国产<b class='flag-5'>调试工具</b> | 技术集结

    请问新唐Nu-Link调试工具是否支持8051系列芯片?

    新唐Nu-Link调试工具包括Nu-Link-Me(ICE)、Nu-Link-Pro(ICE)和Nu-Link(ICE),并支持1T 8051芯片,如N76E003、N76E616和N76E885。其他较旧的 8051 系列目前不受支持,需要额外的调试工具
    发表于 08-18 08:20

    调试工具:Eclipse调试工具栏与窗口的深入分析

    科技有限公司自研AS32 系列 MCU 芯片的调试应用为研究背景,通过详细阐述 Eclipse 调试环境的搭建、工具栏各功能模块的原理与应用,以及各类
    的头像 发表于 07-07 11:32 622次阅读
    <b class='flag-5'>调试工具</b>:Eclipse<b class='flag-5'>调试工具</b>栏与窗口的深入分析

    请问AIROC™ Bluetooth®测试和调试工具_1.4.2是否支持CYW9RPIWIFIBT-EVK ?

    我想知道AIROC™ Bluetooth®测试和调试工具_1.4.2 是否支持 CYW9RPIWIFIBT-EVK 的Bluetooth®测试? 我查看了该软件的用户指南,第1.3节似乎表明
    发表于 06-25 08:09

    RT-Trace调试工具正式发布!

    嵌入式开发者打造的高性能调试工具。RT-Trace支持SWD/JTAG高速连接,搭载板载显示屏离线交互系统与WebUI实时监控平台,助力代码调试、性能分析、故障排查全流程
    的头像 发表于 06-18 12:02 1199次阅读
    RT-Trace<b class='flag-5'>调试工具</b>正式发布!

    重磅预售!RT-Trace调试工具

    嵌入式开发者注意!调试神器RT-Trace即将登陆淘宝!嵌入式开发从业者们:您是否常被调试效率低下、线程分析不清、故障定位困难所困扰?别愁!专为嵌入式开发者打造的高性能调试工具RT-Trace即将
    的头像 发表于 05-20 18:15 979次阅读
    重磅预售!RT-Trace<b class='flag-5'>调试工具</b>

    Segger RTT调试工具的使用方法

    上一期已经跟着小编介绍的安装步骤,相信大家都已经开始使用了Segger Ozone调试工具。那么今天小编继续趁热打铁,给大家介绍另一个Segger推出的调试辅助工具Segger RTT。
    的头像 发表于 03-28 14:21 2680次阅读
    Segger RTT<b class='flag-5'>调试工具</b>的使用方法

    揭秘Chrome DevTools:从原理到自定义调试工具

    。 作为最常用的调试工具之一,DevTools 不仅能快速定位问题,还能让我们深入了解调试的内部机制。本文将从原理、组成部分、CDP 协议以及自定义调试工具的实现, 带你全面认识 DevTools
    的头像 发表于 03-04 14:49 1204次阅读
    揭秘Chrome DevTools:从原理到自定义<b class='flag-5'>调试工具</b>

    单片机Debug工具性能对比 单片机调试常用命令

    单片机(Microcontroller Unit, MCU调试是嵌入式开发的一个重要环节,它帮助开发者发现和修复代码的错误,优化程序性能。不同的单片机和开发环境可能使用不同的
    的头像 发表于 12-19 09:56 2157次阅读