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作为中央:随机断开(原因 LL_STATUS_ERROR_CONN_时序 故障- 0x3F)

Guru**** 2553440 points
Other Parts Discussed in Thread: CC2541

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/571254/cc2541-cc2541-as-central-random-disconnection-reason-ll_status_error_conn_timing_failure---0x3f

器件型号:CC2541

您好!

建立连接几秒钟或几分钟后(连接保持时间不超过2-3分钟)、我会遇到随机断开问题(断开原因0x3F)。

CC2541充当中央观测器、并通过 I2C 与主器件通信(CC2541是 I2C 从器件)。

经过几次测试后、似乎只有在 I2C 传输正在进行时建立连接时才会出现此问题。 完成了以下测试:

  • 在建立连接期间和连接期间没有 I2C 传输(I2C 从设备仍处于活动状态)->连接保持至少30分钟。
  • 在建立连接期间进行 I2C 传输、在连接时进行 I2C 传输->在几秒钟(或几分钟)后随机断开(原因0x3F)。

使用的 I2C 从设备驱动程序是德州仪器提供的驱动程序、与中断一起使用。 主器件每200ms 请求8个字节的数据(I2C 频率设置为10kHz)。 使用的 BLE 堆栈版本为1.4.2。

我的问题是:

  • 如何在 I2C 端解决此问题?
  • 如何使用 GAP 参数(或其他方法)设置更可靠的连接?

提前感谢您、
Johann

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可能会以某种方式使控制器感到饥饿、以至于它无法处理每个连接事件、然后它的时序被丢弃、并且它会断开连接。 您可以尝试使用更长的连接间隔、但实际上、您应该通过在应用处理、I2C 驱动程序处理等过程中切换 GPIO 来跟踪根本原因、以弄清控制器处于何种状态
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    经过调查、我发现断开连接问题来自执行 I2C 中断的时间太长。

    I2C 中断如此长的原因是、由于未知原因、主 MCU 在 CC2541生成的总线上检测到意外的启动/停止条件。 I2C 信号显示、当 CC2541拉伸时钟时(I2C 信号 Saleae 逻辑连接到此帖子)、就会发生这种情况。

    您是否有关于 CC2541的 I2C 从驱动程序的任何信息、这些信息可能会有所帮助? 此 I2C 驱动器有任何工作示例吗?

    这个问题很烦人、我花了很多时间来解决这个问题。

    感谢 you.e2e.ti.com/.../CC2541_2D00_I2C_2D00_bug.zip

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

    如果有任何帮助、我们将不胜感激。

    谢谢你。

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

    Johann、

    我会在乎这个。

    此致、Bernd

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

    它是否与 CC2541勘误表中描述的问题相关: www.ti.com/.../swrz049

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

    您好、Fredrik、

    我认为它与此勘误表无关、因为我没有 power_saving 定义。

    此致、
    Johann