找回密码
 立即注册

微信扫码登录

查看: 42|回复: 4

[BLE SDK] BLE广播过程中死机,从电流曲线分析设备未进入低功耗

[复制链接]

1

主题

1

回帖

19

积分

英勇黄铜

积分
19
发表于 前天 15:24 | 显示全部楼层 |阅读模式 来自 广东深圳
Information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号: TLSR8251F512ET24
SDK及版本: -

基本情况:
1、我的产品是基于BLE adv的遥控器,通过按键唤醒,调用BLE adv start,广播发送若干时间。

2、我在main主循环里面持续判断是否有应用再跑、是否有BLE在发包,如果都没有,则调用cpu_sleep_wakeup(DEEPSLEEP_MODE_RET_SRAM_LOW32K, PM_WAKEUP_PAD, 0);  进入RAM能保存、IO可唤醒的deepsleep模式;
3、当触发特殊的IO唤醒时,调用bls_ll_setAdvEnable 发广播包,此时就不调用cpu_sleep_wakeup了,因为蓝牙协议栈会管理自动进、出低功耗;
4、蓝牙发包间隔有大有小,例如200ms/10s,持续时间有长有短,例如持续1s/持续30min都有;

问题现象:
1、问题出现概率大概10/1w台,这10台异常设备都是卡死在蓝牙发包过程中,没有应用层功能运行的情况下;
2、设备3v供电,在广播过程中死机,死机的时候电流1.6mA,从功耗曲线能看得出来是发完广播包后 没有进休眠 死机了,发包间隔200ms和10s都有出现,死机时外部高速晶振没有关 还在工作;

a54578bd2aad0ee4024254f96404f06c.png

48

主题

280

回帖

1061

积分

版主

积分
1061
发表于 前天 20:05 | 显示全部楼层 来自 上海
你所使用的SDK版本是? 这类问题建议直接联系销售,找FAE直接对接

0

主题

1

回帖

26

积分

英勇黄铜

积分
26
发表于 前天 20:10 | 显示全部楼层 来自 上海
你好,可以告知下 SDK 版本么?
另外,是否是调用 blc_ll_isBleTaskIdle API 判断任务是否空闲?

1

主题

1

回帖

19

积分

英勇黄铜

积分
19
 楼主| 发表于 昨天 11:23 | 显示全部楼层 来自 广东深圳
TL_TZH 发表于 2025-9-8 20:10
你好,可以告知下 SDK 版本么?
另外,是否是调用 blc_ll_isBleTaskIdle API 判断任务是否空闲? ...

你好,我这边因为是交接过来的工程,比较奇怪的是sdk_version.txt里面也没有内容,

当前sdk没有你说的blc_ll_isBleTaskIdle这个API,我是通过blt_state来判断BLE状态的,如果为BLS_LINK_STATE_IDLE,那么我会调用cpu_sleep_wakeup(DEEPSLEEP_MODE_RET_SRAM_LOW32K, PM_WAKEUP_PAD, 0);  

如果是正在广播,那么就不会调deep sleep,由协议栈负责处理

48

主题

280

回帖

1061

积分

版主

积分
1061
发表于 昨天 14:00 | 显示全部楼层 来自 上海
你所使用的SDK版本是? 这类问题建议直接联系销售,找FAE直接对接
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Telink forum ( 沪ICP备17008231号-1 )

GMT+8, 2025-9-10 02:16 , Processed in 0.114153 second(s), 23 queries .

Powered by Telink 隐私政策

泰凌微电子版权所有 © 。保留所有权利。 2024

快速回复 返回顶部 返回列表