Q1:E92主从一体模组使用说明书中,见下图,多连接下为何要保证“从机连接间隔≥连接设备数×10ms”,公式中为何是10ms? 一主多从时,客户实际使用过程中,该如何设置主、从机的连接间隔?
A1:先说10ms是怎么来的。
如下图,nrf52832,MTU = 163,txque = 1,rxque = 1(即每个连接事件TX 一次,RX 一次),那么1次数据通信所需时间,从横轴可看出是5ms,TX一次的时间是1.4ms。
图1 Nodic Online Power Profiler for Bluetooth LE计算工具
实际代码中设置,nrf52832,MTU = 163,txque = 3,rxque = 1,则1次数据通信所需时间=5ms+2次TX时间=5ms+(2×1.4ms)=7.8ms,再加上不同连接之间的时间偏移,那么一主多从时,主机跟每个从机通信1次的最小时间,取10ms是最合适的。
●再说,为何要保证“从机连接间隔≥连接设备数×10ms”?
连接间隔,是指在一个连接事件(Connection events)的开始到下一个连接事件(Connection events)的开始的时间间隔。
下图中,每个方块,就代表1个连接事件。
一主多从时,主机会保持多个连接,连接间隔指每个连接下的2个连接事件之间的时间。
从下图可看出,当主机跟每个从机交互完数据,马上跟下1个从机交互,中间只休息几个ms,那么随着从机数增加,连接间隔也随着增加,具体≈从机数×10ms。
●最后说,一主多从时,客户实际使用过程中,该如何设置主机、从机的连接间隔?
推荐将主机、从机的连接间隔设置成“从机数×10ms”,具体指令中将最大连接间隔设置成“从机数×10ms”,最小连接间隔保持默认值。
实际测试中,如果出现丢包现象,那么适当的再改大连接间隔值。
图2 一主3从时,主、从机工作时序
|