Bluez

轉載 http://blog.csdn.net/eastmoon502136/article/details/8725180


關於藍牙協議棧體系結構

 


底層硬件模塊

 

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掃描設備過程

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章