打印
[STM32WB]

STM32WB BLE 应用低功耗设计

[复制链接]
587|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
前言
功耗是物联网应用当中非常关键的因素,在开发的早期都会对功耗进行评估和测试。那么,如何
使用 ST 提供的工具对动态功耗进行测量呢?针对 BLE 应用应当如何进行低功耗的设计呢?本篇
跟大家一起聊聊该话题。

使用特权

评论回复
沙发
黑心单片机|  楼主 | 2021-12-29 20:13 | 只看该作者
测量工具
在本文中使用 CubeMonitor-Power + Power Shield 的组合工具对 STM32Nucleo 开发板的动态功
耗进行测量。
CubeMonitor-Power 是 ST 提供的上位机软件,主要帮助用户动态的测量功耗。用户可以设定采
样频率,采样时间,输入电压等。其界面如下:

X-NUCLEO-LPM01A 是 ST 提供的一块功耗测量的评估板,它可以配合 CubeMonitor-Power 上
位机软件,对目标板的动态功耗进行测量,方便开发者对功耗进行评估。其特性如下:
• 可编程电压源范围:1.8v~3.3v
• 静态测量

电流范围:1nA~200mA

• 动态测量:

电流范围:100nA~50mA
• 100KHz 带宽,3.2Msps 采样率
• 功耗测量范围:180nW~165mW


X-NUCLEO-LPM01A 与 STM32WB Nucleo 板的连接如下所示,完成连接后就可以通过上位机控
制和测量 Nucleo 的功耗了。


低功耗模式



不同低功耗模式的区别主要如下:


STM32WB 支持的低功耗模式非常多,首先需要根据应用情况选择一个适合的低功耗模式,能保
持 BLE 连接的低功耗模式主要有 Sleep 和 STOP,所以选择 Sleep 模式和 STOP2 模式进行测量
后结果如下:



图中红色脉冲代表的是设备的周期性广播,从测试结果来看 STOP2 模式比 Sleep 模式功耗低很
多,所以应用在不在乎唤醒时间的情况下,应当尽可能进入 Stop2 模式。


使用特权

评论回复
板凳
黑心单片机|  楼主 | 2021-12-29 20:14 | 只看该作者
SMPS
LDO 是一种线性电源,它的优势在于结构简单,电流纹波比较低,但电源效率偏低。
SMPS 是一种开关电源,它的优势在于电源效率高,损耗小,但由于频率较高会对周围设备造成
一定的干扰,需要注意。

通过修改 Nucleo 板子上的 SB31 可以控制 LDO 还是 SMPS 供电:
SB31 打开:SMPS 打开
SB31 关闭:SMPS 关闭
软件侧,打开 SMPS,修改 app_conf.h 代码如下:
#define CFG_USE_SMPS 1
功耗测量结果如下:

关闭 SMPS,使用 LDO,修改 app_conf.h 代码:
#define CFG_USE_SMPS 0
功耗测量结果如下:

从以上图片可以看出,使用 SMPS 无论是平均电流还是低功耗状态下的电流都要更小,所以应当
尽可能使用 SMPS。

使用特权

评论回复
地板
黑心单片机|  楼主 | 2021-12-29 20:15 | 只看该作者
广播参数
使用 BLE_HeartRate Demo 不需要做任何修改就可以测试不同的广播参数,该 demo 默认会先
进行一段时间快速广播,然后再进入慢速广播。

从图中可以看出,广播间隔不同,平均功耗不同。
左侧图片的广播间隔为 80ms~100ms,平均电流为 282.914 uA。 右侧图片的广播间隔为
1s~2.5s,平均电流为 16.443 uA。
可以看出广播间隔的长短对功耗影响很大,所以在设计 BLE 应用的时候,应当考虑适当降低广
播间隔。
为了保证尽快被对方设备发现,可以如 ST 心率 Demo 中的做法类似,首先先进入一段时间的快
速广播,然后使用慢速广播,这样既可以保证开机时被发现的速度,又可以降低平均功耗。

使用特权

评论回复
5
黑心单片机|  楼主 | 2021-12-29 20:17 | 只看该作者
连接参数
测试修改连接参数,可以使用 ST 提供的 P2P Demo。注意:只有主机才能修改连接参数。

通过 Button SW2 按键,切换并测试不同的连接参数,代码修改如下图:
打开 Button SW2 的中断:

关闭 trace 后,可以使能低功耗:

连接 dongle 后,按下 Button 后,切换不同的连接参数:

功耗测量结果如下:

由于 BLE 在没有数据传输时,也会发送空包,所以降低连接间隔,可以降低平均功耗。
如图所示,左边是使用 125ms 连接间隔测试的结果,右边是使用 1250ms 连接间隔的测试结
果,左边比右边的平均电流要高近 140uA。所以在应用中可以根据具体的应用使用合适的连接间
隔来降低平均功耗。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

72

主题

515

帖子

0

粉丝