天天看點

[BLE--Link Layer]Link層控制之連接配接更新過程

簡述

在兩個BLE裝置處于連接配接狀态下時,其連接配接參數是很重要的,比如其中的connInterval, connSlaveLatency, connSupervision Timeout。這些參數是可以在連接配接狀态下進行更新的。

一張消息圖

先來看一張表示Connection Update Procedure(連接配接更新過程)的消息圖:

[BLE--Link Layer]Link層控制之連接配接更新過程

說明

過程的發起者

從上面的消息圖看是master發起的,spec規定LL_CONECTION_UPDATE_REQ隻能master發起,slave不能發起。而slave可以通過L2CAP LE signaling channel或者用Connection Parameter Request發起要更新的parameters,而實際鍊路的連接配接參數的更新,還是要master來發起的。spec這裡說的有些拗口。

另外,如果master和slave都支援“Connection Parameters Request procedure”–“連接配接參數請求過程”的話,可以使用“Connection Parameters Request procedure”中描述的方式進行連接配接參數的更新!關于“Connection Parameters Request procedure”請參考這篇文章​​​Link層控制之連接配接參數請求​​。

關于“連接配接更新過程”與“連接配接參數請求過程”關系

這兩者開始看是有點混淆的,還是因為需要支援不同的特性吧。

master需要修改更新連接配接參數時,可以先走“連接配接參數請求過程”,如果slave端不支援或者得到slave端的回複是拒絕時,master再走“連接配接更新過程”來發起連接配接參數更新了。

連接配接參數更新過程的時序

見下圖:

GAP對于連接配接參數更新的一些規範

繼續閱讀