你好对话团队!
我们目前正试图通过BLE4.2和BLE5特性获得最高的传输率。
为此,我们使用两个DA14585,一个是从属的,另一个是中心的。
一旦中心连接到从服务器,它就能够对某个特征进行通知。
一个按钮按下奴隶触发突发通知。
为了启用BLE4.2和BLE5功能,我们在代码中使用以下选项:
-连接间隔设置为8毫秒
-将ce_len_min / ce_len_max设置为0
- MTU在255通过调用gattc_set_mtu(0, 255);在连接的从端
——定义AUTO_DATA_LENGTH_NEGOTIATION_UPON_NEW_CONNECTION
-要传输的特征是251字节长
有了这些选项,我们的带宽达到了260kbps,这已经很不错了,但是没有BLE5中预期的那么高。
如果我们将连接间隔设置为100ms,我们可以检查251个值通过1个长包发送,每个连接间隔(见附图)。
数据长度扩展是启用的。
但是,我们想知道为什么DA14585按连接间隔发送的数据包不超过1个。将ce_len_min / ce_len_max设置为0,我们认为中央将允许在第一个包之后有更多的包。
我们还尝试将ce_len_min / ce_len_max设置为100 ms,但结果相同。
作为第二个增强,我们想知道是否PHY LE 2M是由DA14585(核心v5§3.2.2)支持的?我们如何实现这一点?
谢谢你的帮助。
设备:
嗨eolanecaen,
对于PHY LE 2M, 585的堆栈不支持该功能。关于DLE的问题以及为什么设备不在相同的连接间隔内启动一个新的事务,据我从power profiler所知,外围设备有更多的数据要发送。我认为设备发送更多的数据,因为我可以看到周围有其处方开为了听中央(不会出现为了设备发送的数据),但是我不知道究竟发生了什么,如果设备确实发送更多的数据,除非我有一个嗅探器日志。您能否尝试将最大值放在ce_len_max (0xFFFF)中,并检查是否允许您在一个连接事件中发送更多数据包?如果你有一个嗅探器捕获,它也将有助于检查这一点,因为我不能从电力消耗太多。从经验来看,是的,如果设备有足够的数据缓冲在,它将发送更多的数据包比标准大小在一个连接间隔。
由于MT_dialog
你好MT_dialog。
这里附加了一个嗅探器捕获的交换我们的中心和DA14585奴隶。
在附加的交换中,数据长度扩展是启用的,然而我们的嗅探器无法理解,显示的数据包长度是错误的。
我们尝试在一个连接间隔内发送更多的3个通知,但是只有一个帧是由从属连接间隔发送的。
连接间隔为30毫秒
CE_min是30毫秒
CE_max是200毫秒。
任何暗示感激!
致以最亲切的问候
嗨eolanecaen,
我不能告诉从嗅探器日志,我所能看到的是,周边没有出现第二次交易而情况并非如此,从外围功耗显示,我的意思是嗅探器日志表明外围从未听后第二次发送数据包和分析器获取力量表明,中央没有回答在外围听。我认为嗅探器日志出现故障的原因是它不支持DLE。我唯一可以复制的问题1或最大2大数据包连接间隔是通过限制ce_len_min ce_len_max user_central_conf下,如果例如我将其设置为0,那么我只能看到1包几乎2连接间隔期间,所以你确定你设置在建立连接吗?您可以通过使用ble_minevttime_get()函数来检查这一点。
由于MT_dialog