
1 NUCLEO-WBA65RI低功耗模式介绍NUCLEO-WBA65RI 开发板搭载的是 STM32WBA65PI 超低功耗 MCU,该芯片的低功耗模式主要有睡眠模式、停止模式和待机模式,具体介绍如下: 睡眠模式 :这是较浅的低功耗模式。在此模式下,CPU 内核时钟停止,Cortex-M 核停止运行,但像 GPIO、UART、SPI、定时器等所有外设的时钟仍然处于运行状态,代码执行也会立即暂停。进入方式是调用 停止模式 :属于深度睡眠模式,此模式下关闭所有时钟,内核和全部外设均停止工作,不过 SRAM 和寄存器内容会完整保留,GPIO 引脚也会保持进入停止模式前的状态。可以通过配置电源控制寄存器(PWR_CR),并调用 待机模式 :该模式是最深的低功耗模式,此时会关闭电压调节器,导致内核电压域完全断电,SRAM 和寄存器内容基本会丢失,所有时钟停止,大部分 GPIO 引脚变为高阻态。进入待机模式需要通过配置电源控制寄存器(PWR_CR),再调用 stop2 模式 :这是 STM32WBA6 系列特有的停止模式,相比传统的停止模式进一步优化了功耗,当实时时钟开启时,stop2 模式仅消耗 5μA 电流,能为设备在运行状态和待机状态之间,提供了全新的中间状态选择。 上述几种模式的功耗随着外设的配置和使用有比较大的差别,本次评测主要对比工作和最低的standby待机模式,可以看到变化很大。其中stop2模式基本停止,工作,这个需要外部来重新启动。 2 低功耗模式的测量采用如下的连接方法,就是从JP2连接一个电流表就可以读取电流,经过LDO的电压是稳定在3.30V,所以采用电流测量可以对应于功耗测量。 NUCLEO-WBA65RI 开发板通过跳线(JP2) 连接主芯片(STM32WBA65PI)的供电回路。移除该跳线后,将电流表(或切换至电流测量模式的万用表)接入原跳线位置,即可让电流表与芯片的供电回路 “串联”。这样一来,就能直接测量芯片在运行过程中(包括 Stop2、待机等低功耗模式)的实时电流消耗。 确保 SB1 处于 “ON(导通)” 状态*: SB1 是开发板上的 solder bridge(焊桥,一种小型可配置连接点),用于控制芯片的主供电回路。当 SB1 导通时,电源才能通过 JP2(即接入电流表的位置)为芯片供电;若 SB1 断开(OFF),芯片供电回路会中断,无法测量到电流。
3 实际代码和测量结果3.1 这里先使用standby代码如下
3.2 本代码使设备进入待机模式(Standby Mode),并通过外部复位或 RTC(实时时钟)唤醒定时器将设备从该模式唤醒。 在配套软件中,系统核心配置与运行流程如下: 时钟与定时配置 :
待机与唤醒时序 :
唤醒后行为 :从待机模式唤醒后,程序执行会像经历软件复位(RESET)一样重新开始。 LD1 和 LD3 两个 LED 灯来直观显示系统当前状态,对应关系如下:
上述 “上电→运行→待机→唤醒→重新运行” 的流程无限循环执行。 3.3 演示在正常时7.8mA 进入低功耗小于0.01mA 实际切换到uA档,读数2.9uA,比标称的数据还要小。 综合起来这次低功耗测试的结果显示,效果非常明显。 |
【NUCLEO-WBA65RI评测】WireShark分析作为USB HID device设备的包和速度
【NUCLEO-WBA65RI评测】3.P2PServer学习双向数据交互
【NUCLEO-WBA65RI评测】物联网 LED
【NUCLEO-WBA65RI评测】蓝牙体温计
【NUCLEO-WBA65RI评测】Home Assistant 物联网心率计
【NUCLEO-WBA65RI评测】功耗测试
【NUCLEO-WBA65RI评测】介绍、环境搭建、工程测试
【NUCLEO-WBA65RI评测】使用最新STM32Cube Clang/LLVM工具链开发一个blink
【NUCLEO-WBA65RI评测】2.连接板卡,读取设备数据
【NUCLEO-WBA65RI评测】数据吞吐量例程测试