【BLE】连接事件、连接参数及更新方法

本文详细介绍了BLE(蓝牙低功耗)通信中的连接参数,包括Connection_Interval、Connection_Latency和Supervision_Timeout,分析了它们如何决定主从设备的交互频率和功耗,并阐述了参数请求和更新过程。连接参数的优化对于提升通信效率和降低功耗至关重要,需根据应用场景灵活调整。

1. 前言

在BLE通讯中,数据收发都是通过连接事件触发的。连接事件的发生始终位于一个频率,这个频率由连接参数决定。连接参数是主机决定的,从机可以向主机发起连接参数请求,但是最终使用的参数是由主机决定。

2. 连接事件

连接事件指的不是主机发起连接请求的那一瞬间(这是连接请求),而是在双方数据通信中主机发起的规律性的事件:
在这里插入图片描述

主从设备间的通信都是发生在连接事件中的,连接事件是由主机发起的并且可以选择性地附带些数据,从机必须在Connection_Latency内回应一个数据包,如果没有数据要发就发送空包,如下图。
在这里插入图片描述

3. 连接参数内容

3.1 Connection_Interval

连接间隔决定了主从设备间的交互间隔,指的是两个连续的连接事件开始处的时间间隔,范围在7.5~4000ms,但必须是1.25的整数倍。
在这里插入图片描述

3.2 Connection_Latency

要确定主从设备间的实际交互间隔,需要用到从设备延迟参数,表示从设备在必须应答之前可以忽略多少次连接事件。
范围 0~499 同时需满足该公式:Connection_Latency = ((connSupervisionTimeout / (connInterval*2)) - 1)。
在这里插入图片描述

3.3 Supervision_Timeout

Supervision_Timeout 指的是主从间的连接超时时间。如果在这时间内没有连接事件的话会导致连接断开。
取值范围在100~3200ms,同时满足 Supervision_Timeout = (1 + connSlaveLatency) * connInterval * 2。
在这里插入图片描述
在这里插入图片描述

4. 连接参数请求

4.1 需要请求的内容

  • Connection_Interval
  • Connection_Latency
  • Supervision_Timeout

4.2 Connection_Interval

连接间隔越大,功耗越小,反之相反。
在这里插入图片描述

4.3 Connection_Latency

当从机延迟为0时,主机发包,从机必须回复,如果不回复,主机就会认为从机那边接收不正常。
在这里插入图片描述
当从机延迟不为0时。比如下图中从机延迟为3,主机发包,从机没有数据要回复的时候,就会忽略3个连接事件,在第4个连接事件回复主机。如果从机有数据要回复,会在第1个连接事件立即回复,而不是在第4个连接事件。
在这里插入图片描述

4.4 Supervision_Timeout(超时时间)

如果BLE在这个超时时间内没有发生通信的话,就会自动断开。

4.5 连接参数对功耗的影响

  • Connection_Interval减小,主从机通信更加频繁,提高数据吞吐量,缩短了发送时间,功耗增加。
  • Connection_Interval增加,主从机通信频率降低,降低数据吞吐量,增加了发送时间,功耗减少。
  • Slave Latency减少或为0,每次连接事件都要更新,功耗增加,通信速率增加。
  • Slave Latency增加,功耗减少,通信速率降低。

4.6 连接参数更新过程

连接建立时,主机通过连接请求数据包发送连接参数。当连接活跃了一段时间,连接参数可能不再适用当前的应用场景。出于提高效率的目的,连接参数需要进行更新。
在这里插入图片描述

4.6.1 连接参数请求包和应答包格式相同

在这里插入图片描述

  • 常修改参数
    Interval_Min、Interval_Max、Latency、Timeout。具体意思及作用上面已提到。
  • PreferredPeriodicity
    建议connInterval的倍数,单位为1.25ms。如果PreferredPeriodicity设置为100,则意味着connInterval建议为125 ms的任意倍数。值为0
    意味着没有偏好。PreferredPeriodicity应小于等于Interval_Max。
  • ReferenceConnEventCount
    和后面的offset计算有关,一般不需要应用者设置。
  • offset 0~5
    一般不需要设置,具体小编也不没搞懂,欢迎评论区留言。
    在这里插入图片描述

4.6.2 请求流程

设备A向设备B发起连接参数更新请求:
在这里插入图片描述

5. 总结

在实际开发中,连接参数的修改是很重要的一部分内容,它决定产品的通信效率和功耗,在不同的应用场景,设置的值需要好好考虑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

强人电子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值