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。
提前感谢!