灵活的功耗模式能够促使开发人员安排独立系统活动,从而优化整体功耗。提供多种可以在低功耗模式下运行且可以在不唤醒 CPU 的情况下被唤醒执行其功能的外设,是这方面的关键技术。一些 MCU 还提供外围设备,只能执行有限功能的特殊低功耗工作模式(例如较低的工作频率和电压)以进一步优化应用功耗,甚至可以设计优化功耗的特定外设,即BLE 无线电可以采用支持低功率无线通讯的设计。
影响功耗的另一个因素是非易失性(NV)内存访问,尤其是使用闪存(NV存储器)存储固件代码的 MCU。闪存访问的任何优化都会大大降低功耗,其目标是尽量减少闪存访问的频率。这里使用了两种常用的技术,其中一种是提供一个高速缓冲存储器。这样,实际的代码存储器(闪存)就无需在每个执行周期都被访问。另一种方法是增加一个周期内获取的数据量,通过使用范围更广的闪存访问降低闪存的访问频率。
基于物联网的 MCU 也可以提供灵活的电源系统。在支持宽电源电压范围的情况下,MCU 可以由多个电源供电。例如像健身跟踪器这类简单的物联网应用,可以由纽扣电池来供电,而智能手表这类复杂的物联网应用则需要由 PMIC (电源管理集成电路)供电。另外,一些 MCU 通过其内部的降压转换器来有效地调节自身电源。
在考虑 MCU 的功耗模式时,超越其基本架构十分重要。例如,标准 ARM CPU 内核支持运行、睡眠和深度睡眠。附加功耗模式通常由特定的 MCU 供应商添加。例如,赛普拉斯的 PSoC 6 BLE MCU可执行包括,低功耗运行、低功耗睡眠和休眠状态在内的六种工作功耗模式。
图4:PSoC 6 BLE MCU 的功耗模式转换示例
多处理器 MCU(加快并行应用程序任务的运行速度):基于物联网系统功能特性的增长,其复杂性也随之增加,而实际尺寸则越来越小。MCU 制造商的目标是提高系统的性能,同时尽可能降低尺寸和减少功耗。多核 MCU 和片上系统(SoC)通过在单个芯片中集成更多功能和最大限度地减少芯片面积提供更高的性能。多核处理器是包含两个或更多个独立核心(或 CPU)的 MCU 或 SoC。这些内核通常集成在单个芯片上,它们也可以作为一个封装中的多个芯片。
多核 MCU 有助于提供高性能并保持小尺寸。可穿戴设备等典型的物联网设计需要多个MCU,包括:一个用于无线通信的 BLE 控制器、用于执行用户界面的 Touch MCU 和一个用来实现该应用程序运行的主要的 MCU。这三种 MCU 的功能可以由一个高度集成的多核 MCU 提供。
多核 MCU 可带来许多其他益处。例如,它可以集成足够的资源使 CPU 能够并行处理密集型任务,从而充分发挥多任务处理的效率。这也使开发人员可以有效地将系统事件分配给特定的内核,从而达到功耗和性能目标。再比如,在双核可穿戴设计中,可以将需要较少 CPU 干预的周期性功能(例如无线广播和触摸感应)分配给一个内核。其他“频繁接触”的功能,如需要 CPU 频繁干预的传感器融合等,可以分配给另一个内核。当在系统中运行多个应用程序时,这种分区缩短了延迟时间。通过整合协议栈和程序存储器的集成还可以提高效率。
图5:物联网多核 MCU 示例
图6表示的是一个多核 MCU — 赛普拉斯 MCU PSoC 6 BLE。该双核 MCU 具有两个32位 ARM Cortex CPU — Cortex-M4 和 Cortex-M0+。这两个 CPU 都是具备一个32位的数据路径、寄存器和存储器接口的32位处理器。Cortex-M4是专为实现短中断响应时间、高代码密度和高32位吞吐量同时保证严格的成本和功耗预算而设计的主 CPU。Cortex-M0+ 作为辅助 CPU,用于提供网络安全、物理安全和保护功能。Cortex CPU 执行 Thumb指令集的一个子集,并具有两种被称为线程模式和处理者模式的操作模式。这些 CPU 在退出复位并执行应用程序软件时会进入线程模式。为了处理异常情况,CPU 会进入处理者模式。当所有异常处理完成后,CPU 返回到线程模式。