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.

[参考译文] BLE-STACK:SPP 服务器->客户端通信在传输~19kB 后增加了延迟

Guru**** 2587365 points
Other Parts Discussed in Thread: CC2650, BLE-STACK

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/597962/ble-stack-spp-server---client-communication-increased-latency-after-19kb-transferred

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

我正在研究基于 SPP 示例的应用、其中 SPP-Server (BLE 外设、基于 CC2650的定制板)必须将其 UART 上接收到的大量数据(几 MB)传输到 SPP-Client (BLE Central、CC2650 Launchpad)、 它通过自己的 UART 发送接收到的数据。

用于此目的的协议通过一次传输大约1000字节(SPP-Server -> SPP-Client)、等待确认(SPP-Client -> SPP-Server)、然后传输下一个1000字节的 blob 来工作。

这种方法相对较好、但我看到传输延迟(SPP-Server 上的 RX 数据在 SPP-Client 上显示为 TX 数据所需的时间)在发送19个数据包后大幅增加。 这可以在下图中看到。

图3 (通道0)是 SPP-Server 的输入 RX 数据、而图4 (通道6)是 SPP-Client 的输出 TX 数据。 可以看出、从 blob 20和 on 中、延迟要大得多。 它从前19个电极的大约25ms 增加到下一个电极的几乎200ms、并且是完全可重复的。

我也可以在另一个方向上看到类似的情况(不过在图中看不到)、其中延迟(对于小得多的数据包、~40字节)会从大约25ms 到几乎100ms。

是否有任何关于这可能是什么原因的想法? 它是否与内存不足相关、从而在顶层协议和 BLE 连接间隔之间遇到不幸的时序、这与其他问题有关?

两个器件都运行 BLE-Stack 2.2.1。

提前感谢!

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

    您是否使用昨天推出的最新更新? 此外、在 serial_port_service.c 中、您能否尝试注释应用程序回调的函数:

    //如果字符值发生更改,则使用回调函数通知应用更改
    if ((notifyApp!= 0xFF)&& SerialPortService_AppCBs && SerialPortService_AppCBs->pfnSerialPortServiceChange)

    // SerialPortService_AppCBs->pfnSerialPortServiceChange( notifyApp );


    看看这是否会产生任何影响?

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

    您好、Zahid、

    感谢您的建议!

    关于更新、您是否参考了 GitHub 上的提交示例? 那么不可以-由于我们的项目添加了很多我们自己的代码、我们无法直接使用 SPP 示例。 您是否想到了可能会有所不同的承诺部分?

    另外,我还尝试了注释您建议的行-没有帮助:/