0%

BLE5.0学习--Connection Parameter Update Procedure

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

1
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 来更新连接参数。

    image-20200614211137999

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

image-20200615081240798

CONNECTION PARAMETER UPDATE REQUEST

image-20200615081312577

CONNECTION PARAMETER UPDATE RESPONSE

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

image-20200615223913683

image-20200615223708591

参考文献:

Bluetooth Core Specification v 5.0