你好,
我还在使用两个USB Dev套件测试L2CAP带宽(请在周三,2020-01-01 16:24查看我的早期帖子)。我看到某些模式,我无法解释。
第一个,见附图(pic.pdf)。复位后,当中央连接到Periph时。前8-10分,所以我总是得到1.1-1-2Mbps(任务打印每500ms的带宽)。之后它会下降约。15-20%。然后在一段时间后它下降到一半。我测试了几种有效载荷大小(245 - 1751字节),连接间隔为6,PHY 2M,DLE 251字节,它总是这样发生的。当我将连接间隔设置为7时,在8-10秒后,前15-20%的液滴仍然发生,但第二秒钟仍然存在。但是对于7个间隔,我也可以获得较低的初始带宽,无论有效载荷大小如何。(最初有6个我获得1.2Mbps,然后是1Mbps,7个我的恰当地获得1Mbps,然后0.8Mbps)。 There is no memory leak in the main task, idlehook gets time.
间隔6在每500ms的单个数据包中有75-80个数据包,然后它每500ms下降到65-70个数据包(用ad_ble_get_lld_stats检查)。
间隔7在每500ms的情况下,有67-70个数据包,然后它下降到每500ms的56-58个数据包(用ad_ble_get_lld_stats检查)。
第二个是一个观察:无论有效载荷大小如何,可用的信用总是减少一个。为了我对每个PDU的理解(251bytes),应扣除一项信贷。如果我在MTU大小的2个字节内设置有效负载大小,我只能扣除两项积分。我可能错了。
你可以给我一个暗示我应该检查的东西,为什么15-20%的下降在8-10秒后发生?
谢谢你!
设备:
嗨vargaadam,
如前所述的论坛线程中提到,总的来说,SIG未添加2MPS以增加吞吐量,而是增加带宽,因此可以共存更多的BT设备。我强烈建议您使用BLE嗅探器检查连接间隔是否完全使用。在UART中打印延迟系统。带宽下降可能的可能原因可能是:
谢谢,PM_DIALOG.
你好,
我将PM_SLEEP_MODE_SET(PM_MODE_ACTION)和USE_BLE_SLEEP设置为0. 8秒后吞吐量仍然掉回。
连接参数在两侧连接的事件上有7个,我没有看到任何Conn。在测试期间任一侧的PARAM更新事件。我用BLE_Central和BLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLE_PLEE。
PrintF只有很少的系统慢慢慢,但我不使用太多,只有每500ms只有1。我不打算以此速率连续使用该系统,我需要短但高吞吐量突发。但如果带宽因其与我而言非常相关的15-20%而减少。
我目前没有嗅探器,但我会感谢任何进一步的提示,何心权。
问候,
嗨vargaadam.
您正在使用的连接间隔是什么?在您提到的初始评论中,您提到使用连接间隔6和7.您可以澄清吗?此外,您是否在使用的SDK项目中完成了任何修改?BLE Sniffer会非常有帮助......
谢谢,PM_DIALOG.
你好,
我尝试了间隔6,然后还有7.吞吐量落下总是在8秒后出现。从那时起,我也尝试了间隔10.结果。尝试了不同的有效载荷长度。同样的结果。
是的,我已经对SDK项目进行了修改,因为BLE中央和外围项目没有L2CAP通信。我修改了必须处理的事件。删除了GATT服务并添加了L2CAP通道创建代码。
问题仍然是,无论我该做什么,8秒后吞吐量下降15-20%。目前我不了解低功耗时钟稳定定时器和吞吐量之间的连接。
如果我能提供更多信息,请不要犹豫。
看待,
嗨vargaadam,
我为迟到的回应道歉。可能我错过了你的最后评论。是否有可能分享您所做的修改?您是否执行连接参数更新?
谢谢,PM_DIALOG.
你好,
没关系,这个问题在此期间得到解决。谢谢!
问候,