天天看點

TI-BLE協定棧的GAP

通用通路配置檔案(GAP):

Ble協定棧中的GAP層負責處理裝置通路模式,包括裝置發現、建立連接配接、終止連接配接、初始化安全管理和裝置配置,是以在ble協定棧中有不少函數均是以GAP為字首,這些函數會負責以上的内容。

GAP層總是作為下面四個鐘角色之一:

☆Broadcaster  廣播者——不可以連接配接的一直在廣播的裝置;

☆Observer    觀測者——可掃描廣播裝置,但不能發起建立連接配接的裝置;

☆Peripheral   從機  ——可被連接配接的廣播裝置,可以在單個鍊路層連接配接中作從機。

☆Central      主機  ——可以掃描廣播裝置并發起連接配接,在單個鍊路層或多鍊路層中作為主機,在TI的ble協定棧中,一個主機可以連接配接三個從機。

在典型的藍牙低功耗系統中,從機裝置廣播特定的資料,以便讓主機知道他是一個

可以連接配接的裝置,廣播内容包括裝置位址以及一些額外的資料,如裝置名、服務等。主機收到廣播資料後,會向從機發送掃描請求ScanRequest,然後從機将特定的資料回應給主機,稱為掃描回應ScanResponse。主機收到掃描回應後,便知道這是一個可以建立連接配接的外部裝置,這就是裝置發現的全過程。此時,主機可以向從機發起建立連接配接的請求,連接配接請求包括下面一些參數。

△連接配接間隔——在兩個BLE裝置的連接配接中使用調頻機制,兩個裝置使用特定的信道收發資料,然後過一段時間後再使用新的信道。(鍊路層處理信道切換),兩裝置在信道切換後收發資料稱之為連接配接事件,即使沒有應用資料的收發,兩個裝置任然會通過交換鍊路層資料來維持連接配接,連接配接間隔就是兩個連接配接事件之間的時間間隔,連接配接間隔以1.25ms為機關,連接配接間隔的值為6(7.5ms)~3200(4s)。

△從機延時——這個參數的設定可以使從機跳過若幹連接配接事件,這給了從機更多的靈活度,如果它沒有資料發送時,可以選擇跳過連接配接時間繼續休眠,以節省功耗。

△管理逾時——這是兩個成功連接配接事件之間的最大允許的間隔,如果超過了這個時間(這個值的機關是10ms)而沒有成功的連接配接事件,裝置被認為丢失連接配接,傳回到未連接配接狀态,管理逾時的範圍是100(100ms)~3200(32s)另外,逾時值必須大于有效的連接配接間隔[有效的連接配接間隔=連接配接間隔*(1+從機延時)]。

△安全管理——隻有已認證的連接配接中,特定的資料資料才能被讀寫,一旦連接配接建立,兩個裝置進行配對,當配對完成後,形成加密連接配接的密鑰,在典型的應用中,外設請求集中器提供密鑰來完成配對工作。密鑰是一個固定的值,如000000,也可以随機生成一個資料提供給使用者,當主機裝置發送正确的密鑰後,兩裝置交換安全密鑰并加密認證連結。在許多情況下,同一對外設和主機會不時的連接配接和斷開,ble的安全機制中有一項特性,允許兩個裝置之間建立長久的安全密鑰資訊,這種特性稱為綁定,他允許兩裝置連接配接時快速的完成加密認證,而不需要每次連接配接時執行配對的完整過程。