【物聯網】藍芽
阿新 • • 發佈:2018-12-18
藍芽
藍芽技術的特點
- 全球範圍通用:2.4GHz的ISM頻段。
- 同時傳輸語音和資料:採用電路交換和分組交換技術,支援非同步資料通道,三路語音通道或非同步和同步語音同時傳輸的通道。每個語音通道為64kbit/s。
- 語音訊號調製用脈衝編碼調製(PCM)或連續可變斜率增量調劑(CVSD)。資料通道分為非對稱資料傳輸和對稱資料傳輸。
- 藍芽定義了兩種鏈路型別:非同步無連線鏈路(ACL)和麵向同步連線線路(SCO),前者傳資料後者傳語音。
- 可建立臨時性的對等連線。
- 有很好的抗干擾能力:跳頻方式來擴充套件頻譜。分79頻點,每相頻間隔1MHz。頻點選擇順序是偽隨機
- 體積小以便於整合到各個裝置
- 微小的功耗:啟用模式、呼吸模式、保持模式、休眠模式。
藍芽系統組成結構
硬體部分
- 無線射頻單元
- 負責資料的發射和接受。短距離、低功耗、體積小、重量輕。
- 採用全向天線,支援點到多點通訊;支援終端移動性;訊號傳輸不受視距影響
- 射頻採用的調製方式:高斯濾波二進位制頻移鍵控(GFSK)
- 藍芽裝置的核心:無線單元(藍芽無線接收器),完成資訊跳頻擴散與解擴功能。無線收發器晶片
- 鏈路控制單元:進行射頻訊號與數字或語音訊號的轉換,負責處理基帶協議
- 網路建立:ACL與SCO均採用時分雙工通訊。ACL支援對稱和非對稱兩種傳輸流量,同時支援廣播,主裝置控制鏈路單元。負責從裝置頻寬分配。從裝置輪詢方式傳送資料。SCO:對稱連線,實時語音傳輸,無需輪詢。可語音可資料。中斷時僅資料重傳。
- 差錯控制:
- 1/3千向糾錯編碼(FEC):使用與含有重要連線資訊的糾錯
- 2/3FEC
- 自動請求重傳:在傳送後在下一時隙給出確認的資料傳輸。
- 驗證與加密:物理層提供。口令應答方式:採用流密碼加密技術
- 藍芽裝置的模組化應用
- 硬體部分一般把所有晶片和電阻、電容等元件集中在一塊電路塊,成為獨立藍芽模組。
- 最重要的元件是基帶控制器與RF發射元件。主要電子元件包含記憶體、處理器(CPU)、基帶、射頻模組。
軟體部分
- 鏈路管理單元:鏈路軟體管理,主要執行鏈路設計、鑑權、配置和藍芽裝置建立連線做的工作。
- 軟體單元:藍芽軟體系統按照實現各種過程和程序的標準化協議而編寫。軟體系統應用互操作性。軟體的互通性要求裝置採用相同應用層協議,獨立的系統。
- 藍芽模組的軟體執行環境:位於HCI層以上(模組軟體部分)
- 高層協議棧一般設計為一個軟體部分,運行於主機裝置,稱為主機棧。其支援多種硬體平臺,良好使用者介面。使用了虛擬作業系統概念(VOS),從而把協議棧直接嵌入式實時作業系統或標準作業系統,可移植性。
- 在HCI層下附加了序列介面層,實現利用不同HCI介面的對映
- 藍夜協議棧提供了藍芽應用程式介面(API)
- 藍芽協議棧軟體中附加了一個協議棧的管理模組
自適應跳頻技術
AFH建立在自動通道質量分析基礎上的一種頻率自適應和功率自適應控制相結合的技術。使自動避開被幹擾的跳頻頻點,以最小發射功率、最低的被截獲概率,達到在無干擾的跳頻通道長時間優質通訊。
-
應用步驟:裝置識別、通道分類、分類資訊交換、自適應跳頻。
- 裝置識別:由鏈路層管理協議(LMP)在通訊前交換資訊,確認通訊雙方支援AFH模式。LMP中包含二者通訊使用的最小通道數。
- 按照傳輸質量對通道分類。按LMP格式形成分類表。在主裝置從裝置交換資訊後,以分類表為依據來自適應跳頻。時分形式。
-
藍芽AFH的結構:在頻率同步器和跳頻序列發生器中加入了一個分組對映器(自適應頻率選擇器),通過L模式與H模式,在藍芽頻率選擇器中,若輸出是好通道:直接使用;壞通道:好通道分組中重選頻率。
-
藍芽採用AFH來避免干擾,保證微微網良好的QoS,保證網路正常吞吐率與可靠性。減小重發、降低時延。
藍芽協議
- 傳輸協議組:用於使藍芽裝置能確認彼此協議組相互位置,並建立、配置與管理物理以及邏輯鏈路。協議族包括射頻、基帶、鏈路管理協議,邏輯鏈路控制和自適應協議以及主機控制器介面協議。
- L2CAP層(邏輯鏈路控制和適配協議):為應用和高層協議遮蔽了下層傳輸協議的細節
- LMP層:通過LMP與藍芽空中介面協商可得到的效能(分配頻寬為了資料與音訊業務),以查詢-相應方式鑑權。
- 基帶與無線層:匹配的無線發射器與接收機。基帶層決定了藍芽的空中藉口,定義了裝置相應查詢過程及建立連線方式。為設別定義了主從關係。定義了形成跳頻序列以及裝置共享介面規定。藍芽既支援電路交換也支援分組交換。基帶幀保留了一部分時隙用於同步分組,用時分雙工(TDD)實現全雙工傳輸
- HCI層(主機控制器介面)允許包括應用在內的高層協議通過一個通道標準介面訪問基帶層、鏈路管理層、暫存器等。
- 中介軟體協議組網際網路相關協議(PPP、IP、ICP……)無線應用協議(WAP)與IrDA等交換協議
- RFCOMM層(電纜替代協議):方便將有線序列通訊中的應用搬到無線序列通訊中來。實現諸如同步、撥號上網等功能。
- SDP層:為裝置定義了發現其他裝置提供服務的方法。服務發現是實現使用者價值關鍵內容
- IDrA互操作協議:在無線網路中交換與同步資料。OBEX協議是對等通訊的會話協議,IrMC協議實現物件同步。
- TCS層與音訊:包括呼叫控制功能、組管理功能及裝置交換呼叫信令資訊的方法。允許同時間有3個通道。
- 應用協議組
藍芽基帶資料傳輸機理
- 48位藍芽裝置地址BD_ADDR是藍芽裝置連線過程的唯一標準
- 3位的微微網啟用點地址AM_ADDR使用者標識微微網中啟用成員,3位全用作廣播資訊。
- 8位的微微網休眠節點地址PM_ADDR標識休眠的從節點
- 微微網接入地址AR_ADDR分配微微網中要啟動喚醒過程的從節點
- 藍芽資料傳輸
- 藍芽分組:接入碼用來定時同步、偏移補償、尋呼和查詢;分組頭包含6欄位,用於鏈路控制;藍芽使用快速,不編號的分組確認方式,通過設定合適的ARQN值來區分確定收到資料分組
- 連結及流控制:
- SCO連結是一個對稱的主從節點之間點對點的同步連結,屬於電路交換,攜帶語音資訊,不支援重傳
- ACL:在沒有SCO連結的保留時隙中,提供可以與任何從節點非同步或同步交換的機制,用多少ACL分組時,用分組重分保證資料完整性
- 先進先出(FIFO)佇列實現ACL與SCO連結的發射、接受。
- 藍芽裝置連線採用分組快速確認技術和跳頻方案來確保鏈路、通道穩定。
- 跳頻選擇:把頻帶分成多個通道。無線電收發器按一定序列從一個通道跳到另一個。
- 藍芽連線建立:從待令狀態到連線狀態
- 查詢:從節點找可監視區域的藍芽設別,使用IAC
- 查詢掃描:此過程裝置可以監聽普通查詢接入碼(GIAC)和特定查詢接入碼(DIAC)
- 查詢響應:攜帶本節點的DAC(裝置訪問碼)、本地時鐘資訊
- 尋呼(Page):主節點在不同跳頻序列發訊息,啟用一個從節點並建立連線
- 尋呼掃描
- 從節點響應
- 主節點響應
- 連線狀態:以主節點發送一個POLL分組開始,表明建立連線。建立後,主節點的藍芽裝置地址BD_ADDR決定跳頻序列與通道接入碼。連線狀態子狀態:Active、Sniff:從節點不支援ACL分組、Park。
- 快速連線轉移模式:基站控制器通過給定新基站地址和時鐘資訊去幫移動裝置跟它們建立關係
藍芽技術的安全機制
藍芽通訊技術中,比較典型的安全風險:1. 採用ISM2.4GHz頻段發信息,與許多同類協議如IEEE802.11b,家用裝置等產生頻段衝突。2. 電磁訊號傳送過程中易被擷取、分析,失去保密性。3.通訊對端實體身份易被冒充。針對以上風險:調頻技術,加密,身份鑑別機制。
- 網路安全模式
- 非安全模式
- 業務安全模式:服務級安全機制對系統各個應用與服務進行保護,包括授權訪問、身份鑑別、加密傳輸。此模式加密與鑑別發生在邏輯鏈路控制和適配協議(L2CAP)通道建立前。安全體系和新是安全管理器。
- 鏈路層安全模式:對所有應用和服務的訪問都需實行訪問授權、身份鑑別和加密。此模式鑑別發生於鏈路配置完成前(在低層協議完成其安全性過程)。系統在鏈路層同時用4種不同實體保證安全:藍芽單元獨立的地址BD_ADDR、每次業務處理的隨機數(會話祕鑰128bit),驗證金鑰(128bit),加密金鑰(8-128bit)
- 匹配:兩臺藍芽連結時,個人識別碼(PIN)和一個隨機數建立初始金鑰Kinit,此過程為匹配
- 鑑權:挑戰-應答方案,經2-MOV協議來校驗
- 加密:採用分組方式保護有效載荷。分組報頭和其他控制資訊不加密,用序列碼E0對有效載荷加密
- 金鑰管理技術
- PIN(個人識別碼)1-16位元組的字串,預設長度4位元組,PIN值可以改變
- 鏈路金鑰:驗證並生成加密金鑰,處理裝置間所有安全問題
- 加密金鑰Ec
- 加密演算法(E0):流加密方式。原理是利用線性反饋移位暫存器產生偽隨機序列,從而形成使用者加密的金鑰流,後將金鑰流與待加密資料流進行異或實現加密
低功耗藍芽(BLE協議)
- 核心(core)核心由射頻收發器、基帶、協議棧組成
- 配置檔案(Profiles)指定連線裝置的一般行為
-
BLE底層協議
- 物理協議層:工作與2.4Hz的ISM頻段,用高斯頻移鍵控(GFSK)
- 鏈路協議層:控制射頻狀態下藍芽的5種工作狀態
-
BLE中間層協議:資料分解與重組、服務質量控制等服務
- 主控制器介面層(HCI)主機與主控制器的通訊橋樑
- L2CAP:向上層下一層提供定向連結資料服務及無連結服務
-
BLE高層協議
- 通用訪問配置協議:定義裝置基本功能
- 通過屬性配置協議:在屬性協議基礎上,傳輸和儲存資料
- 屬性協議:定義了互聯裝置資料傳輸格式