工程师们,你们好,
请问为什么连接间隔越小,丢包越少?
又是为什么在速率测试的时候要将连接间隔改大呢?
除了修改连接间隔外还有什么方法可以减少丢包吗?
Susan Yang:
一般来说数据吞吐率,是和数据包长度,每个连接间隔发送的总包数,以及连接间隔三个方面有关,不是包长越长越好,也不是间隔越短越好,必须将三者统一起来一起考虑。
能否详细说下您现在的情况?
GuppyCat:
回复 Susan Yang:
您好,我这边现在要求较高的传输速率(CC2640R2F,例程simple_peripheral和例程simple_central),并且实现极少丢包或者无丢包(至少80KB/s),
从机MAX_PDU_SIZE被设置为251,深度5,每次传输240字节数据;
主机MAX_PDU_SIZE被设置为251,深度为3,每次传输240字节;
连接间隔从机与主机目前设置的是min 6 max 10(也就是7.5ms-12.5ms);现在处于串口开启(串口波特率3Mbps)但未使用情况下,直接产生消息进行发送,6ms丢包约为0.0065%,但最大速率也就39KB/s,不考虑功耗,将速率提至最高(POWER_SAVING已关闭)。
Susan Yang:
回复 GuppyCat:
我们有一个throughput的例子,或许您可以试一下
github.com/…/throughput_peripheral
有许多不同的参数会影响在连接间隔内可以发送的通知数量。在您的示例或用例中,必须权衡并优化/照顾一些权衡取舍。查看此吞吐量示例,以帮助您了解折衷方案并自己衡量吞吐量。此示例在稍旧的SDK上。我们目前正在努力为最新的SDK更新此示例。