0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用STM32WB设计BLE应用时影响功耗的内容

STM32单片机 来源:STM32 作者:STM32WB 2021-06-22 17:47 次阅读

功耗是物联网应用当中非常关键的因素,在开发的早期都会对功耗进行评估和测试。那么,如何使用ST提供的工具对动态功耗进行测量呢?针对BLE应用应当如何进行低功耗的设计呢?本篇跟大家一起聊聊该话题

测量工具

在本文中使用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的功耗了。

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

低功耗模式唤醒源唤醒后系统时钟时钟影响

Sleep中断/事件与进入前一样CPU时钟关闭,对其他时钟或模拟时钟源无影响

LPRUN清除LPR位与进入前一样无

LPSLEEP中断/事件与进入前一样CPU时钟关闭,对其他时钟或模拟时钟源无影响

Stop0/Stop1/Stop2任意EXTI,特定外设事件

STOPWUCK=1,HSI16STOPWUCK=0,MSI

所有时钟关闭,除了LSI和LSE

StandbyWKUP引脚,RTC事件,LSECSS,NRST引脚复位,IWDG重置HSI16

ShutdownWKUP引脚,RTC事件, NRST引脚复位MSI 4MHz所有时钟关闭,除了LSE

STM32WB支持的低功耗模式非常多,首先需要根据应用情况选择一个适合的低功耗模式,能保持BLE连接的低功耗模式主要有Sleep和STOP,

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。

广播参数

使用BLE_HeartRate Demo不需要做任何修改就可以测试不同的广播参数,该demo默认会先进行一段时间快速广播,然后再进入慢速广播。

广播间隔不同,平均功耗不同。

左侧图片的广播间隔为80ms~100ms,平均电流为282.914 uA。右侧图片的广播间隔为1s~2.5s,平均电流为16.443 uA。

可以看出广播间隔的长短对功耗影响很大,所以在设计BLE应用的时候,应当考虑适当降低广播间隔。

为了保证尽快被对方设备发现,可以如ST 心率Demo中的做法类似,首先先进入一段时间的快速广播,然后使用慢速广播,这样既可以保证开机时被发现的速度,又可以降低平均功耗。

连接参数

测试修改连接参数,可以使用ST提供的P2P Demo。注意:只有主机才能修改连接参数。

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

4242969e-cffc-11eb-9e57-12bb97331649.jpg

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

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

由于BLE在没有数据传输时,也会发送空包,所以降低连接间隔,可以降低平均功耗。

如图所示,左边是使用125ms连接间隔测试的结果,右边是使用1250ms连接间隔的测试结果,左边比右边的平均电流要高近 140uA。所以在应用中可以根据具体的应用使用合适的连接间隔来降低平均功耗。

总结

本文介绍了使用STM32WB设计BLE应用时,影响功耗的各方面的内容。低功耗设计的好坏,直接关系到产品的使用时长,往往是优秀产品的必备要素,需要认真掌握。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2239

    文章

    10669

    浏览量

    348683
  • BLE
    BLE
    +关注

    关注

    12

    文章

    608

    浏览量

    58820

原文标题:工程师笔记 | STM32WB BLE应用低功耗设计

文章出处:【微信号:STM32_STM8_MCU,微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32WB配置SMPS模块具体步骤是什么?

    想要降低STM32WB功耗,查找手册发现开启SMPS模块可以降低功耗。配置SMPS模块具体步骤是什么有大佬知道吗?是开启SMPS宏定义,然后写PWR的寄存器就可以了吗?怎么证明自己的SMPS模块-配置正确了呢?
    发表于 03-20 08:18

    STM32WB55开发(1)----监测STM32WB连接状态

    应用中,监测和管理连接状态显得尤为关键。确保可靠连接不仅对于数据的实时传输至关重要,而且在面对低功耗需求、设备管理和故障诊断时,都有着不可或缺的作用。 本文将深入探讨STM32WB的连接状态监测机制。我们
    的头像 发表于 12-01 15:41 389次阅读
    <b class='flag-5'>STM32WB</b>55开发(1)----监测<b class='flag-5'>STM32WB</b>连接状态

    如何让STM32WB在没有LSE时运行BLE应用程序

    如何让STM32WB在没有LSE时运行BLE应用程序
    的头像 发表于 10-24 16:41 224次阅读
    如何让<b class='flag-5'>STM32WB</b>在没有LSE时运行<b class='flag-5'>BLE</b>应用程序

    STM32WB系列上开始使用Zigbee

    本应用笔记将指导设计者完成基于 STM32WB 系列微控制器构建特定 Zigbee®应用程序所需的所有步骤。阐明了如何与STM32WB 系列微控制器连接,同时还整合了与 Zigbee®相关的最重
    发表于 10-09 17:30 0次下载

    应用笔记 | STM32WB基于Custom Template实现客户定制BLE私有协议

    关键字:STM32WBBLE私有协议,定制   目录预览 1.引言 2. STM32CubeMx 实现步骤 3.测试平台搭建及功能测试 4.小结 0 1 引言 STM32WB55是一
    的头像 发表于 10-08 17:40 959次阅读

    STM32WB BLE应用低功耗设计

    电子发烧友网站提供《STM32WB BLE应用低功耗设计.pdf》资料免费下载
    发表于 09-20 14:58 4次下载
    <b class='flag-5'>STM32WB</b> <b class='flag-5'>BLE</b>应用低<b class='flag-5'>功耗</b>设计

    STM32WB的用户密钥存储(CKS)

    电子发烧友网站提供《STM32WB的用户密钥存储(CKS).pdf》资料免费下载
    发表于 09-20 14:47 0次下载
    <b class='flag-5'>STM32WB</b>的用户密钥存储(CKS)

    STM32WB硬件、软件、BLE功耗设计及速率优化

    电子发烧友网站提供《STM32WB硬件、软件、BLE功耗设计及速率优化.pdf》资料免费下载
    发表于 09-20 11:47 3次下载
    <b class='flag-5'>STM32WB</b>硬件、软件、<b class='flag-5'>BLE</b>低<b class='flag-5'>功耗</b>设计及速率优化

    STM32WB系列微控制器起动流程

    电子发烧友网站提供《STM32WB系列微控制器起动流程.pdf》资料免费下载
    发表于 09-20 11:02 1次下载
    <b class='flag-5'>STM32WB</b>系列微控制器起动流程

    使用STM32WB系列微控制器构建无线应用

    电子发烧友网站提供《使用STM32WB系列微控制器构建无线应用.pdf》资料免费下载
    发表于 09-20 10:15 0次下载
    使用<b class='flag-5'>STM32WB</b>系列微控制器构建无线应用

    STM32WB系列的ST固件升级服务

    本文档介绍了 STM32WB 系列微控制器可用的固件升级服务(FUS)。这些服务由位于嵌入式 Flash 存储器安全部分中的意法半导体代码提供,可供通过用户 Flash 存储器在 Cortex
    发表于 09-12 09:34 0次下载

    STM32WB产品详解及FUS无线协议栈升级

    STM32WB产品详解及FUS无线协议栈升级2.4GHz无线双核STM32WB, 采用SoC单芯片设计,支持多协议射频。
    发表于 09-06 06:35

    STM32WB系列微控制器的最小BOM

    STM32WB 系列微控制器旨在最大限度地减少所需的外部组件数量,以确保最佳 RF 性能。本文档详细介绍了 Bluetooth®低功耗应用的材料清单(BOM)。QFN48 封装用作参考,但对其有效的考虑可轻松扩展到其他封装。 。
    发表于 09-05 06:34

    STM32WB BLE协议栈编程指南

    本文档的主要目的是为开发人员提供有关如何使用 STM32WB BLE 协议栈 API 和相关事件回调开发低功耗蓝牙(BLE)应用的一些参考编程指南。本文档介绍了允许访问
    发表于 08-14 10:13

    STM32WB无线产品介绍

    电子发烧友网站提供《STM32WB无线产品介绍.pdf》资料免费下载
    发表于 07-31 16:50 1次下载
    <b class='flag-5'>STM32WB</b>无线产品介绍