蓝牙核心技术概述(三): 蓝牙协议规范(无线电频率、基带链路控制、领汇管理)
關鍵詞:藍牙核心技術協議無線電頻率基帶鏈路控制鏈路管理
作者:xubin341719(歡迎轉載。請注明作者,請尊重版權。謝謝!)
歡迎指正錯誤。共同學習、共同進步!
!
下載鏈接:Bluetooth PROFILE SPECIFICATIONS(基本涵蓋全部藍牙協議)、buletooth core 2.1-4.0 SPECIFICATION(三藍牙版本號的核心協議v2.1v3.0v4.0)、藍牙核心技術與應用 馬建倉 版(藍牙協議相關剛開始學習的人必讀,開發人員參考)
藍牙核心技術概述(一):藍牙概述
藍牙核心技術概述(二):藍牙使用場景
藍牙核心技術概述(三): 藍牙協議規范(射頻、基帶鏈路控制、鏈路管理)
藍牙核心技術概述(四):藍牙協議規范(HCI、L2CAP、SDP、RFOCMM)
藍牙核心技術概述(五):藍牙協議規范(irOBEX、BNEP、AVDTP、AVCTP)
藍牙協議是藍牙設備間交換信息所應該遵守的規則。
與開放系統互聯(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)稱為一個時隙;
二、基帶與鏈路控制協議
<img src="http://img.blog.csdn.net/20140730181800250?
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHViaW4zNDE3MTk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
藍牙發送數據時,基帶部分將來自高層的數據進行信道編碼。向下發給射頻進行發送;接收數據時,將解調恢復空中數據并上傳給基帶。基帶進行信道編碼傳送給上層。
作用:跳頻選擇、藍牙編址、鏈路類型、信道編碼、收發規則、信道控制、音頻規范、安全設置。
1、藍牙分組編碼為小端模式;
2、藍牙地址
BD_ADDR:BluetoothDevice Address。
LAP:LowerAddress Part 低地址部分。
UAP: UpperAddress Part 高地址部分;
NAP: Non-significantAddress Part 無效地址部分。
<img src="http://img.blog.csdn.net/20140730181920765?
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHViaW4zNDE3MTk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
3、藍牙時鐘
每一個藍牙設備都有一個獨立執行的內部系統時鐘。稱為本地時鐘(Local Clock),決定定時器的收發跳頻。為了與其它設備同步,本地時鐘要加一個偏移量(offset),提供給其它設備同步。
藍牙基帶四個關鍵周期:312.5uS、625uS、1.25mS、1.28S。
CLKN:本地時鐘:
CLKE:估計時鐘。掃描尋呼過程中用到;
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時隙分組 |
1110 |
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緩存。
<img src="http://img.blog.csdn.net/20140730182451937?
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHViaW4zNDE3MTk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
上圖為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)、分組管理
版權聲明:本文博客原創文章,博客,未經同意,不得轉載。
總結
以上是生活随笔為你收集整理的蓝牙核心技术概述(三): 蓝牙协议规范(无线电频率、基带链路控制、领汇管理)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CAT arguments dimens
- 下一篇: matlab padarray函数详解