在STM32L0和STM32L4系列微控制器中使用LPUART使功耗最小 * ~# @, S1 m/ c" m- N f* B1 a" O 前言 * F9 O9 K- ~2 }; P9 c+ r STM32L0 和 STM32L4 系列微控制器具有复用的 UART 接口,这一设计令 MCU 仅需最小功耗即可工作。 # T7 t) W e, ?7 G ; K, {: i, [. a 本文的目的是解释怎样充分利用低功耗 UART (LPUART)的优势,扩展上述产品的电池寿命。 + t8 O. R U% c& d 它显示了在实际示例中,等待通信设备的极低功耗。软件包 X-CUBE-LPUART 提供了在第 6.1 节和第 6.2 节中所述的用于执行测量的代码,可从 www.st.com 下载。 : j, `5 q* P& ?/ } 下列文件 (也可在 www.st.com 获取)可作为参考: ; C+ n0 Q$ `" t0 N0 L. v" { 2 W# V7 n) {* I2 V7 X# p • 应用笔记 AN4445:“STM32L0xx 超低功耗特性概述 ” • 应用笔记 AN4621:“STM32L4xx 超低功耗特性概述 ” • 应用笔记 AN4746:“ 优化 STM32L4xx 的功耗和性能 ” & z2 M( E8 A8 B4 s. R • 参考手册 RM0351:“STM32L4x6 高级的基于 ARM® 的 32 位 MCU” • 参考手册 RM0376:“ 超低功耗 STM32L0x2 高级的基于 ARM® 的 32 位 MCU”。% E: P7 i4 F. l* ^ 6 \+ l5 E/ G: X' N- e 1 定义 2 特性总结 2.1 L0 和 L4 系列比较 虽然 STM32L4 和 STM32L0 系列上的 LPUART 外设实际上相同,但这两种产品有很大区别。除了 ARM® Cortex® 内核不同,还有其它区别影响了 LPUART 的效率。 ) F; A5 O/ S7 Y0 c6 }2.1.1 时钟子系统 5 M2 l1 E- O& `7 c6 M. K/ p5 h# lSTM32L4xx MCU 可支持更高的时钟速度,这有效地降低了高要求任务的处理时间。 MSI 内部时钟源也因此调整以达到更高时钟速度。这一 MSI 的加速降低了低速的选择范围,STM32L4 MSI 的最低可能频率为 100 kHz,而 STM32L0xx MCU 为 65 kHz。 1 MHz 以下的可选速度是不同的,因此难以直接比较两种 MCU 的效率。另外,在STM32L4 系列中,MSI 可在其 PLL 模式中使用 LSE 硬件自动校准。这使得 MSI 更加精确,而 STM32L0 产品无此选项。 : g4 B+ ?" f8 CSTM32L0 系列对于 HSI 时钟源具有一个简单的时钟因子 4 分频器,这使得 HSI 成为 16 或 4MHz 的有效源。 STM32L4 MCU 在 HSI16 时钟上没有直接的分频器。因此,在一些 UART速度需要高于 9600 Bd 的应用中, STM32L0 可能会高效很多。对于 STM32L4,若 16 MHz不够有效,解决方案为使用第二时钟源做系统时钟。 - A% x3 p( g4 b+ gLSI 时钟频率也有不同,但这与我们的情况无关。 2.1.2 电源管理 B6 M9 A7 f6 QSTM32L4 系列的主调压器仅有两个范围,而 STM32L0xx MCU 有三个。此外,由于有更强的 MCU 支持,这两个范围被移到了更高频率。 非常有用的低功耗运行模式弥补了这一不足。 STM32L0xx MCU 在从 Sleep 或 Stop 低功耗模式唤醒后,无法直接返回至低功耗运行模式,而 STM32L4 系列不存在这一限制。 STM32L4xx 上的低功耗运行也不限于 MSI 范围 1,还能工作于高达 2 MHz 的系统时钟速度。即使在低功耗运行中, HSI16 仍可被用作外设时钟。 2.2 与 USART 外设的比较 ) N+ C% N1 a8 N/ B f9 rLPUART 比 USART 特性更少,但可用更低功耗工作,并可更有效地使用 LSE 时钟。两种外设的主要特性总结于表 2 中。 D# g$ y" y, r' m; ]- j* i% k/ u& `- C; W5 ~- G$ x6 d |
收藏 |
收藏 |
基于STM32L476+64M QSPI接口PSRAM(IPS6404L)开源分享(含源码)
基于STM32L4R9 的QuadSPI Flash 通讯速率不理想经验分享
基于STM32L051使用CubeMX生成工程文件ST系列芯片通用经验分享
基于STM32L051开始添加需要的代码经验分享
STM32L051测试I2C协议设备的添加经验分享
基于STM32L051测试Flash和EEPROM的读写
基于STM32L051串口测试与Enocean模块通讯问题
基于STM32L0的EEPROM读写经验分享
基于STM32L0 ADC使用HAL库关于校准问题经验分享
STM32L4超低功耗功能概述