你好,
我通过以下步骤重现这个问题
- 带连接间隔的中央/最大值设置为50
- 中心连接到6,7或8个外围设备
- 连接到外围设备后,每个连接的Central集合间隔min / max到25
- 连接参数在中央和外围侧无误差更新并完成
发生了什么:
Cconnection事件计数器(由ad_ble_get_lld_stats()和cmac_info_table_ptr->ble_conn_evt_counter提供)在中心端行为错误(在我看来),因为对于某些连接,事件计数器的行为与预期一致(计数器增加的速率是两倍),但对于某些连接,该速率保持与设置50相对应。这只发生在中心端,所有外围计数器都根据新的连接间隔(25)增加。通常在8个连接中,总是第1、6、7和8个连接计数器被损坏。这直到6个连接才会发生。根据各方的api,连接参数更新成功。我不确定连接间隔本身是否更新了,但即使更新了,conn. event计数器也应该保持中央和外围设备的同步。
我正在使用SDK 10.0.8.105和DA14695用于中央和外围设备。
你能检查一下,或者解释我出错的地方吗?
问候,
设备:
嗨vargaadam,
让我检查一下,我会回复你。
谢谢,PM_DIALOG.
嗨vargaadam,
是否有可能提供BLE嗅探器捕获,这样我们就可以了解在空中发生的事情?您是否可以澄清多外围功能是否按预期工作?你在空中检查了包的序列吗?你能看到正确的顺序吗?如果您可以提供额外的输入和解释您的问题,那么了解问题是非常有帮助的。
谢谢,PM_DIALOG.
你好,
我没有嗅探器,也没有检查消息时间。问题是相对于外围端,中心端上的事件计数器变得不同步。
一个例子:
我连接到8个外围设备50.最小/最大连接间隔。
因此,连接间隔计数器在中央和外设侧同步,这意味着即即。在1秒内,他们增加了16次(正确相应62.5ms间隔)。
然后我在中心拨打ble_gap_conn_param_update()25.最小/最大(0从,300监督)为所有连接索引。我得到相应的连接参数更新和连接参数更新完成的事件显示成功。在外围,一切都显示出udpate的发生。
然后,如果我检查连接间隔计数器,我看到在中央,它在1秒内增加32.时间(对应31.25Ms间隔)为第2,第3,第4和第5连接,但只增加16.第1,第6,第7和第8个连接指数的时间。所有外围展示32.事件计数器的时间增加。
因此,当我看到连接间隔计数器时,将变为des同步。如果我记得正确,它只发生在5个连接以上。
问候,
嗨vargaadam,
拥有嗅探器捕获是非常有帮助的,以便我们可以理解更好的问题。但是,非常感谢解释。
如果我理解正确的话,一旦中央向所有连接的外设发送连接参数更新,就会发生这种去同步,因此连接间隔从50ms更改为25ms。虽然连接间隔是50ms(更新之前),但连接间隔计数按预期工作。
中央是否将连接参数更新请求发送到所有连接的外围设备,并且它们无法接收,或者它们会收到它,但它失败了?BLE_GAP_CONN_PARAM_UPDATE()API返回BLE错误代码(BLE_ERROR_T),因此您可以检查中央请求25ms连接间隔时的状态是什么。API为所有外围设备返回的状态是什么?如果所有这些都接受它并且不会失败,则每个外围设备的状态应为BLE_STATUS_OK(= 0x00)。除非,请说明BLE错误代码是什么。
中央应该为更新的连接间隔之间的所有8个外设连接提供服务。由于非常短的连接间隔(25毫秒),8个连接可能不适合,因此,中央不能与所有的连接“交谈”。
另外,不建议最小连接时间间隔和最大连接时间间隔使用相同的值。如果两者有相同的值,这意味着BLE设备应该只在一个特定的时间在空中。建议在最小和最大连接间隔之间至少有10ms的间隔,以便设备有重试的可能性。
我强烈建议执行以下测试:
测试1
在更新参数请求后,使用100ms初始连接间隔(而不是50ms)和新的连接间隔,而新的连接间隔(而不是25ms)。结果是什么?您是否能够复制此行为?
如果你能在最小值和最大值之间至少有10ms的间隔,那就太好了。
BLE_GAP_CONN_PARAM_UPDATE()RERUNS的每个外设的BLE错误代码是什么?
测试2
初始连接间隔为50ms,新连接间隔为25ms,但只有一个外设连接。你能告诉我结果吗?
总之,我们怀疑25毫秒对于服务8个外围连接来说太短。
谢谢,PM_DIALOG.
你好,
问候,
平
嗨vargaadam,
为延迟道歉。我在检查这个,所以我会尽快回复你。感谢您的提醒。
谢谢,PM_DIALOG.
嗨vargaadam,
我会在内部询问团队关于note 105.08的情况。谢谢您对连接间隔的说明。是否有可能使用更大的连接间隔运行所建议的TEST 1 ?我们想检查是否该行为可以复制与一个更大的连接间隔。
谢谢,PM_DIALOG.
目前我还做不到,但希望到下周或下周初我能有机会。