使用恩智浦的 i.MX RT500 Crossover MCU 优化电源管理
本文介绍了微控制器电源管理概念。 NXP i.MX RT500 系列跨界 MCU 将用于提供示例,说明嵌入式开发人员如何在其应用中采用这些电源管理概念。
MCU 设计人员的一个关键考虑因素是如何管理和分配电源。如果不考虑 CPU 时钟、内存和外设,设计人员可能会发现自己无法从设计过渡到实际的物理产品。
本文介绍了微控制器电源管理概念。这将包括 MCU 功耗模式的讨论以及它们如何影响设备的运行、部件在每种模式下消耗的电流量以及 MCU 从低功耗模式中唤醒所需的时间。我们还将研究 MCU 的 I/O 引脚和 SRAM 配置如何影响设备的整体功耗。 NXP i.MX RT500 系列跨界 MCU 将用于提供示例,说明嵌入式开发人员如何在其应用中采用这些电源管理概念。 i.MX RT500 MCU 提供电源控制和电源管理功能,使设备能够以尽可能低的功率运行。
i.MX RT500 跨界 MCU 概述
i.MX RT500 是一个双核微控制器系列,基于强大的 Arm® Cortex®-M33 内核,时钟速度高达 200 MHz。 i.MX RT500 系列提供丰富的保护功能,例如 Arm TrustZone® 和支持八个区域的内置内存保护单元 (MPU)。 CASPER 加密协处理器支持硬件加速,以提升非对称加密算法所需的各种功能。 PowerQuad 硬件加速器是 i.MX RT500 跨界 MCU 的另一个高效协处理器,它帮助主 CPU 执行 DSP 计算。 i.MX RT500 适用于安全和低功耗的嵌入式 HMI 应用程序、物联网设备、耳戴式设备和智能消费设备,因为它具有额外的高度优化的 Cadence® Tensilica® Fusion F1 音频 DSP、具有矢量图形加速功能的专用 2D GPU、以及各种显示界面。
图 1. i.MX RT500 MCU 适用于为现代嵌入式 HMI 应用程序提供动力,这些应用程序需要快速且视觉上令人愉悦的图形和用户界面。图片由恩智浦提供。
复杂的混合信号 MCU 通常在片上包含多个电源,以改善电源控制并减少电源噪声串扰。对于电源控制,内核可以在低于 I/O 的电压下运行。此外,MCU 未使用的部分可以在不使用时断电。为了抑制噪声,输入/输出和数字逻辑的噪声电源可以与片上模拟功能隔离。
作为使用独立电源轨的示例,i.MX RT500 系列 MCU 有四个独立的电源轨,为内部电路的不同部分供电:
- VDDCORE 轨为芯片的主逻辑、DSP、外设和内存供电。该电源轨可在 0.6 V 和 1.1 V 之间调节,工程师可以自由使用设备的内部 PMU(电源管理单元)或使用外部 PMIC(电源管理 IC)。所需电压取决于 CPU 时钟分频器之前的内核时钟频率。
- VDD1V8 是一个 1.8 V 电源,用于驱动除 ADC 和比较器之外的片上模拟功能。该轨还为内置 PMC 模块供电,包括带隙、POR、温度传感器以及内核低压和高压检测。 VDD1V8_1 线为片上数字逻辑供电。
- VDD_AO1V8 电源轨为始终开启的设备部件供电,例如 RTC、RTC 唤醒定时器、始终开启的 POR 以及 RESET、LDO_ENABLE、PMIC_IRQ、PMIC_MODE0 和 PMIC_MODE1 引脚。即使在移除其他电源轨的电源时,该电源轨也会提供唤醒源,从而允许 MCU 从其中一种深度掉电模式中唤醒。
- VDD_IOn 为 MCU 的 GPIO 引脚供电。 VDDIO_0、VDDIO_1、VDDIO_2 和 VDDIO_4 提供 1.8 V,VDDIO_3 提供高达 3.6 V 的电源电压。
调查 i.MX RT500 MCU 的电源模式
现代 MCU 通常提供多种操作模式,这些模式将功耗交换为性能。在最高功率设置下,CPU、存储器和片上外设均启用并以可能的最高时钟频率运行,从而提供最大的功能。为了降低功耗,睡眠和掉电模式可用于降低时钟频率、降低电源电压,甚至完全关闭 MCU 未使用的部分。
在 i.MX RT500 MCU 中,内置电源管理控制器 (PMC) 允许微调电源输入条件以满足特定应用的要求。为此,当芯片以较低的时钟频率运行或设备处于深度睡眠模式时,MCU 允许在 VDDCORE 轨上使用较低的电压。当芯片处于掉电模式时,可以完全关闭 VDDCORE 线。默认情况下,PMC 为核心逻辑设置适当的电压电平。但是,可以使用外部 PMIC 结合 MCU 的 PMIC 引脚来达到相同的效果。
电源管理模块支持五种电源管理模式(从高到低的功耗顺序):
- Active
复位后MCU以主动模式上电,嵌入式系统工程师可以通过改变特定系统寄存器的值来改变设备的默认电源配置。可以在运行时更改电源配置,例如,通过使用专用电源 API。在这种模式下,CPU、存储器和外设的时钟被启用,并且大多数模块可能处于正常模式、低功耗模式或关闭,如嵌入式应用程序员所定义的。此外,活动模式允许系统设计人员和程序员通过控制哪些外设、内存块和附件保持活动状态来微调功耗——i.MX RT500 参考手册的第 8.4.1.1.1 节提供了有关此的更多详细信息.
- 睡眠
在此模式下,PMC 停止系统 CPU 的时钟,暂停指令,直到出现复位信号或中断。该模式允许开发人员配置外设以在 CPU 保持挂起时继续运行。这些外设可以产生唤醒 CPU 的中断,并使 MCU 返回到 PDRUNCFG 和 PSCCTL 寄存器定义的功耗模式。休眠时,CPU 会维护其内部寄存器和 SRAM 的值。 I/O 引脚的逻辑电平也保持静态,除非有源外设改变它们的状态。因此,这种功耗模式消除了 CPU、内存系统和内部总线使用的动态功耗。请注意,睡眠模式不会改变 CPU 时钟——它只会禁用 CPU 的时钟。
- Deep-Sleep
此模式会禁用 CPU 的时钟,如果未进行其他配置,还会关闭片上外设和模拟块的时钟信号。嵌入式程序员可以通过软件自由配置各个模块,使其在正常、低功耗或关闭状态下运行。设备寄存器和启用的 SRAM 部分保留其值。电源配置文件 API 允许选定的外设,例如 USB、DMIC、SPI、I2C、USART、WWDT、RTC 和微滴答定时器在深度睡眠模式下保持活动状态。 i.MX RT500 参考手册的第 8.4.1.3.1 节提供了有关深度睡眠模式的更多详细信息。
- 深度掉电
在这种模式下,除RTC外,整个芯片的电源和所有时钟都被禁用。这种措施意味着 SRAM 和寄存器,除了 RTC 模块中的那些,不能保留它们的值。此外,只要器件由外部供电,所有功能引脚都是三态的。此模式没有其他配置选项。
- 完全深度掉电
该模式禁用除 VDD_AO18、VDD_AO1V8 和 VDD_EAO 之外的所有外部电源。唤醒源可能会触发 VDD1V8 和 VDDCORE 域中的 POR。
从状态 4 和 5 唤醒会经历整个 RESET 过程。
MCU 具有专用的 PMIC_MODE 引脚,用于在状态之间切换时将状态更改传达给外部 PMIC。最初,这些引脚只有一种预定义状态,嵌入式编程器必须通过软件配置 PMIC_MODE 引脚。在活动模式下,MCU 控制 PMIC_MODE 引脚。当 MCU 在其中一种低功耗模式下运行时,外部 PMIC 将获得控制权。详情请参阅参考手册的 8.4.2.1 节。
唤醒过程和典型的唤醒时间
直观地说,与启用更多外设和电路的睡眠模式相比,MCU 从更深的睡眠模式中唤醒需要更长的时间。电源必须稳定,晶体振荡器必须启动才能使重新启用的电路正常工作。在深度睡眠模式下,唤醒 MCU 的资源通常有限
对于 i.MX RT500,系统时钟为 200 MHz 的睡眠模式的典型唤醒时间约为 150 µs。从深度睡眠模式,设备需要大约 120 µs 才能唤醒。由于 RESET 序列,将 MCU 从完全深度掉电状态唤醒大约需要 8.64 毫秒。请注意,这些时间不能保证,并且有一些限制。有关更多详细信息和测试条件,请参阅官方数据表第 1.3.4 节。同样需要注意的是,芯片总是唤醒到活动模式。
要在低功耗模式下唤醒 MCU,嵌入式编程器必须配置一个或多个唤醒源。在睡眠模式下,任何导致中断和 HWWAKE(Flexcomm 接口和 DMIC 子系统活动)的外设都可以唤醒 MCU,如前所述。在深度睡眠模式下,可以唤醒各种唤醒源,例如引脚中断、复位引脚、Flexcomm 外设、DMA、DMIC、HWWAKE、SDIO、HASH-AES、CASPER、PowerQuad、ADC、DSP、USB 和 ACMP上 MCU。除了这些唤醒源之外,看门狗定时器、RTC、uTick 定时器和 OS 事件定时器等各种定时器也可以使 MCU 周期性地从睡眠模式返回。当 MCU 处于深度掉电模式时,RTC 和系统复位是唤醒设备的唯一途径。
I/O 引脚的动态和静态功耗
I/O 引脚是总功耗中经常被忽视的一个方面。 I/O 引脚会影响总静态和动态功耗。根据每个引脚的内部上拉电阻设置和电压电平,静态电流可能会流动并增加设备的整体功耗。 I/O 引脚在切换时也会满足 MCU 的动态功率要求。很多时候,MCU 数据表的功率数字甚至不包括任何 I/O 引脚功耗,因为它取决于应用程序,取决于外部负载和 I/O 的开关频率。
i.MX RT500 MCU 的不同功耗模式会影响各种片上外设,并自动禁用设备上的某些电路以降低其整体功耗。请注意,大多数 GPIO 引脚在复位时会禁用其内部上拉和下拉电阻器以及输入缓冲器。例如,某些引脚具有不同的配置,以便于调试。但是,这种行为会导致未使用的 GPIO 引脚默认为高阻抗模式,复位时禁用相应的输入缓冲器,除非程序员在 IOCON 寄存器中另有指定。深度掉电模式下,I/O引脚默认悬空。
睡眠模式和深度睡眠模式下的功耗
现在让我们使用 i.MX RT500 MCU 来详细了解系统的主时钟频率和 VDDCORE 上的电压如何影响设备的整体功耗:
| 12MHz | 24MHz | 48MHz | 96MHz | 192MHz |
主动模式 (DSP 无时钟) | 1.62毫安 0.7V | 2.5毫安 0.7V | 4.33毫安 0.7V | 9.35mA 0.8V | 20.73毫安 0.9V |
睡眠模式 (DSP 无时钟) | 1.8毫安 0.7V | 4.78毫安 1.0V | 5.78毫安 1.0V | 7.78 毫安 1.0V | 9.66毫安 0.9V |
深度睡眠和深度掉电模式会禁用主 CPU 时钟,还可以关闭 SRAM 的区域,这会影响部件的整体电源电流要求。下表列出了深度睡眠模式下有源电源轨的电源电流,其中 128 KB SRAM 通电,内部 LDO 禁用,阵列开启,外围在 25 °C 左右的环境温度下关闭:
电源轨 | 典型电流消耗 |
VDD1V8 | 8.5 uA |
VDDCORE | 42 uA |
VDD_AO1V8 | 0.79 uA |
所有 VDDIO 轨组合 | 5.61 微安 |
VDDA_1V8 | 11.8 uA |
VREFP | 0.02 uA |
USB1_VDD_3V3 | 1.10 uA |
因此,器件在深度睡眠模式下的典型电流消耗约为 70 微安。请参阅器件数据表中的表 11 和 12,了解更多详细信息和确切的测试条件。当 MCU 处于深度掉电或完全深度掉电模式时,典型的电源电流约为 15 µA。
SRAM 节能注意事项
电源管理还必须考虑片上存储器。对于闪存等非易失性存储器,存储器可以断电而不会丢失任何内容。对于 SRAM,嵌入式设计人员必须决定在使用低功耗模式时是否需要保留存储器的内容。值得庆幸的是,许多 MCU 产品允许设计人员在完全数据丢失时最大节能和完全数据保留时减少节能之间进行选择。
i.MX RT500 设备包含多达 5 兆字节的片上静态 RAM,分为多达 32 个独立的分区。每个分区都可被两个 CPU、两个 DMA 引擎和所有其他 AHB 总线主控访问。除了其他功能外,还可以将每个模块独立置于低功耗保持模式或将其完全关闭以降低设备的整体功耗。这个动作是可能的,因为每个内存分区由内存块本身和连接内存阵列本身所需的外围设备组成。嵌入式应用程序设计人员可以通过关闭外围设备同时保留存储器阵列本身的内容来节省功耗。
考虑到这一点,嵌入式程序员应该明白,相对于较高的 SRAM 分区,较低的 SRAM 分区往往更节能,因为每个 SRAM 分区在设备内的物理位置会导致电流消耗变化:
图 2. 在尝试降低 MCU 的整体功耗时,开发人员应该倾向于使用较低的 SRAM 分区而不是较高的 SRAM 分区。图片由恩智浦提供。
i.MX RT500 电源管理应用笔记和 i.MX RT500 系列参考手册更详细地讨论了各种节能措施。
用于电源控制和电源管理的 i.MX RT500 MCU
在设计任何项目时,保持电力是至关重要的。 i.MX RT500 跨界 MCU 提供电源控制和电源管理功能,使设备能够高效运行,同时需要尽可能少的电源。在活动模式下,CPU、存储器和外设的时钟被启用,并且大多数模块可能处于正常模式、低功耗模式或关闭,由嵌入式应用程序员定义。
恩智浦网站提供有关 i.MX RT500 功能和应用的更多信息。它还提供不同的培训材料,例如应用说明、视频和点播网络研讨会。
行业文章是一种内容形式,允许行业合作伙伴以编辑内容不太适合的方式与 All About Circuits 读者分享有用的新闻、消息和技术。所有行业文章都遵循严格的编辑指南,旨在为读者提供有用的新闻、技术专长或故事。行业文章中表达的观点和意见是合作伙伴的观点和意见,不一定是All About Circuits或其作者的观点和意见。
嵌入式
- Mouser:带过流保护的固定频率降压电源模块
- 瑞萨电子开发具有虚拟化辅助功能的 28 nm MCU
- 瑞萨电子:Synergy 平台添加了具有高级安全性的低功耗 S5D3 MCU 组
- 电源管理 IC 支持应用处理器系列
- Manhattan Skyline:带有 NXP i.MX 8MM 的紧凑型 ARM COM
- congatec:带有 NXP i.MX 8M Mini 处理器的新 SMARC 模块
- 参考设计简化了 FPGA 电源管理
- 具有睡眠模式的树莓派关机电路
- 使用 Scott Deckers 进行变更管理 (PODCAST)
- 使用 WMS 优化医疗保健供应链
- 通过劳动力管理系统降低风险
- 工厂管理中团队合作的力量