This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC1352P7:BLE 广播在运行数天后停止传输

Guru**** 2415600 points
Other Parts Discussed in Thread: CC1352P7

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1224653/cc1352p7-ble-advertisements-stop-transmitting-after-several-days-of-operation

器件型号:CC1352P7

背景

我们围绕 CC1352P7构建了一个定制模块、该模块具有+14dBm 900MHz 专有射频和+20dBm BLE、使用 DMM 来实现时间片。

(我们创建了 LP_CC1352P7-2配置、请参阅此处: CC1352P7:如何修改 CC1352P7-1开发套件 CCS syscfg、以将 PA 操作切换到(BLE) 2.4频段、而不是 Sub-GHz 频段? -蓝牙论坛- BluetoothRegistered︎ 支持- TI E2E 支持论坛)

我们主要使用6.10.00.29 SDK、但我们尝试过6.41.00.17 SDK 却具有相同的结果。

我们从 Simple Peripheral 项目导出了应用。

我们有一个 Ellisys BLE 嗅探器。

我们打开了异常处理程序、堆栈检查和堆监控器。

我们没有看到任何指示堆栈已熔断或堆损坏的指示器。

问题来了

我们有10多个电路板、可运行我们的应用固件几天。

移动应用会定期进行 BLE 连接(每隔10s)、持续时间为0.5-1.5秒。  

固件 一次仅允许连接1个 BLE。

至少1-3个电路板将进入停止发送 BLE 广播的状态、但固件的所有其他功能继续正常运行、包括能够在 Sub-GHz 网络上进行 TX/RX。

我们的应用代码会调用 GapAdv_enable (advHandleLegacy、GAP_ADV_ENABLE_OPTIONS _USE_MAX_EVENTS、1);每300ms 调用一次。 即使返回成功、也不会发送广告。

我们一直无法在 TI 开发套件上重现、尽管开发套件缺少我们电路板上的某些硬件。

我们无法 通过提高 BLE 或 900MHz 接口的传输速率来更频繁地出现此问题。

BLE 在建立连接后始终停止工作。  GAP_LINK_ENTERMIND_EVENT 绝不会发出信号。

我们已经通过多次实验将问题与自定义应用固件隔离、但即使是基本应用也会出现问题。

问题

哪些已知触发器可以导致 BLE 接口以这种方式停止广播?

是否可以通过提取 BLE 堆栈的状态(寄存器/API 调用)来帮助确定其可能被卡住的方式?

是否有办法在不复位整个微处理器的情况下对 BLE 堆栈进行软复位?