低功耗藍牙BLE協議棧簡介

圖片來自BLUETOOTH SPECIFICATION Version 4.2和網絡。
內容主要參考BLUETOOTH SPECIFICATION Version 4.2 ,
部分來自有網絡http://blog.csdn.net/ooakk/article/details/7302425

BLE,blooth low power,即藍牙低功耗技術。
該技術具有低成本、短距離、可互操作的特性,工作在免許可的2.4GHz ISM射頻頻段。

協議棧

BLE協議棧

藍牙系統核心包括射頻收發器,基帶和協議棧。核心系統協議包括射頻(RF)協議、鏈路控制(LC)協議、鏈路管理(LM)協議、邏輯鏈路的控制和適配(L2CAP)協議。 藍牙核心系統最底三層是射頻,鏈路控制,鏈路管理協議,通常會把這三者歸為一個子系統——藍牙控制器。把往上的其他層一起稱為為藍牙主機。在藍牙控制器和藍牙主機之間實現通信通常需要有主機-控制器接口,Host to Controller Interface(HCI)。藍牙系統的具體應用apps,就是建立在藍牙主機之上。而host部分由藍牙軟件廠商開發和維護,control部分由藍牙的硬件廠商提供,兩部分通過hci(主機控制器接口)進行通信和數據交互。

Direct Test Mode

廠商提供的測試模塊,可以通過HCI或者串口直接控制藍牙的物理層來讓它收發數據包

Physical Layer(PHY)物理層

負責數據和語音的發送和接收,特點是短距離、低功耗。藍牙天線一般體積小、重量輕,屬于微帶天線。
1Mbps自適應跳頻GFSK(高斯頻移鍵控),運行在免費的工業頻段2.4GHz。

Link Layer(LL)鏈路層

LL層為RF控制器,控制設備處于準備(standby)、廣播、監聽/掃描(scan)、初始化、連接,這五種狀態中一種。
五種狀態切換描述為:未連接時,設備廣播信息,另外一個設備一直監聽或按需掃描,兩個設備連接初始化,設備連接上了。
發起聊天的設備為主設備,接受聊天的設備為從設備,同一次聊天只能有一個意見領袖,即主設備和從設備不能切換。

Host-Controller Interface(HCI)主機控制器接口

HCI層為接口層,向上為主機提供軟件應用程序接口(API),對外為外部硬件控制接口,可以通過串口、SPI、USB來實現設備控制。

L2CAP邏輯鏈路控制和適配協議

L2CAP層提供數據封裝服務,允許邏輯上的點對點通訊。
基于包的協議,將包傳輸到HCI,對于無主機系統,就將包傳給鏈路管理器LM。支持多路復用,包的分割和重組,以及向上層協議提交服務質量信息。

Security Manager(SM)安全管理

SM層提供配對和密匙分發,實現安全連接和數據交換。

Attribute Protocal(ATT)屬性協議

ATT層負責數據檢索,允許設備向另外一個設備展示一塊特定的數據稱之為屬性,在ATT環境中,展示屬性的設備稱之為服務器,與它配對的設備稱之為客戶端。鏈路層的主機從機和這里的服務器、客服端是兩種概念,主設備既可以是服務器,也可以是客戶端。從設備毅然。

Generic Attribute Profile(GATT)通用屬性協議

GATT層定義了使用 ATT 的服務框架和配置文件(profiles)的結構。BLE 中所有的數據通信都需要經過GATT。
它定義兩個 BLE 設備通過叫做 ServiceCharacteristic 的東西進行通信。GATT 就是使用了 ATT(Attribute Protocol)協議,ATT 協議把 Service, Characteristic遺跡對應的數據保存在一個查找表中,次查找表使用 16 bit ID 作為每一項的索引。

gatt結構
Generic Access Profile(GAP)通用訪問協議

GAP直接與應用程序或配置文件(profiles)通信的接口,處理設備發現和連接相關服務。另外還處理安全特性的初始化。對上級,提供應用程序接口,對下級,管理各級職能部門,尤其是指示LL層控制室五種狀態切換,指導保衛處做好機要工作。
GAP給設備定義了若干角色,其中主要的兩個是:外圍設備(Peripheral)和中心設備(Central)。
外圍設備:這一般就是非常小或者簡單的低功耗設備,用來提供數據,并連接到一個更加相對強大的中心設備。例如小米手環。
中心設備:中心設備相對比較強大,用來連接其他外圍設備。例如手機等.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容