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.

[参考译文] CC2642R:CC2642与 CC2640R2F 的通信时间

Guru**** 2625255 points

Other Parts Discussed in Thread: CC2640R2F, CC2642R

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1051997/cc2642r-cc2642-communication-time-with-cc2640r2f

器件型号:CC2642R
主题中讨论的其他器件:CC2640R2F

大家好、

过程:当使用 CC2642 (主器件)连接 CC2640R2F (从器件)时、在发送数据包时会在主器件中打开一个计时器以读取当前计时器计数值(使用 GATT_WriteCharValue 函数); 在从器件接收到来自主器件的数据后、通过 Notify 将数据完整地发送回主机、主机在 ATT_Handle_Value_Noti 中接收到数据后立即读取定时器值。

减去这两个计时器值、然后乘以时钟刻度(使用48MHz 晶体、1/48000000)、从而产生大约20ms 的时间。

问题:时间太长了、客户在手机(Android)上使用 BLE 调试助手进行测试、得到的 Tome 只有1到3ms。 客户希望知道有什么方法可以缩短这段时间。

您可以帮助检查此问题吗? 谢谢。

此致、

樱桃

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

    您好、Cherry、

    我看到了减少往返时间的多种可能方法、但我想知道客户的设置是否正确。 客户应将连接间隔设置为尽可能短。 但是、BLE 器件的最小连接间隔为7.5ms。 因此、中央器件发送 WRITE 命令所需的平均时间至少应为7.5/2 = 3.75ms。 我不确定是否也必须在同一连接事件中发回通知、但如果不是、器件可能需要另外7.5ms 的时间才能响应。 我建议尽可能缩短连接间隔、并删除其他可能挤占器件快速响应的任务。

    最棒的

    不需要

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

    你好、Nate、

    感谢您的回复。

    客户提供了以下信息:

    [报价 userid="358670" URL"~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1051997/cc2642r-cc2642-communication-time-with-cc2640r2f/3892874 #3892874">客户应将连接间隔设置为尽可能短。 但是、BLE 器件的最小连接间隔为7.5ms。 因此、中央器件发送写入命令所需的平均时间至少应为7.5/2 = 3.75ms。

    1.客户按照12.5+5*N 公式连接从属设备时,将连接间隔设置为12.5+5 = 17.5ms。

    2. 可以将最大连接间隔和最小连接间隔设置为相同的值吗? 客户检查标准蓝牙协议、要求最小连接间隔不能大于最大连接间隔、即小于或等于。

    3.对于一个主从设备下的连接间隔,因为主机逐个连接多个从设备(不能同时连接)。 当中央器件(主机)向多个从器件发送数据时、主机的连接间隔如何变化?

    如果可能发生此类问题:在主器件向第一个从器件发送指令后、第一个从器件通过 Notify 立即向主器件发送数据、但由于主器件正在与另一个从器件通信、在这种情况下、主器件能否从第一个从器件接收 Notify 数据?

    下图 显示了与 BLE 调试助手通信的从器件(CC2640R2F)的屏幕截图、显示了从器件设置的时间为1-4ms、连接间隔为17.5ms。

    在您提到的7.5/2ms 内、数据的接收传输是否在连接间隔内发生在连接事件中? 与文档中的图片一样、 数据的发送接收仅占用连接间隔的一小部分。 也就是说、如果中央器件发送从器件、而从器件发回中央器件、那么在连接间隔的另一个连接事件中、它可能会非常短?

    谢谢、此致、

    樱桃

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

    您好!

    我是否知道最新问题是否有更新?

    谢谢、此致、

    樱桃

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

    您好、Cherry、

    - CC2640R2F 和 CC2642R 器件接受任何蓝牙兼容连接间隔。 换句话说、最小值为7.5ms、允许任何(n * 1.25ms)值。

    -用于连接的连接间隔会导致中央设备与外设之间的协商。 只要中央设备和外设预期的连接间隔范围重叠、一切都将按预期工作。 如前所述、绝对允许在最小和最大连接间隔使用相同的值。  

    -具有多个连接不会影响每个连接的连接间隔

    -一般情况下、GATT 请求和 GATT 响应不会在相同的连接间隔内发生。 通常、仅在以下连接事件中发送响应。

    我希望这将有所帮助、

    此致、

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

    您好 Clement、

    [引用 userid="370266" URL"~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1051997/cc2642r-cc2642-communication-time-with-cc2640r2f/3895084 #3895084"]具有多个连接不会影响每个连接的连接间隔

    对于问题3、您能解释得更多吗?  当多个从器件同时向主机发送数据时、主机只同时从单个从器件接收数据的剂量?

    [引用 userid="496057" URL"~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1051997/cc2642r-cc2642-communication-time-with-cc2640r2f/3893491 #3893491"]如果可能会发生此类问题: 主器件向第一个从器件发送指令后、第一个从器件通过 Notify 立即向主器件发送数据、但由于主器件正在与另一个从器件通信、主器件在这种情况下能否从第一个从器件接收 Notify 数据?

    对于此假设、您能否提供更多详细信息?  

    谢谢、此致、

    樱桃

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

    您好!

    -中央为每个连接定义一个不同的锚点。 然后、每个连接的连接事件会定期发生。 可能会发生一些冲突-尤其是在连接间隔不同的连接多的情况下-但一般来说、没有理由让两个外设同时发送数据。

    -一旦 GATT 客户端(本例中处于中央位置)启用了 GATT 通知的接收、就不会再发送请求。
    在这里、每个连接都有一个特定的锚点。 换句话说、为每个连接保留一个时隙。

    此致、