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.

[参考译文] CC2652R:外围设备和中央高速缓存问题之间的参数更新/握手

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1076726/cc2652r-param-update-handshake-between-peripheral-and-central-cache-issue

部件号:CC2652R

我遇到了与教区更新相关的奇怪行为。 以下是我的外围设备设置。 当我的中心建立与外围设备的连接时,它会等待参数更新后再执行一些数据交换,因为我需要保证低延迟。 奇怪的是,我用相同的软件(和相同的随机地址)刷新了完全相同的设备,但第二个设备永远不会更新其参数。 即使在重置所有设备后也是如此。 如果我递增 RandomAddress,参数 将按预期更新。 对我来说,这听起来像是中央 ROM 中保存的某种缓存,也许告诉它不需要发送参数更新或其他内容,但我有点卡滞,随机地址似乎是一个大问题。 感谢您的深入见解,

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

    您好,Matt,  

    这听起来像是应用程序级别的一个问题。 我建议您执行以下操作:

    • 使用协议分析器(BLE 嗅探器)评估连接更新是否正确发送。 如果不可能,您可以在设备发送连接更新请求时使用某些断点进行检查。  
    • 如果设备未绑定,请验证行为是否重现。  
    • 考虑使用低延迟连接参数直接建立连接  

    我希望这将有所帮助,  

    此致,

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

    我确信这里还有某种形式的“离线”或非易失性高速缓存,在 完全断电后更改外围设备的地址会改变中央的行为,这毫无意义。 我最终建立了低延迟参数,这似乎对我的 iOS 中央应用程序很有影响,我假设该应用程序请求的连接间隔为~30毫秒,而不是默认设置的7.5毫秒(以及对基于 TI 的低延迟中央设备的需求)。

    为此,我对  在示波器上测试从外周到中心的7.5毫秒连接间隔的一致性感到非常高兴。 据我所知,没有简单的方法可以知道真正的延迟是什么,因此在闭环系统中,我只需假设延迟是7.5毫秒,并将其作为“线路延迟”,即使在2.4GHz 拥挤的环境中,延迟也是非常稳定的。