您的位置:首页 > 其它

BLE4.0 连接参数说明和使用

2016-05-03 15:52 246 查看
我们知道BLE最大的特点是低功耗,协议中是如何实现这一目标的呢?重点是减少工作时间,通过某种约定,让设备在大部分时间处于休眠状态从而达到较少功耗的目的。同时BLE中还采用了调频机制来确保数据的安全性,怎么跳,多长时间切换信道,看完本文后希望这些问题能得到解答。

Central和Peripheral通过Device Discovery发现彼此的存在,Central可以通过Connection.request来建立连接,实际就是约定了后面双方工作的步调,什么时候休眠,什么时候可以切换信道等等,在Connection.request中包含以下参数:

1 Connection Interval(连接间隔)

该参数规定了两个设备之间数据交换的时间间隔,同时也是信道切换的时间间隔,设备之间的用户数据只有在时间到了之后才可以传递,如果时间到了没有应用数据需要传递则交换link layer数据,以保证设备之间的连接。该值越大,设备功耗越低,同时数据传输速率越低。该值以1.25ms为一个时间单位(其他应用同此),取值范围6(7.5ms)-3200(4s)

2 Slave Latency 

为了增强Peripheral的灵活性,该值规定Peripheral设备可以忽略的连接间隔数目,即当连接时间到了,如果Peripheral没有数据需要传递,可以选择继续休眠,减少功耗。Salve latency 取值范围0-499,需要注意的是要确保effective connection interval(有效连接时间间隔)<16s ,其中Effective Connection Interval = (Connection Interval) * ( 1 + (Slave Latency) ) 。

3 Supervision Timeout 

该值规定了两个设备有效连接的最大时间间隔,这就要求 Supervision Timeout >Effective Connection Interval ,如果在Supervision Timeout 时间内没有发生数据交换则认为断开连接。Supervision Timeout 以10ms为单位,取值范围10(100ms)-3200(32s)。

以上都是Central给Peripheral设定的时间规则,有的时候这些参数可能无法满足Peripheral的应用需求,此时Peripheral可以通过Connection Parameter Update Request请求Central更新

参数配置,该请求中包括以下四个参数:

1 minimum connection interval 最小连接间隔

2 maximum connection interval 最大连接间隔 3 slave latency 连接延迟 4 timeout.  断开连接时间

Central收到该请求后可以选择接受或者拒绝参数更新。
连接设备的双方随时都可以请求断开连接,被请求设备作出回应,并修改相应状态。

ios app连接时,apple公司有自己的规范,这三个参数的设置必须在其规范内才可生效:

    ● Interval Max * (Slave Latency + 1) ≤ 2 seconds

    ● Interval Min ≥ 20 ms

    ● Interval Min + 20 ms ≤ Interval Max Slave Latency ≤ 4

    ● connSupervisionTimeout ≤ 6 seconds

    ● Interval Max * (Slave Latency + 1) * 3 < connSupervisionTimeout
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: