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.

[参考译文] CC2541:CC2541意外停止广播(无连接)并在没有任何干预的情况下恢复(大约2h50分钟)

Guru**** 2563970 points
Other Parts Discussed in Thread: CC2541, BLE-STACK

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/566985/cc2541-cc2541-unexpectedly-stops-advertising-with-no-connection-and-recovers-back-around-2h50mins-without-any-intervention

器件型号:CC2541
Thread 中讨论的其他器件: BLE-STACK

所有、

我们的项目 将 基于 CC2541的 BLE 模块用于室内导航服务。 我们遇到了一个问题、即 BLE 意外停止广播(无连接)并在没有任何干预的情况下恢复(大约2h50分钟)。  有趣  的是、没有 BLE 广播的时间段实际上大约为2小时40~50分钟、但发生在随机时间和随机器件上。  在实验中很难进行复制。  已尝试 BLE 监听器3个广播通道、但未找到任何内容。  已通过 验证电源/时钟等确保 BLE 模块仍然有效。只有重置或重新启动才能帮助它恢复广播工作。  正在进行 v1.4.2 迁移、但不确定这对这一特定症状有什么帮助。

搜索 E2E 知识库、发现有几个小组以前遇到过此问题。

https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/p/493289/2077908#2077908

https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/p/366747/1783701#1783701

https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/496291

请 BLE SIP 供应商 在 下面实施上述建议、但不起作用。

将 HAL_SLEEP_ADJ_TICKs 设置为35  

2.注释掉 HCI_EXT_ClkDivOnHaltCmd (HCI_EXT_ENABLE_CLK_DIAL_ON_HALT)

背景信息:

CC2541 BLE SIP 模块

外设配置文件设置 开始作为 BLE 信标进行广播

启用 节能模式的 BLE 堆栈版本1.4.0。

 

问题是否已解决?

BLE 广播信号消失的主要根源是什么? (即环境射频干扰触发 BLE FW 内的计时器等)  

我们是否有方法 通过 BLE 堆栈诊断 BLE 广播状态? (即、如果我们知道 BLE 未从堆栈寄存器广播、我们的系统 MCU 可以向 BLE 模块发送复位请求以将其恢复回...)

查找任何输入和建议。 谢谢您...

此致、

:KH

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

    您是否有其他任务的优先级高于 BLE 任务?

    您是否正在使用以下命令?

    HCI_EXT_ClkDivOnHaltCmd (HCI_EXT_ENABLE_CLK_DIVIDE_ON_HALT);
    HCI_EXT_HaltDuringRfCmd (HCI_EXT_HALT_During_RF_DISABLE);

    如果是、请在注释后尝试。

    关于您的另一个问题:
    "
    我们是否有方法通过 BLE 堆栈诊断 BLE 广播状态? (即、如果我们知道 BLE 未从堆栈寄存器广播、我们的系统 MCU 可以向 BLE 模块发送复位请求以将其恢复回...) "

    您可以注册广播事件回调(HCI_EXT_AdvEventNoticeCmd)、并启动看门狗(确保超时大于您的广播间隔)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Christin:

    感谢您对本广告停止问题的支持~!
    我在此帮助 KH S 描述问题并添加更多信息。

    1.您是否有其他任务的优先级高于 BLE 任务?
    =>不、我们遵循"SimpleBLEPeripheral"项目、没有添加其他新任务。

    2.您是否使用了以下命令?
    =>不,我们已经注释掉了后续 API
    //HCI_EXT_ClkDivOnHaltCmd (HCI_EXT_ENABLE_CLK_DIALL_ON_HALT);
    ///HCI_EXT_HaltDuringRfCmd (HCI_EXT_HALT_AALT_DISABLE_RF_DISABLE);

    除了以上两条命令外,我们还尝试将 HAL_SLEEP_ADJ_TICKs 设置为25至35,
    但这个问题仍然会发生。

    我们还启用"power_saving"编译器选项、然后使用
    Oral_pwrmgr_task_state (HAL_TaskID、HAL_PWRMGR_SAVE_EVENT)
    以在广播时进入低功耗模式。

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

    根据我们的 BLE 模块供应商的意见、我们在创建此 TT 之前确实应用了建议。 但它不起作用。

    今天、我收到了来自 TT e2e.ti.com/.../2079209的回复
    它指出、我们描述的症状在 BLE-Stack v1.4.1 (2015年5月)中通过以下修复得到了解决
    -修复了慢速唤醒上可能的竞态条件 T2ISR 与 T2E1的问题

    我们是否可以得出完整的解决方案应该包括以下内容?
    1) 更高版本的 BLE-Stack v1.4.1
    2) 注释掉 HCI_EXT_ClkDivOnHaltCmd (HCI_EXT_ENABLE_CLK_DIALL_ON_HALT)和 HCI_EXT_HaltDuringRfCmd (HCI_EXT_HALT_ALT_AING_Rf_DISABLE)
    3) 将 HAL_SLEEP_ADJ_TICKs 设置为35 (通过另一个讨论)

    当意外未发生 BLE 广播时、时间周期实际上是每次2h40~50分钟。 我们不知道为什么会发生这种情况、以及导致 BLE 模块进入此无广播循环的因素是什么? 在 BLE-Stack v1.4.0中、2h40~50mins 计时意味着什么? 谢谢你。

    此致、
    :KH
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    正在关闭。 讨论移至 e2e.ti.com/.../493289