【BLE】更新蓝牙连接参数(LL_CONNECTION_PARAM)

BLE 5.0SPEC对这LL_CONNECTION_PARAM的相关参数说明如下图所示:

这部分内容在SPEC的BLUETOOTH SPECIFICATION Version 5.0 | Vol 6, Part B | 2.4.2.16章节。这里主要关注几个参数,Interval_Min, Interval_Max, Latency。SPEC对这三个参数的解释如下所示:

从上面的解释说明了Interval_Min, Interval_Max都是1.25ms的倍数,其中这两个参数统称为connInterval,另外SEPC对connInterval还做了如下说明:

这段话说明了最快的connInterval = 7.5ms,最慢的是4.0s,而最终采用哪个参数取决于主机发送的CONNECT_IND PDU。

SPEC关于Lantency的描述:

这段话大概的意思是说BLE连接后,主机会定时发送一个包来确认从机是否保持连接,通过修改Lantency可以让从机放弃监听主机若干个连接包,但同时SPEC也规定了Lantency的范围是0~( (connSupervision Timeout/(connInterval*2)) - 1 ),超出这个范围就会触发Timeout事件,断开连接。

SPEC对CONNECTION PARAMETERS REQUEST的通信流程在BLUETOOTH SPECIFICATION Version 5.0 | Vol 6, Part D | 6.12 CONNECTION PARAMETERS REQUEST章节有说明。

通过BLE抓包器观察连接参数更新的过程,Side = 1是Master,2是Slave。

LL_CONNECTION_PARAM_REQ PDU分析:

LL_CONNECTION_PARAM_RSP PDU分析:

这里可以看出这两个数据包的参数都是相似的,区别就是数据包的类型一个是REQ一个是RSP。

LL_CONNECTION_UPDATE_IND PDU分析:

这部分内容在SPEC BLUETOOTH SPECIFICATION Version 5.0 | Vol 6, Part B | 2.4.2.1章节

在updateLantency过程中主机可以回复两个包,一个是LL_CONNECTION_UPDATE_IND PDU,另一个是LL_REJECT_EXT_IND PDU,前者是更新连接参数成功,后者是失败,这个在SPEC中也有说明。

补充说明:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SDV1、SDV2、SDV2HC SD卡区别作者 codercjg 在 1 四月 2016, 11:15 上午 如...
    codercjg阅读 4,765评论 0 0
  • 一、BLE知识 1.关于BLE BLE(Bluetooth low energy)蓝牙低功耗是蓝牙4.0新增的子规...
    空_欢喜阅读 9,148评论 0 10
  • 一、概述 1、BLE蓝牙协议栈结构 协议栈分为两部分:控制器和主机。对于4.0以前的蓝牙,这两部分是分开的。所有p...
    张志中阅读 5,349评论 0 2
  • 技术对比 技术规规范 BLE 经典蓝蓝牙频率 2.4GHz 2.4GHz作用距离 100m ...
    SueLyon阅读 7,510评论 0 0
  • 转眼7月份即将结束了,反思下自己最近的心态好像不怎么积极了,少了些冲的尽头,回想下自己的初新,也不希望自己到最后悔...
    橙子瑜伽加yoga阅读 876评论 0 0