你好对话小组!
我们目前正在尝试使用BLE4.2和BLE 5功能获得最高的转移率。
为此,我们使用2 da14585,一个是奴隶,另一个是中心。
一旦中央连接到奴隶,它就能够在其中一个特征上通知。
从Alave触发器触发突发通知的按钮。
要启用BLE4.2和BLE5功能,我们使用以下选项代码:
- 连接间隔设置为8毫秒
- CE_LEN_MIN / CE_LEN_MAX设置为0
- 通过调用gattc_set_mtu(0,255)255处的MTU;在连接的奴隶侧
- 定义的auto_data_length_negotiation_upon_new_connection.
- 要传输的特征是251字节
通过这些选项,我们达到了260 kbps的带宽,这是非常好的,但在BLE中的预期并不多。
如果我们将连接间隔设置为100 ms,我们可以检查251个值是否通过1长数据包发送,每个连接间隔(见附图)。
因此,已启用数据长度扩展。
但是,我们想知道为什么这种情况DA14585不通过连接间隔发送超过1个数据包。将CE_LEN_MIN / CE_LEN_MAX设置为0我们认为中央将在第一个后允许更多数据包。
我们还尝试将CE_LEN_MIN / CE_LEN_MAX设置为100 ms,但结果相同。
作为第二种增强,我们想知道PHY LE 2M是否由DA14585支持(CoreV5§3.2.2)?我们怎样才能启用这个?
谢谢你的帮助。
设备:
嗨Eolanecaen,
关于PHY LE 2M,没有从585的堆栈中支持该功能。关于DLE的问题以及为什么设备在相同的连接间隔中没有启动新事务,就我可以从电源分析器中告诉外围设备有更多数据来发送。我假设该设备有更多的数据发送,因为我可以看到外围设备的RX打开,以便侦听中心(从未提出过设备以发送其余数据),但我可以“T究竟究竟发生了什么,如果设备确实有更多的数据发送,除非我有嗅探器日志。您能否请尝试将最大值放在CE_LEN_MAX(0xFFFF)中,并检查一下是否可以在一个连接事件中发送更多数据包?此外,如果您有嗅探器捕获,它也会有助于检查这一点,因为我无法从功耗中讲解太多。根据经验,是的,如果设备已经有足够的数据缓冲,它将在一个连接间隔中发送比标准尺寸大的数据包。
谢谢mt_dialog.
你好mt_dialog。
这里有一个嗅探器捕获我们在DA14585上的中央和从站之间的交换。
在连接的交换中,启用数据长度扩展,但是我们的嗅探器无法理解,然后显示的数据包长度错误。
我们尝试在单个连接间隔中发送更多3个通知,但是从连接间隔仅由从设备发送一帧。
连接间隔是30毫秒
ce_min是30毫秒
ce_max是200毫秒。
任何提示都赞赏!
此致
嗨Eolanecaen,
我无法从嗅探器的日志中讲多少,我所能看到的就是外设第二次用于交易,而这不是外围设备的功耗指示的情况,我的意思是嗅探器日志表示外设在发送数据包后第二次侦听外设,电源分析器捕获表示中央在外设侦听时从不回复。我想错误的嗅探器日志的原因是因为它不支持DLE。唯一可以通过连接间隔用1个或最多2个大数据包复制问题的唯一方法是通过限制user_centran_conf下的ce_len_min和ce_len_max,如果例如,我将它设置为0,则在连接期间,我只能看到1个问题2间隔,你还清你在建立连接期间要设置这个吗?您将能够通过使用ble_minevttime_get()函数来检查。
谢谢mt_dialog.