BLE5.0学习--Connection Parameter Update Procedure

原文链接:http://www.moonkin.net/2020/05/31/BLE-update-para/
CSDN无法转存图片,请到上面的网站查看。

Connection Parameter Update Procedure 是一个 GAP 的 Procedure,允许 Central 或者 Peripheral 在连接后是可以更新连接参数。一般原厂会提供相关 GAP 的 API, 例如我司的 API 就是

int inb_conn_param_update(int conidx, inb_conn_param_update_t *p_upd)

而GAP下面的layer如果实现,则是分为3种情况:

  1. Central 要更新连接参数,但 Central 或 Peripheral 有一个不支持 Connection Parameters Request Procedure,则 Central 用 Link Layer 的 Connection Update procedure 来更新参数。Master 发送 LL_CONECTION_UPDATE_IND 来更新连接参数。

BLE5.0学习--Connection Parameter Update Procedure_第1张图片

[(img)([外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uqYYaTZz-1592284093522)(https://raw.githubusercontent.com/hnmsky/gitalk/master/img/20200614211208.png)])]

  1. Peripheral 要更新连接参数,但有两个连接的设备有一个不支持 Connection Parameters Request Procedure ,就需要用 L2CAP 的CONNECTION PARAMETER UPDATE REQUEST 命令,master 会发送 CONNECTION PARAMETER UPDATE RESPONSE 返回结果。如果更新成功,Slave 的 Host 会收到 Controller 的通知。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8UQvaxZe-1592233267588)(https://raw.githubusercontent.com/hnmsky/gitalk/master/img/20200615081249.png)]

CONNECTION PARAMETER UPDATE REQUEST

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qoVZ6xYm-1592233267589)(https://raw.githubusercontent.com/hnmsky/gitalk/master/img/20200615081314.png)]

CONNECTION PARAMETER UPDATE RESPONSE

  1. 如果 Central 和 Peripheral 都支持 Connection Parameters Request Procedure, 则用 Connection Parameters Request Procedure 来更新连接参数。下面分别是 Master 和 Slave 发起请求的过程:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-63v1KnIf-1592233267592)(https://raw.githubusercontent.com/hnmsky/gitalk/master/img/20200615224116.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wLxtQHMK-1592233267595)(https://raw.githubusercontent.com/hnmsky/gitalk/master/img/20200615224123.png)]

参考文献:

Bluetooth Core Specification v 5.0

你可能感兴趣的:(BLE)