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**** 1821780 points
Other Parts Discussed in Thread: LP-CC2652RB, CC2652RB, SYSCONFIG
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1339441/cc2652r-synchronization-between-central-and-peripheral

器件型号:CC2652R
Thread 中讨论的其他器件:SysConfig


您好!
外设可以通过何种方式同步中央工作站?

我有两个高优先级传感器、将数据传输到中央站、连接间隔为20ms。
有5ms 的保护时间、以防止连接冲突。
中央站还必须用作外设以将诊断数据发送到另一个中央站。

我有两个 LAUNCHXL-CC2652R1和两个 LP-CC2652RB 套件用于测试。 CCS 12.5、SDK 7.10
下面是角色示例:

1.中央(诊断)- CC2652R1
2.中央设备/外设- CC2652R1
3.外设- CC2652RB
4.外设- CC2652RB

问题在于中央站的连接间隔(没有连接间隔要求)会干扰多角色设备的连接间隔。 我可以通过将中央设备的连接优先级设置为低来解决此问题。

我已经尝试与定期广告列车同步,但这项任务只适用于广告数据。

是否有其他方法可以避免碰撞?

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

    尊敬的 Tomas:

    感谢您的联系。

    要进一步了解您的案例、请帮助我回答以下问题。

    1. 您是如何设置保护时间的? 您可以在 SysConfig 中的 BLE - Advanced Settings - Extended Stack Settings 下看到这一点。 我建议查看 此处的"用户指南"部分。                                                                                                                                                 
    2. 是否为两个中心器件设置了该保护时间?
    3. 此处同步意味着什么?它是为了避免碰撞或使用相同时间戳对传感器数据进行采样? (我只是想确保我们引用的是相同的内容)

    Br、

    大卫。

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

    David、您好!

    感谢您的回复。

    我将尝试回答上述问题。

    1.只有多角色设备才允许使用保护时间。

    2.如果我为中心设备设置保护时间,则不会发生任何情况。 中央设备似乎对多角色设备的锚点一无所知。

    3.我想避免外围设备和中央站的数据发生冲突。 外设采样数据应该具有最高优先级。 发送采样数据的延迟不应超过40ms。 与中央站数据不同、中央站数据可以重新传输。

    此致、

    汤姆

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

    我将从示波器附加一些屏幕截图(IOC_PORT_RFC_GPO0 A IOC_PORT_RFC_GPO1信号)

    两个外设都发送3条包含虚拟数据的通知、连接间隔为20ms。
    中央器件以31.25ms 的连接间隔发送虚拟数据。
    黄色-来自中央的 PA 信号(发送数据)
    橙色-来自外设的 PA 信号(发送数据)
    蓝色-来自多角色器件的 LNA 信号(数据接收)
    绿色-来自多角色器件的 PA 信号(发送数据)

    第一个示例是、 无优先级 位置位。 有多个连接组合(红色矩形)。 黄色矩形显示连接事件超过防护时间时的情况。

    在第二个示例中、中央连接 优先级设置为低  来自中央设备的一些连接间隔 被忽略。 存在一个连接冲突。

    可能这是因为为单个连接事件计算连接公平性机制。

    或者、中央连接事件位于外设连接间隔的末尾、然后没有足够的时间创建外设连接事件锚点。

    此致、

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

    我还补充说、如果中央设备和多角色设备的连接间隔相同、那么它们达到之前只是时间问题。

    相同的连接优先级将导致外设数据延迟。

    将中央站优先级调整为低将因多次丢失连接尝试而断开中央站。

    比调整优先级更好的解决方案是具有同步锚点。

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

    尊敬的 Tomas:

    感谢您提供的信息。

    您可以帮助我做一些额外的测试吗:

    1. 您能否尝试将连接间隔从20ms 增加到30ms?
    2. 您是否可以尝试设置保护时间选项、以便器件在时间上随机安排锚点?

    我正在与一所大学一起回顾这篇文章、以便更深入地了解您的案例。 请多多包涵。

    Br、

    大卫。

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

    David、您好!

    您能否提供有关测试配置的更多信息?

    两个中心设备的连接间隔是否应具有相同的值30ms?
    是否应该 在两个中央设备上将保护时间设置为默认值?
    连接优先级设置(LL_QOS_CONN_TASK_TYPE)应该是多少?

    托马斯

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

    尊敬的 Tomas:

    1. 是的、请尝试增加两个连接间隔。
    2. 是的、两个多角色器件都没有保护时间。
    3. 先尝试、不要将中央的优先级更改为低。

    Br、

    大卫。

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

    David、您好!

    我将连接示波器上的屏幕截图。  第二张照片是在大约12分钟后拍摄的。

    从这里可以看出、由于射频时钟的不精确性、两个中心器件的锚点都在不断变化。

    此致、

    托马斯

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

    尊敬的 Tomas:

    我懂了。

    另一个外设也在发送3条通知、对吗? 类似于来自外设的橙色- PA 信号(发送数据)? 然后在第一个图像中、我们会从另一个外设丢失至少3组数据。 如果您将中心设备设置为低优先级、您是否仍会由于超时而断开连接?

    Br、

    大卫。

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

    David、您好!

    是的、回答正确。 两个外设都发送3个数据包。

    第一张图片显示了 连接公平性 算法的工作原理。 连接优先级相同、因此射频在连接之间切换。

    如果第二个中央站的优先级更改为低、则只要它与外围发生碰撞、射频就不会为中央站提供服务。 这可能会导致断开连接。

    Br、

    托马斯

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

    尊敬的 Tomas:

    对于因公众假期而造成的延误、我们深表歉意。 如果您的支持申请有所不同、请分享该申请的状态吗? 断开连接发生多长时间后、如果这不是您的用例限制、可能会增加超时断开连接。

    Br、

    大卫。

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

    David、您好!

    如果有两个中心设备、我没有发现任何需要避免冲突的缺失或设置。
    我通过反转通信方向解决了我的问题。
    我只有一个中央器件和三个启用了保护时间的外设。 一个外设从中央器件下载诊断数据。

    Br、

    托马斯

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

    我在测试时发现了一些有趣的事情:

    • 具有较高连接优先级的器件始终首先使用。
    • 具有相同连接优先级的设备将交替使用。
    • 广播不会中断外设的连接事件。
    • 周期性广播不会与外设锚点同步。 如果它们与事件具有相同的时间间隔、则可能永远不会发送它们。
    • 在锚点之前的短时间内、可以导致发送周期性广播序列并丢弃连接事件(不知道为什么外设仍然具有更高的优先级)。 如下面的屏幕截图所示。

    黄色:发送定期广播列。
    红色:发送周期性广播序列、并且连接事件被丢弃(不知道原因)
    蓝色:由于外设连接优先级而未发送周期性广播序列

    这些只是我的笔记。 无需担心。

    Br、

    托马斯