關於藍芽協議棧體繫結構
底層硬體模組
RF
1、利用2400M~2483.5M頻帶
2、採用調頻方式傳輸資料,一共有79/EDR,40/BLE個hops,每秒
3、採用GFSK(DQPSK和8DPSK)調製方式
4、通道間隔(1MHZ/EDR模式,2MHZ/BLE模式)
BB
藍芽系統提供點對點或點對多點的串連,在串連中裝置共用物理通道,稱為piconet。一個裝置做為master,其他的裝置作為slave。pico網中最多可支援7個活動的slave。其他的處於非使用中。這些非活動slave仍需要保持與master的同步,通道的訪問由master來控制。
對所有調製方式,符號率均為1Ms/s。這樣BR是1Mbps,EDR DQPSK是2Mbps,EDR 8DPSK是3Mbps。
包格式
藍芽地址
1、物理通道
2、藍芽物理通道由偽隨機頻率hopping序列,特定的時間slot,訪問碼和包頭編碼構成。
3、兩個裝置為了通訊,需要使用共用通道,這樣就需要兩者必須在同一時刻使用相同的頻
率。
4、hopping序列有藍牙裝置地址中UAP和LAP決定,timeslot長度取決於物理通道,在串連狀態下最大的hop率為1600hops/s,inquiry和page狀態下為3200hops/s。
四種物理通道
1、基本pico網通道 2、自適應pico網通道 3、Page scan物理通道 4、inquiryscan物理通道
物理串連
包括電源控制,link監控,加密和鏈路管理協議,通道資料率變化,多slot包控制。
五種邏輯傳輸
1、SCO 基於同步串連邏輯傳輸 2、ESCO擴充SCO 3、ACL 非同步邏輯傳輸
4、ASB 活動Slave廣播 5、PSB Parked Slave廣播
LMP
1、鏈路管理協議
2、用於鏈路的建立和控制,訊號在鏈路管理層被解析和過濾,不會傳遞至上層。
3、協議由一系列的訊息構成,這些訊息通過ACL-C邏輯傳輸。
傳輸
包格式
主要功能
1)串連控制:串連建立,斷開,電源控制,自適應頻率hopping,通道分類, 鏈路監控,通道品質驅動資料率變化,Qos,Paging參數,多slot包控制,EDR,LMP PDU封裝。
2)安全:認證,配對,改變link key,改變當前link key類型,加密,請求加密keysize,簡單安全配對。
3)資訊請求
4)功能切換
5)操作模式
6)邏輯傳輸
7)測試模式
HCI
為控制器定義了統一的命令介面
1)流量控制
2)HCI資料格式
3)HCI配置參數
4)HCI命令和事件
HCI流量控制
Host到控制器資料流控制
基於包的資料流控制
基於塊的資料流控制
控制器到Host資料流控制
命令流量控制
斷開行為
命令錯誤處理
HCI命令和事件
1)鏈路控制命令
2)鏈路策略命令
3)控制和基帶命令
4)訊息參數
5)狀態參數
6)測試命令
7)事件
8)LE控制器命令
中間協議層
L2CAP
架構圖
流量控制與重傳過程 和AMP通道建立和處理過程
SDP
該規範定義了藍牙裝置提供的本地服務合約。
Some examples of service attributes:
Example Service Browsing Hierarchy
services records and service attributes
GAP
該profile定義了發現藍牙裝置的通用過程(idle模式過程),和串連到藍牙裝置的鏈路管理方面(串連模式過程)。它還定義了不同安全層級下的過程。
定義了表示藍芽的參數
1)BD_ADDR
2)藍牙裝置名
3)藍芽PIN
4)裝置類型
配對
安全方面
1)認證
2)安全模式
IDLE模式過程
建立過程
1)LINK建立
2)通道建立
3)串連建立
擴充Inquiry響應資料格式
LE相關的特殊規範
GATT
GATT是基於attribute協議的服務架構。
功能:描述了怎樣使用attribute協議來發現、讀、寫和擷取這些屬性的標誌,以及配置屬性的廣播。
client:對於service啟動命令和請求,可以接收service端的響應、指示和通知。
service:接受來自client端的命令和請求,發送響應,指示和通知給client端。
例如:
client:電腦終端
service:溫度計
電腦終端啟動程式配置溫度計或者讀取溫度計的值。
溫度計提供其特性的資訊,例如其溫度的服務和其他被允許的可寫的一些特性等。
使用者需求
1、可改變的配置
2、發現裝置上的服務和特性
3、讀取一個特性值
4、寫入一個特性值
5、通知的特性值
6、指示的特性值
SMP
用於LE裝置間的配對,認證和加密管理。
高端應用程式層
藍芽規範
基本藍芽規範
個例說明
1、GATT based中的HTP
2、BR/EDR Profiles中的A2DP
3、BR/EDR Protocols 中的AVDTP
Health Thermometer Profile (HTP)
Advanced Audio Distribution Profile (A2DP)
Audio/Video Distribution Transport Protocol(AVDTP)
linuxbluez體繫結構
Bluetooth的Bt_io
Bluetoothd啟動過程
Bluetooth掃描裝置過程