藍牙 BLE 協議學習: 000-有關概念介紹


背景

在學校內就用過藍牙技術參加過比賽(並拿了獎);而藍牙作為物聯網中比較常見的協議,有必要進行深入的學習。此后的文章會以 ble(v4.0) 進行學習。

介紹

藍牙技術最初由電信巨頭愛立信公司於 1994 年創制,當時是作為 RS232 數據線的替代方案。藍牙可連接多個設備,克服了數據同步的難題。隨着藍牙耳機、藍牙鼠標、藍牙音箱等藍牙設備漸漸充斥着我們的生活,藍牙早已不單純是數據線的替代方案。

如今藍牙由藍牙技術聯盟(Bluetooth Special Interest Group,簡稱 SIG)管理。藍牙技術聯盟在全球擁有超過 25,000 家成員公司,它們分布在電信、計算機、網絡、和消費電子等多重領域。

簡單地說,藍牙是一種短程寬帶無線電技術,是實現語音和數據無線傳輸的全球開放性標准。它使用跳頻擴譜(FHSS)、時分多址(TDMA)、碼分多址(CDMA)等先進技術,在小范圍內建立多種通信與信息系統之間的信息傳輸。

藍牙使用跳頻技術,將傳輸的數據分割成數據包,通過79個指定的藍牙頻道分別傳輸數據包。每個頻道的頻寬為1 MHz。藍牙4.0使用2 MHz 間距,可容納40個頻道。第一個頻道始於2402 MHz,每1 MHz一個頻道,至2480 MHz。有了適配跳頻(Adaptive Frequency-Hopping,簡稱AFH)功能,通常每秒跳1600次。

最初,高斯頻移鍵控(Gaussian frequency-shift keying,簡稱GFSK)調制是唯一可用的調制方案。然而藍牙2.0+EDR 使得 π/4-DQPSK和 8DPSK 調制在兼容設備中的使用變為可能。運行GFSK的設備可以以基礎速率(Basic Rate,簡稱BR)運行,瞬時速率可達1Mbit/s。增強數據率(Enhanced Data Rate,簡稱EDR)一詞用於描述π/4-DPSK 和 8DPSK 方案, 分別可達2 和 3Mbit/s。在藍牙無線電技術中,兩種模式(BR和EDR)的結合統稱為"BR/EDR射頻"。

藍牙是基於數據包、有着"主從架構"的協議。一個主設備至多可和同一網域中的七個從設備通訊。所有設備共享主設備的時鍾。分組交換基於主設備定義的、以312.5µs為間隔運行的基礎時鍾。兩個時鍾周期構成一個625µs的槽,兩個時間隙就構成了一個1250µs的縫隙對。在單槽封包的簡單情況下,主設備在雙數槽發送信息、單數槽接受信息。而從設備則正好相反。封包容量可長達1、3、或5個時間隙,但無論是哪種情況,主設備都會從雙數槽開始傳輸,從設備從單數槽開始傳輸。

Bluetooth的主要技術特點:

(1)、工作頻段 :2.4GHz的工科醫(ISM)頻段,無需申請許可證。大多數國家使用79個頻點,載頻為(2402+k)MHz(k=0,1, 2…78),載頻間隔1MHz。采用TDD時分雙工方式。

(2)、傳輸速率:1Mb/s(V2.0以上版本)

(3)、調試方式:BT=0.5的GFSK調制,調制指數為0.28-0.35。

(4)、采用跳頻技術:跳頻速率為1600跳/秒,在建鏈時(包括尋呼和查詢)提高為3200跳/秒。藍牙通過快跳頻和短分組技術減少同頻干擾,保證傳輸的可靠性。

(5)、語音調制方式:連續可變斜率增量調制(CVSD,ContinuousVariable Slope Delta Modulation),抗衰落性強,即使誤碼率達到4%,話音質量也可接受。

(6)、支持電路交換和分組交換業務:藍牙支持實時的同步定向聯接(SCO鏈路)和非實時的異步不定向聯接(ACL鏈路),前者主要傳送語音等實時性強的信息,后者以數據包為主。語音和數據可以單獨或同時傳輸。藍牙支持一個異步數據通道,或三個並發的同步話音通道,或同時傳送異步數據和同步話音的通道。每個話音通道支持64kbps的同步話音;異步通道支持723.2/57.6kbps的非對稱雙工通信或433.9kbps的對稱全雙工通信。

(7)、支持點對點及點對多點通信:藍牙設備按特定方式可組成兩種網絡:微微網(Piconet)和分布式網絡(Scatternet),其中微微網的建立由兩台設備的連接開始,最多可由八台設備組成。在一個微微網中,只有一台為主設備(Master),其它均為從設備(Slave),不同的主從設備對可以采用不同的鏈接方式,在一次通信中,鏈接方式也可以任意改變。幾個相互獨立的微微網以特定方式鏈接在一起便構成了分布式網絡。所有的藍牙設備都是對等的,所以在藍牙中沒有基站的概念。

(8)、工作距離:藍牙設備分為三個功率等級,分別是:100mW(20dBm)、2.5mW(4dBm)和1mW(0dBm),相應的有效工作范圍為:100米、10米和1米。

藍牙版本信息

藍牙的主要版本:1.11.22.02.13.04.05.0

1.1版本

傳輸率約在748~810kb/s,因是早期設計,容易受到同頻率之產品所干擾下影響通訊質量。

1.2版本

同樣是只有748~810kb/s 的傳輸率,但在加上了(改善 Software)抗干擾跳頻功能。

2.0+EDR版本

是1.2的改良提升版,傳輸率約在1.8M/s~2.1M/s,開始支持雙工模式——即一面作語音通訊,同時亦可以傳輸檔案/高質素圖片,2.0 版本當然也支持 Stereo 運作。

應用最為廣泛的是Bluetooth2.0+EDR標准,該標准在2004年已經推出,支持Bluetooth 2.0+EDR標准的產品也於2006年大量出現。雖然Bluetooth 2.0+EDR標准在技術上作了大量的改進,但從1.X標准延續下來的配置流程復雜和設備功耗較大的問題依然存在。

2.1版本

更佳的省電效果:藍牙2.1版加入了SniffSubrating的功能,透過設定在2個裝置之間互相確認訊號的發送間隔來達到節省功耗的目的。

3.0+HS版本

2009年4月21日,藍牙技術聯盟(Bluetooth SIG)正式頒布了新一代標准規范"Bluetooth Core Specification Version 3.0 High Speed"(藍牙核心規范3.0版 ),藍牙3.0的核心是"GenericAlternate MAC/PHY"(AMP),這是一種全新的交替射頻技術,允許藍牙協議棧針對任一任務動態地選擇正確射頻。最初被期望用於新規范的技術包括802.11以及UMB,但是新規范中取消了UMB的應用。

4.0 版本(也稱為Bluetooth Smart)

藍牙4.0的改進之處主要體現在三個方面:電池續航時間節能設備種類上。

4.0版本的一般性改進包括推進藍牙低功耗模式所必需的改進、以及通用屬性配置文件(GATT)和AES加密的安全管理器(SM)服務

藍牙4.0包括2個版本,再細分的話是3個子規范,即經典藍牙(BT、其中包括傳統藍牙技術v1.x v2.0、高速藍牙v3.0)和新的藍牙低功耗技術(BLE, Bluetooth Low Energy Module)。

    1. 經典藍牙: 經典藍牙包括舊有藍牙協議
    1. 高速藍牙: 高速藍牙基於Wi-Fi
    1. 藍牙低功耗協議: 藍牙低功耗,也就是早前的Wibree,是藍牙4.0版本的一個子集,它有着全新的協議棧,可快速建立簡單的鏈接。

低功耗藍牙是建立在傳統藍牙基礎之上繼而發展的。藍牙低功耗技術采用可變連接時間間隔,這個間隔根據具體應用可以設置為幾毫秒到幾秒不等。另外,因為BLE技術采用非常快速的連接方式,因此可以處於“非連接”狀態(節省能源),此時鏈路兩端相互間僅能知曉對方,必要時可以才開啟鏈路,然后在盡可能短的時間內關閉鏈路。

作為藍牙1.0 ~ 3.0版本中藍牙標准協議的替代方案,BLE主要面向對功耗需求極低、用紐扣電池供電的應用。芯片設計可有兩種:雙模、單模和增強的早期版本。

  • 單模情況下,只能執行低功耗的協議棧。意法半導體、笙科電子、CSR、北歐半導體和德州儀器已經發布了單模藍牙低功耗解決方案。單模芯片的成本降低,使設備的高度整合和兼容成為可能。它的特點之一是輕量級的鏈路層,可提供低功耗閑置模式操作、簡易的設備發現、和可靠地點對多數據傳輸,並擁有成本極低的高級節能和安全加密連接
  • 雙模情況下,Bluetooth Smart功能整合入既有的經典藍牙控制器。截至2011年3月,高通創銳訊、CSR、博通和德州儀器已宣布發表符合此標准的芯片。適用的架構共享所有經典藍牙既有的射頻和功能,相比經典藍牙的價格上浮也幾乎可以忽略不計

擁有低成本,跨廠商互操作性,3毫秒低延遲、100米以上超長距離、AES-128加密等諸多特色此外,藍牙4.0的有效傳輸距離也有所提升。3.0版本的藍牙的有效傳輸距離為10米(約 32英尺),而藍牙4.0的有效傳輸距離最高可達到100米(約328英尺)。

5.0版本

藍牙5.0針對低功耗設備,有着更廣的覆蓋范圍和相較四倍的速度提升。藍牙5.0會加入室內定位輔助功能,結合Wi-Fi可以實現精度小於1米的室內定位。

低功耗模式傳輸速度上限為2Mbps,是之前4.2LE版本的兩倍。有效工作距離可達300米,是之前4.2LE版本的4倍。添加導航功能,可以實現1米的室內定位。

為應對移動客戶端需求,其功耗更低,且兼容老的版本。

藍牙 系統 構成

1、Radio : 無線射頻單元:
負責數據和語音的發送和接收,特點是短距離、低功耗。藍牙天線一般體積小、重量輕,屬於微帶天線。

2、LinkController :基帶或鏈路控制單元:
進行射頻信號與數字或語音信號的相互轉化,實現基帶協議和其它的底層連接規程。

3、LinkManager:鏈路管理單元:
負責管理藍牙設備之間的通信,實現鏈路的建立、驗證、鏈路配置等操作。

4、藍牙軟件協議實現:
Host部分,不同的主機可以移植不同的協議棧。一般藍牙芯片通過UART、USB、SDIO、I2S、PcCard和主控芯片通信。

藍牙協議規范

按照藍牙協議的邏輯功能,協議堆棧分為3個部分:應用協議、中介協議、傳輸協議。

某個協議的實現代碼稱為協議棧(protocol stack)

傳輸協議

負責藍牙設備間,互相確認對方的位置,以及建立和管理藍牙設備間的物理鏈路;

  • 底層傳輸協議:藍牙射頻(Radio)部分、基帶鏈路管理控制器(Baseband&Link Controller)、鏈路管理協議(Link ManagerProtocol LMP)。負責語言、數據無線傳輸的物理實現以及藍牙設備間的聯網組網。
  • 高層傳輸協議:邏輯鏈路控制與適配器(LogicalLink Control and Adaptation Protocol)L2CAP 、主機控制接口(HostControl Interface,HCI)。為高層應用屏蔽了跳頻序列選擇等底層傳輸操作,為高層程序提供有效、有利於實現數據分組格式。

中介協議

為高層應用協議或者程序,在藍牙邏輯鏈路上工作提供必要的支持,為應用提供不同標准接口。

  • 串口仿真協議:RFCOMM、服務發現協議:SDP、互操作協議IrDA、網絡訪問協議:PPP、IP、TCP、UDP、電話控制協議:TCS、AT指令集。

這里寫圖片描述

應用協議

藍牙協議棧之上的應用軟件和所涉及到的協議,如:撥號上網、語言功能的應用程序。

藍牙的應用框架如下:

  1. 通用應用類框架:查詢、建立連接服務等;
  2. 藍牙電話應用類框架:電話控制、語言;
  3. 藍牙連網應用類框架:網絡應用相關;
  4. 對象交互服務類框架:IrDA、OBEX;
  5. 藍牙音視頻控制類框架。

完整的藍牙協議棧如下圖所示,不是任何應用都必須使用全部協議,而是可以只使用其中的一列或多列。

藍牙主從模塊

  1. 主機就是能夠搜索別人並主動建立連接的一方
  2. 從機則不能主動建立連接,只能等別人連接自己
  3. 主從一體就是能夠在主機和從機模式間切換,即可做主機也可作從機

藍牙技術的優缺點

優點

  • 低功率,便於電池供電設備工作
  • 便宜,可以應用到低成本設備上
  • 同時管理數據和聲音傳輸
  • 低延時

缺點

  • 傳輸距離有限
  • 數據傳送速率為24 Mb/s
  • 不同設備間協議不兼容
  • 需要本地數據記錄,以確保數據不間斷可用
  • 存在被攻擊的可能性:(拒絕服務攻擊、竊聽、中間人攻擊、消息修改、資源濫用)

藍牙協議分類

HFP(Hands-free Profile)

HFP(Hands-free Profile),讓藍牙設備可以控制電話,如接聽、掛斷、拒接、語音撥號等,拒接、語音撥號要視藍牙耳機及電話是否支持。

HSP

HSP 描述了 Bluetooth 耳機如何與計算機或其它 Bluetooth 設備(如手機)通信。連接和配置好后,耳機可以作為遠程設備的音頻輸入和輸出接口,這是最常用的配置,為當前流行支持藍牙耳機與移動電話使用。它依賴於在64千比特編碼的音頻/s的CVSD的或PCM以及AT命令從GSM 07.07的一個子集,包括環的能力最小的控制,接聽來電,掛斷以及音量調整。典型的使用情景是使用無線耳機與手機進行連接。可能會使用HSP的若干設備類型:耳機、手機、PDA、個人電腦、手提電腦

A2DP

A2DP全名是Advanced Audio Distribution Profile(藍牙音頻傳輸模型協定),A2DP是能夠采用耳機內的芯片來堆棧數據,達到聲音的高清晰度。有A2DP的耳機就是藍牙立體聲耳機。聲音能達到44.1kHz,一般的耳機只能達到8kHz。如果手機支持藍牙,只要裝載A2DP協議,就能使用A2DP耳機了。還有一般所說的技術參數提到藍牙V1.0 V1.1 V1.2 V2.0——這些是指藍牙的技術版本,是指通過藍牙傳輸的速度,他們是否支持A2DP具體要看藍牙產品制造商是否使用這個技術

AVRCP

  1. AVRCP(Audio/Video Remote Control Profile),也就是音頻/視頻遠程控制規范
  2. AVRCP設計用於提供控制TV、Hi-Fi設備等的標准接口。此配置文件用於許可單個遠程控制設備(或其它設備)控制所有用戶可以接入的A/V設備。它可以與 A2DP 或 VDP 配合使用
  3. AVRCP定義了如何控制流媒體的特征。包括
    1. 暫停
    2. 停止
    3. 啟動重放
    4. 音量控制
    5. 其它類型的遠程控制操作
  4. AVRCP 定義了兩個角色
    1. 控制器: 控制器通常為遠程控制設備,控制器將檢測到的用戶操作翻譯為 A/V 控制信號,然后再將其傳輸至遠程 Bluetooth 設備。對於"隨身聽"類型的媒體播放器,控制設備可以是允許跳過音軌的耳機
    2. 目標設備: 目標設備為特征可以更改的設備。在 AVRCP 中,目標設備則是實際的播放器。常規紅外遙控器的可用功能可以在此協議中實現
  5. AVRCP 協議規定了AV/C 數字接口命令集的應用范圍,實現了簡化實施和易操作性。此協議為控制消息采用了AV/C 設備模式和命令格式,這些消息可以通過音頻/視頻控制傳輸協議 (AVCTP) 傳輸

OPP

藍牙通信程序部分需采用用於設備之間傳輸數據對象OPP Profile: Object Push Profile由於OPP profile又細分為OPPC (client)端和OPPS(server)端profile,這兩個profile區別在於只有client端可以發起數據傳輸的過程,但是附件設備與手機通信的情景中,既有手機發起數據傳輸請求也有設備側發起傳輸請求的需要,所以要在設備中實現OPPC和OPPS兩個profile

PBAP

電話號碼簿訪問協議(Phonebook Access Profile)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM