[FAQ(常见问题解答)] FAQ_如何在24G私有协议应用中实现低功耗模式及低功耗唤醒功能

nmg   2019-10-21 11:41 楼主

本文作者:ST工程师

点击下载pdf文档查看:

问题
一些客户基于 ST 的 2.4G 方案设计产品,需要用到低功耗模式及相关的低功耗唤醒功能。低功耗唤

醒方式包括定时唤醒和 GPIO 唤醒。

背景: 有些客户在做上述功能会依照典型低功耗蓝牙的产品的应用方式,调用低功耗蓝牙协议栈中的 某些 API,诸如函数:BlueNRG_Stack_Initialization 和 BTLE_StackTick 来实现其低功耗模式。这样做是 错误的。其实 2.4G 私有协议和低功耗蓝牙协议在单个应用中是互斥的,不能同时存在。

所以问题就变成了,如何基于 ST 的 2.4G 私有协议参考方案实现低功耗模式及低功耗唤醒功能。

 

回答

1. 客户可以基于ST软件包中的SleepTX/RX演示代码,按照下面的步骤确认相关功能。下图一 给出了测试平台,使用 1 块 LPM01A 板子测试 ST 评估板上的 BlueNRG-1/2 的实时功耗。

 

a. 在参考代码主环中注释掉调用函数“BlueNRG_Sleep”的代码行,重新编译、烧录程序后可以得到 如图二的实时功耗波形,发现其底电流在 5000uA 左右,说明芯片没有进入低功耗模式;在参考 代码主环中恢复调用函数 “BlueNRG_Sleep”的代码行,重新编译、烧录程序后可以得到如图三的 实时功耗波形,观察其底电流,说明芯片可以进入低功耗模式。

Screen Shot 2019-10-21 at 11.35.38 AM.png

Screen Shot 2019-10-21 at 11.35.46 AM.png Screen Shot 2019-10-21 at 11.35.54 AM.png

b. 在代码文件“main_common.h”做如下更改,增大WAKEUP_TIME到5秒.

Screen Shot 2019-10-21 at 11.36.47 AM.png

c. 在出现主环中更改代码如下,添加IO13作为唤醒源,低电平有效(对应EVAL板上的 PUSH1 按钮)。

Screen Shot 2019-10-21 at 11.36.53 AM.png

d. 下图四中显示了上电后固定的5秒发包间隔和使用PUSH1按键后系统唤醒过程中的实 时功耗波形。

Screen Shot 2019-10-21 at 11.37.20 AM.png

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复