核心和内存
ARM Cortex-M 处理器
Cortex-M0+
Cortex-M0+ 是 ARM 最节能的核心。该处理器是 8/16 位设备的自然而经济高效的替代者,同时其工具和二进制算法向上兼容功能丰富的 Cortex-M3 和 Cortex-M4 处理器。
内存和总线系统
Silicon Labs 的 EFM32 32 位微控制器产品系列内置低延迟内存系统,采用具有数据保存功能的低功耗闪存和 RAM,可实现极具吸引力的低能耗模式运行。EFM32 包含 4 主内存分段(闪存、RAM、外部总线接口和低延迟外围设备),其可通过 ARM Cortex-M CPU 或 DMA 控制器访问。
调试接口
EFM32 Cortex-M 设备采用 ARM CoreSight™ 片上调试和跟踪接口。串行线调试技术,特别是适用于 EFM32 的串行线调试端口,可用作片上调试模块和计算机开发环境之间的接口。EFM32 调试接口使现场重新编程和更新系统变得很容易,并允许使用最少的 I/O 引脚进行调试。
调试和编程亮点包括:
- 2 线串行线调试接口
- 调试/编程
- 1 线串行线查看器输出
- 打印样式调试信息
- 功耗 (PC) 采样
- 固件保护用调试锁定
- 预编程引导加载程序
- 所有 EFM32 中的 UART
- 带 USB 的零部件中的 UART+USB
- 5 线嵌入式跟踪宏单元 (EFM32 Leopard Gecko、Giant Gecko 和 Wonder Gecko)
- 指令和数据跟踪
- 指令和数据跟踪
直接存储器存取 (DMA) 控制器
DMA 可在 CPU 未介入的情况下移动数据,从而有效减少能耗和 CPU 工作量。此外围设备可使系统以低能耗模式迁移数据,例如从 USART 迁移到 RAM 或从外部总线接口迁移到 DAC。
- 闪存/RAM 和外围设备间传输
- 多达 12 个通道
- 多个高级传输模式(散集、往复式)
- 减少延迟
时钟管理
时钟管理单元
MCU 的功耗主要来自于时钟和振荡器。时钟管理单元控制 Silicon Labs EFM32 MCU 上的时钟和振荡器,能够单独打开和关闭所有外围设备模块的时钟,并启用/禁用可用的振荡器。结合使用低功耗振荡器和灵活的时钟控制方案即可最大程度减少任何给定应用的能耗。
时钟管理单元具有以下特征:
- 多个时钟源(集成 RC 和晶体振荡器)
- 电流饥饿型振荡器可确保低能耗运行
- 低启动时间
- 动态系统时钟分频
- 32 kHz 外围设备模块时钟预分频器选择
- 时钟门控
下载应用说明:
能耗管理
稳压器
所有 Silicon Labs EFM32 MCU 均配有片上稳压器,其可在运行时将供电电压转变为正确的内部电源。片上稳压器不受供电电压范围 (1.85–3.8 V) 支配,可产生全部所需电压,从而使得给 EFM32 MCU 供电变得极为容易。
电压比较器
电压比较器会在电源电压达到临界水平后发出警报,简单省事。如果电压电平太低,复位管理单元会自动启动复位,电压比较器会比较电源电压和内部带隙基准电压。也可通过软件调整电压比较器的占空比,进一步减少能耗和功能:
- 64 步骤内的可分 VDD,可选作为正比较器输入值
- 内部 1.25 V 带隙基准电压
- 适用于内部 VDD 和带隙基准电压的低功耗模式
- 可选边缘产生的异步中断
上电复位
EFM32 MCU 开启后,上电复位会在达到适当的工作电压后监控输入电源电压和信号,确保该 MCU 拥有正确的启动状态。上电复位外围设备采用超低功耗设计,同时监控外加功率,并在复位原因寄存器内设置复位原因,以供软件使用。
欠压检测器
如果电源电压在运行期间跌至阈值电压以下,“欠压”即已发生。然后,欠压检测器会使 MCU 复位,以防止意外程序执行和数据损坏。EFM32 配备两个欠压监测器,一个用于外部非稳压电源,一个用于 1.8 V 稳压导电轨。
注意:欠压监测器模式已在 EM0 – EM3 模式下启用,并且在 EM4 模式下亦可用于 EFM32 Leopard Gecko、Giant Gecko 和 Wonder Gecko MCU。
串行接口
UART
嵌入式系统经常使用串行通信,UART 可与众多外部设备进行高效通信。UART 是一款极为灵活的串行 I/O 模块,支持全双工和半双工异步 UART 通信。
UART 外围设备的特征包括:
- 各种运行模式、帧格式和可编程波特率可供选择
- 可使 UART 在未解决时保持空闲状态的多处理器模式
- 三重缓冲和 DMA 支持,可在 CPU 最小介入的情况下实现高数据传输率
低能耗 UART
EFM32 低能耗 UART 采用低频 32 kHz 时钟,提供全 UART 通信,并包括必要的硬件支持,可在软件最小介入和最低能耗的情况下实现异步串行通信。低能耗 UART 的优点是其能在 EM2(深度睡眠)模式下运行,同时其他模块关闭,以节约能源。
下载应用说明:了解关于低能耗 UART 外围设备的更多信息
USART
嵌入式系统经常使用串行通信,USART 可与众多外部设备进行高效通信。USART 外围设备可以处理高速 UART、SPI 总线、智能卡和 IrDA 通信,并具有以下特征:
- 异步和同步 (SPI) 通信
- 全双工和半双工
- 独立的接收/传输 2 级缓存
- 可编程波特率
- 各种异步和同步模式支持
- I²S 支持(EFM32 Zero GEcko、Tiny Gecko、Leopard Gecko、Giant Gecko 和 Wonder Gecko)
- 首先通过 LSB 或 MSB 传输数据
- 可配置的数据位和停止位数
- 硬件冲突检测
- 多处理器模式
- USART0 上 IrDA 调制器
- 智能卡模式 (ISO7816)
- 环回模式
I²C 接口
I²C 模块可以仅使用一个数据线和一个时钟线在集成电路之间进行简单、可靠和经济高效的通信。借助 DMA 的帮助,I²C 接口可在 CPU 最小介入的情况下进行 I²C 通信。地址识别在所有能耗模式下均可用,可使 MCU 等待 I²C 总线传输的数据,具有 Sub-μA 的电流消耗。
- 包含多达两台I²C 外围设备
- I²C 和 SMBus 支持
- 数据速率高达 1 Mbps
- EM3(停止)模式下的硬件地址识别
I/O 端口
外部总线接口
外部总线接口是一款多功能异步并行地址/数据总线,其可简化常见外部并行接口设备的访问,如 SRAM、闪存、ADC 和液晶显示器。该接口通过内存映射到 Cortex-M 的地址总线,每次读写时无需 I/O 级存取即可实现无缝软件访问。可通过 DMA 接合外部总线接口,然后在 EM1(睡眠)模式下运行。
- 数据和地址线可进行多路传输,以减少接合外部设备所需的引脚数量
- 每个新品选择库的定时均单独可调,以符合外部设备的规范
- 该接口仅限异步设备使用(无时钟信号可用)
外部中断
Silicon Labs 的 EFM32 MCU I/O 具有 16 个外部中断,可用于发送系统内的事件和状态信号。可以使用嵌套向量中断控制器 (NVIC) 配置外部中断在下降沿/上升沿和不同优先级时触发。Cortex-M 核心处理器支持快速嵌套中断请求,并使系统具备超短响应时间和低延迟能力。
定时器和触发器
定时器/计数器
大多数应用都拥有需要在 CPU 极少介入和功耗极低的情况下精确计时的操作。高频定时器/计数器外部设备可以跟踪定时和计数时间,并产生输出波形,触发其他外围设备的定时操作。
- 多达 3 个 16 位定时器
- 上、下、上/下模式
- 正交解码器
- 3 比较/捕获/PWM
- TIMER0 空载时间插入
- Systick 定时器
- 集成到 Cortex-M
- 操作系统定时器
周边反射系统 (PRS)
Silicon Labs 的 EFM32 微控制器中的周边反射系统可以在不使用 CPU 的情况下直接连接不同的外围设备。借助此系统,外围设备能够产生其他外围设备可以接收并即刻反应的信号,同时 CPU 依然处于睡眠状态。
低能耗定时器
大部分设备关闭后,可以使用低能耗定时器进行定时和输出生成,从而允许在系统功耗处于绝对最小值时执行简单的任务。低能耗定时器也可以连接到实时计数器 (RTC),并可配置为从 RTC 开始计数以比较匹配。借助缓冲重复和最高值寄存器,低能耗定时器可以提供高达 16 kHz 频率的无干扰波形。
- 16 位计数器、8 位重复
- 从 LFXO/LFRCO 开始计时
- 波形生成
- 外部组件/传感器占空比控制
I/O 端口
脉冲计数器
脉冲计数器会在检测到特定数量的脉冲或旋转后中断,以消除定时或 I/O 中断和 CPU 处理需求。外围设备:
- 包括多达 3 个 8/16 位脉冲计数器,
- 计数输入的上升沿或下降沿,和
- 包括方向中断变更(异步正交解码器)。
实时计数器 (RTC)
许多应用存在几乎不需要执行任何操作的长时间间隔。因而,这些时间间隔应设定在睡眠模式中,以节约能源。RTC 外围设备可确保以低能耗模式进行计时。结合使用低功率 32 kHz 振荡器,RTC 可在 EM2(深度睡眠)模式下运行,并且电流消耗低于 0.6 µA。在 EM2 模式下,核心和高速外围设备会关闭,但可以启用 LCD 控制器、低能耗 UART 和 RTC 等低能耗外围设备。
看门狗定时器
看门狗定时器可以在软件故障或外部事件致使 MCU 无响应的情况下,重置系统以恢复已知的安全状态,从而提高应用程序的可靠性。已启用的看门狗定时器执行可配置的超时期限,如果 CPU 未能在超时发生前重新启动看门狗定时器,将会触发系统全面复位。
看门狗的功耗不大,并可使设备在低能耗模式安全保持高达 32 秒。
- 系统故障情况下的定时复位
- 9 至 256k 时钟周期超时
- 从 ULFRCO/LFXO/LFRCO 开始计时
- 锁定以避免意外变更导致启用或禁用选定振荡器
模拟接口
模数转换器 (ADC)
模数转换器 (ADC) 用于将模拟信号转换为数字表示:
- 8 外部输入信道
- 12 位 @ 1Msps,电流消耗仅为 350 µA
- 低至 0.5 μA,1000 个 6 位样本/秒
集成输入混合可从 8 个外部引脚和 6 个内部信号中选择输入。使用 PRS 和 DMA 时,ADC 可在 CPU 未介入的情况下运行,从而最大程度减少通电资源的数量。ADC 可进一步调整占空比设置,以减少能耗。
数模转换器 (DAC)
数模转换器 (DAC) 可在仅消耗有限能源的情况下将数字值转换为模拟信号。使用 DMA 和定时器后,DAC 可用于在任何 CPU 均未介入的情况下生成波形。
- 12 位 @ 500 ksps,电流消耗仅为 200 µA
- 2 独立信道
- 持续的采样保持和采样关闭转换模式
- 正弦生成模式
LCD 控制器
EFM32 MCU 包含一个独立的超低功耗 LCD 驱动器,其中配备内部偏置电压电路和升压转换器以最大程度减少外部组件需求。LCD 驱动器在 EM2(深度睡眠)模式下的电流消耗低于 2 µA,能够驱动分段 LCD 显示屏,最高可达 8x36 个分段。
低功耗 LCD 驱动器支持在应用中、甚至是能耗苛刻系统中使用 LCD 显示屏。
- 升压功能可使其为 LCD 显示屏输入高于设备电源电压的电压
- 动画功能可以在任何 CPU 均未介入的情况下使用 LCD 显示屏播放自定义动画
- LCD 驱动器可在 EM2 模式下保持活跃,并中断帧计数器工作,以定期唤醒设备,更新数据
模拟比较器
通常仅当应用中的模拟信号超出阈值时,应用才需要知道模拟信号的确切值。模拟比较器可用于比较两个模拟输入电压,然后显示数字输出,以表明哪个输入电压更高。输入既可以是某个可选的内部参考,也可以是外部引脚,并且可以直接将比较器输出发送到 GPIO 或 PRS。
- 高达 2 个模拟输入(一正一负)
- 每个比较器具有 8 个输入引脚
- 可配置的速度/电流 4.5 µs / 0.1 µA0.2 µs / 2 µA
- 电容式感应模式
安全
AES 加密加速器
Silicon Labs 的 EFM32 MCU 包括一个硬件 AES 加速器,其可在 CPU 极少或根本未介入的情况下与 128 位区块大小和 128 或 256 位密钥共同使用,显著减少了加密/解密时间。AES 模块是一个 AHB 从模块,可用于高效地访问数据和密钥寄存器。
- 加密/解密
- 128/256 位密钥 @ 54/75 周期
- 比软件快 20–80 倍
- 实时密钥生成
- 无需内存
- 密钥在 128 位模式下缓存
- 无需重新加载密钥
- DMA 支持自主密码模式