關鍵詞:藍牙核心技術協議射頻基帶鏈路控制鏈路管理作者:xubin341719(歡迎轉載,請注明作者,請尊重版權,謝謝!)歡迎指正錯誤,共同學習、共同進步!!下載鏈接:Bluetooth PROFILE SPECIFICATIONS (基本涵蓋所有藍牙協議)、buletooth core 2.1-4.0 SPECIFICATION(三藍牙版本的核心協議v2.1/v3.0/v4.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)稱為一個時隙;
二、基帶與鏈路控制協議
藍牙發送數據時,基帶部分將來自高層的數據進行信道編碼,向下發給射頻進行發送;接收數據時,將解調恢復空中數據并上傳給基帶,基帶進行信道編碼傳送給上層。
作用:跳頻選擇、藍牙編址、鏈路類型、信道編碼、收發規則、信道控制、音頻規范、安全設置。
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。
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、DH5SCO分組形式為:HV(1|2|3)。HV代表高質量語言分組,1、2、3有效載荷所采用的糾錯碼方法。1為1/3比例FEC,設備2個時隙發送一個單時隙分組;2為2/3比例FEC,設備4個時隙發送一個單時隙分組;3為不使用糾錯碼,設備6個時隙發送一個單時隙分組HV1、HV2、HV3ALC 分組:
類型 | 有效載荷頭/字節 | 用戶有效載荷/字節 | 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 UI7、藍牙的收發規則上圖為RX緩存。
上圖為TX緩存。新分組到達時,ACL鏈路的RX緩存器要流量控制,SCO數據不需要流量控制;8、藍牙基帶信道和網絡控制1)、鏈路控制器狀態:待機、連接尋呼page、尋呼掃描pagescan、查詢inquiry、查詢掃描inquiry scan、主設備相應Master Response、從設備相應Slave Response、查詢相應inquiry response2) 、連接狀態激活模式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)、尋呼相應過程三、鏈路管理器
新聞熱點
疑難解答