你好,
我还在使用两个USB Dev Kits测试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%的液滴仍然发生,但第二秒钟仍然存在。但是,无论有效载荷大小如何,我也会获得较低的初始带宽。(6我最初获得1.2Mbps,然后是1Mbps,7个我纯粹的1Mbps,然后0.8Mbps获得1Mbps)。 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_ACTIVE)和USE_BLE_SLEEP设置为0.吞吐量仍然在8秒后退回。
连接参数在两侧连接的事件上有7个,我没有看到任何Conn。在测试期间任一侧的PARAM更新事件。我使用BLE_Central和BLE_PLEIWEL项目作为起点。
Printf只有很少的系统速度慢,但我不使用太多,每500毫秒只有1。我不打算以此速率连续使用该系统,我需要短但高吞吐量突发。但如果带宽因某种原因减少15-20%,这对我而言非常相关。
我目前没有嗅探器,但我会感谢任何进一步的提示,检查什么。
问候,
嗨vargaadam.
您正在使用的连接间隔是什么?在您提到的初始评论中,您提到使用连接间隔6和7.您能澄清它吗?此外,您是否在使用的SDK项目中完成了任何修改?BLE嗅探器会非常有帮助......
谢谢,PM_DIALOG.
你好,
我尝试了间隔6,然后还有7.吞吐量落下总是在8秒后出现。从那时起,我也尝试了间隔10.同样的结果。尝试了不同的有效载荷长度。同样的结果。
是的,我对SDK项目进行了修改,因为BLE中央和外围项目没有L2CAP通信。我修改了必须处理的事件。删除了GATT服务并添加了L2CAP通道创建代码。
问题仍然是,无论我做什么,8秒后吞吐量下降15-20%。目前我不了解低功耗时钟稳定定时器和吞吐量之间的连接。
如果我能提供更多信息,请不要犹豫。
看待,
嗨vargaadam,
我为迟到的回应道歉。可能我错过了你的最后评论。是否有可能分享您所做的修改?您是否执行连接参数更新?
谢谢,PM_DIALOG.
你好,
没关系,这个问题是在此处解决的问题。谢谢!
问候,