1. 程式人生 > >藍芽協議學習整理(二)藍芽協議規範(射頻、基帶鏈路控制、鏈路管理)

藍芽協議學習整理(二)藍芽協議規範(射頻、基帶鏈路控制、鏈路管理)

第二章 藍芽協議規範(射頻、基帶鏈路控制、鏈路管理)

這裡寫圖片描述

藍芽協議是藍芽裝置間交換資訊所應該遵守的規則。與開放系統互聯(OSI)模型一樣,藍芽技術的協議體系也採用了分層結構,從底層到高層形成了藍芽協議棧,各層協議定義了所完成的功能和使用資料分組格式,以保證藍芽產品間的互操作性。

一、射頻協議

射頻位置如上圖紅色部分。

1、工作頻率

藍芽工作在2.4GHz ISM頻段上,藍芽採用跳頻擴譜技術主動的避免工作頻段受干擾(微波爐的工作頻率也是2.4GHz)。
這裡寫圖片描述

地理位置 ISM頻段範圍 射頻通道頻率
中國、美國、歐洲 2400.0~2483.5MHz F=(2402+k)MHz,k在0、1、……78中隨機取值
法國 2446.5~2483.5MHz F=(2454+k)MHz,k在0、1、……22中隨機取值
日本 2471.0~2497.0MHz F=(2473+k)MHz,k在0、1、……22中隨機取值
西班牙 2445.0~2475.0MHz F=(2449+k)MHz,k在0、1、……22中隨機取值

我國的藍芽頻率在2.402GHz~2.483GHz,藍芽每個頻道的寬度為1MHz,為了減少帶外輻射的干擾,保留上、下保護為3.5MHz和2MHz,79個跳頻點中至少75個偽隨機碼跳動,30S內任何一個頻點使用時長不能超過0.4S。

2、跳頻技術、發射功率、時隙

(1)、發射功率:藍芽發射功率分三級:一級功率100mW(20dBm);二級功率2.5mW(4dBm);三級功率1mW(0dBm);
(2)、物理通道:藍芽物理通道有偽隨機序列控制的79個跳頻點構成,不同跳頻序列代表不同的通道。
這裡寫圖片描述

(3)、時隙:藍芽跳頻速率為1600次/s,每個時間為625uS(1S/1600)稱為一個時隙;
這裡寫圖片描述

二、基帶與鏈路控制協議

這裡寫圖片描述

藍芽傳送資料時,基帶部分將來自高層的資料進行通道編碼,向下發給射頻進行傳送;接收資料時,將解調恢復空中資料並上傳給基帶,基帶進行通道編碼傳送給上層。

作用:跳頻選擇、藍芽編址、鏈路型別、通道編碼、收發規則、通道控制、音訊規範、安全設定。

1、藍芽分組編碼為小端模式;

2、藍芽地址

  • **BD_ADDR:**BluetoothDevice Address;
  • **LAP:**LowerAddress Part 低地址部分;
  • UAP: UpperAddress Part 高地址部分;
  • NAP: Non-significantAddress Part 無效地址部分。

這裡寫圖片描述

3、藍芽時鐘

每個藍芽裝置都有一個獨立執行的內部系統時鐘,稱為本地時鐘(Local Clock),決定定時器的收發跳頻。為了與其他裝置同步,本地時鐘要加一個偏移量(offset),提供給其他裝置同步。

藍芽基帶四個關鍵週期:312.5uS、625uS、1.25mS、1.28S。

這裡寫圖片描述

  1. CLKN:本地時鐘:
  2. CLKE:預計時鐘,掃描尋呼過程中用到;
  3. CLK:裝置實際執行的時鐘頻率。

    CLKE、CLK由CLKN加上一個偏移量得到的。

    這裡寫圖片描述

4、藍芽物理鏈路:

通訊裝置間物理層的資料連線通道就是物理鏈路。

ACL(Asynchronous Connectionless)非同步無連線鏈路;對時間要求不敏感的資料通訊,如檔案資料、控制信令等。

SCO(Synochronous Connection Oriented)同步面向連線鏈路;對時間比較敏感的通訊,如:語音;最多隻支援3條SCO鏈路,不支援重傳。

ACL用於資料傳輸;

5、藍芽基帶分組:

基帶分組至少包括:接入碼、分組頭、有效載荷;

列表內容

(1)、接入碼用於同步、直流、載頻洩漏偏置補償標識;
(2)、分組頭包含鏈路資訊,確保糾正較多的錯誤。
分組型別如下:

分組類別 Type(b3b2b1b0) 時隙 SCO ACL
鏈路控制分組 0000 1 NULL NULL
0001 POLL POLL
0010 FHS FHS
0011 DM1 DM1
單時隙分組 0100 1 未定義 NULL
0101 HV1
0110 HV2
0111 HV3
1000 DV
1001 NULL AUX1
3時隙分組 1010 3 未定義 DM3
1011 DH3
1100 未定義
1101
5時隙分組 1010 5 未定義 DM5
1111

ACL分組形式為:D(M|H)(1|3|5),D代表資料分組,M代表用2/3比例的FEC的中等速率分組;H代表不使用糾錯碼的高速率分組;1、3、5分別代表分組所佔用的時隙數目;
DM1、DM3、DM5、DH1、DH3、DH5

SCO分組形式為:HV(1|2|3)。HV代表高質量語言分組,1、2、3有效載荷所採用的糾錯碼方法。1為1/3比例FEC,裝置2個時隙傳送一個單時隙分組;2為2/3比例FEC,裝置4個時隙傳送一個單時隙分組;3為不使用糾錯碼,裝置6個時隙傳送一個單時隙分組

HV1、HV2、HV3

ALC 分組:

型別 有效載荷頭/位元組 使用者有效載荷/位元組 FEC CRC 對稱最大速率/kbps 非對稱速率/kbps
前向 後向
DM1 1 0~17 2/3 108.8 108.8 108.8
DH1 1 0~27 172.8 172.8 172.8
DM3 2 0~121 2/3 258.1 387.2 54.4
DH3 2 0~183 390.4 585.6 86.4
DM5 2 0~224 2/3 286.7 477.8 36.3
MH5 2 0~339 433.9 723.2 57.6
AUX1 1 0~29 185.6 185.6 185.6

SCO分組:

型別 有效載荷頭/位元組 使用者有效載荷/位元組 FEC CRC 有效載荷長度 同步速率/kbps 佔用Tsco數目/語言長度
HV1 10 1/3 240位 64 2/1.25ms
HV2 20 2/3 4/2.5ms
HV3 30 6/3.75ms
DV 1D 10+(0-9)D 2/3D 有D 64+57.6D
註釋:D 只對資料段有用,DV分組包含資料段,也包含語言段。

(3)、有效載荷 分語言有效載荷、資料有效載荷。

6、藍芽的邏輯通道

  • 鏈路控制通道:LinkControl LC
  • 鏈路管理通道:Link Manage LM
  • 使用者非同步資料通道:User AsynchronizationUA
  • 使用者同步資料通道:UserSynchronization US
  • 使用者等時資料通道:UserIsochronous UI UI

7、藍芽的收發規則

這裡寫圖片描述
上圖為RX快取。
這裡寫圖片描述
上圖為TX快取。
新分組到達時,ACL鏈路的RX快取器要流量控制,SCO資料不需要流量控制;

8、藍芽基帶通道和網路控制

(1)、鏈路控制器狀態:
待機、連線
尋呼page、尋呼掃描pagescan、查詢inquiry、查詢掃描inquiry scan、主裝置相應Master Response、從裝置相應Slave Response、查詢相應inquiry response
(2) 、連線狀態
啟用模式active、呼吸模式sniff、保持模式hold、休眠模式park。
(3)、待機狀態
待機狀態是藍芽裝置預設低功耗狀態,此狀態下本地時鐘以低精度執行。藍芽從待機轉入尋呼掃描狀態,對其他尋呼進行響應成為從裝置;也可以從待機狀態進入查詢掃描狀態,完成一個完整的尋呼,成為主裝置

9、接入過程

註釋:
IAC Inquiry AccessCode 查詢接入碼;
GIAC:通用查詢接入碼 DIAC:專用查詢接入碼;
DAC:DeviceAccess Code 裝置接入碼;
LAP:
建立連線,必須使用查詢、尋呼;查詢過程使用IAC,發現覆蓋區域內的裝置、裝置的地址及其時鐘;連線過程使用DAC,建立連線的裝置處理尋呼過程,成為主裝置。

(1)、查詢過程
藍芽裝置通過查詢來發現通訊範圍內的其他藍芽裝置。查詢資訊分為GIAC、DIAC兩種。查詢發起裝置收集所有相應裝置的地址、時鐘資訊。
一裝置進入查詢狀態去發現其他裝置,查詢狀態下連續不斷的在不同頻點發送查詢訊息。查詢的跳頻序列有GIAC的LAP匯出。
一裝置想被其他裝置發現,就要週期性進入 查詢掃描狀態,以便相應查詢訊息。如:我們選擇裝置多長時間可見,其實就是 進入查詢掃描狀態。
A、查詢掃描
查詢掃描狀態下,接收裝置掃描接入碼的時間長度,足以完成對16個頻率的掃描。掃描區間長度Twindow inquiry scan。掃描在同一個頻率上進行,查詢過程用32跳專用查詢跳頻序列,此序列有通用查詢的地址決定,相位有本地時鐘決定,每隔1.28S變化一次。
B、查詢
與尋呼類似,TX用查詢跳頻序列、RX用查詢相應跳頻序列。
C、查詢相應
從裝置響應查詢操作。每個裝置都有自己的時鐘,使用查詢序列相位相同的機率比較小。為了避免多個裝置在同一查詢跳頻通道同時啟用,從裝置查詢響應規定:從裝置收到查詢訊息,產生0-1023只覺得額一個隨機數,鎖定當時相位輸入值進行跳頻選擇,從裝置此後的RAND時隙中返回到連線或者待機狀態。

(2)、尋呼掃描
DAC:DeviceAccess Code 裝置接入碼
尋呼掃描狀態下的裝置掃描視窗Twindowpage scan內監聽自己的DAC。監聽只在一個跳頻點進行。Twindow page scan足夠覆蓋16個尋呼掃描頻點。
尋呼掃描狀態,掃描在同一個頻率上進行,持續1.28S,在選擇另一個不同頻率。

SR模式 Tpage scan 尋呼次數Npage
R0 連續 >=1
R1 <=1.28S >=128
R2 <=2.56S >=256
預留

(3)、尋呼
主裝置使用尋呼發起一個主—從裝置連線,通過在不同的跳頻點上重複傳送從裝置DAC來撲捉從裝置,從裝置在尋呼掃描狀態被喚醒,接收尋呼。
(4)、尋呼相應過程

三、鏈路管理器

這裡寫圖片描述
如上圖紅色部分,負責完成裝置:功率管理、鏈路質量管理、鏈路控制管理、資料分組管理、鏈路安全管理。

1、鏈路管理協議資料單元

藍芽鏈路管理器接收到高層的控制資訊後,不是向自身的基帶部分分發控制資訊,就是與另一臺裝置的鏈路管理器進行協商管理。這些控制資訊封裝在鏈路管理協議資料單元LMP_PDU中,由ACL分組的有效載荷攜帶。

2、鏈路管理器協議規範

(1)、裝置功率管理
RSSI保持模式、呼吸模式、休眠模式。
(2)、鏈路質量管理 QoSQuality of Service
A、ACL鏈路。
B、SCO鏈路。
(3)、鏈路控制管理
裝置尋呼模式、裝置角色轉換、時鐘計時設定、資訊交換:版本資訊、支援特性、裝置名稱;建立連線、鏈路釋放。
(4)、資料分組管理