低功耗藍(lán)牙BLE協(xié)議棧簡(jiǎn)介

圖片來(lái)自BLUETOOTH SPECIFICATION Version 4.2和網(wǎng)絡(luò)。
內(nèi)容主要參考BLUETOOTH SPECIFICATION Version 4.2 ,
部分來(lái)自有網(wǎng)絡(luò)http://blog.csdn.net/ooakk/article/details/7302425

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

協(xié)議棧

BLE協(xié)議棧

藍(lán)牙系統(tǒng)核心包括射頻收發(fā)器,基帶和協(xié)議棧。核心系統(tǒng)協(xié)議包括射頻(RF)協(xié)議、鏈路控制(LC)協(xié)議、鏈路管理(LM)協(xié)議、邏輯鏈路的控制和適配(L2CAP)協(xié)議。 藍(lán)牙核心系統(tǒng)最底三層是射頻,鏈路控制,鏈路管理協(xié)議,通常會(huì)把這三者歸為一個(gè)子系統(tǒng)——藍(lán)牙控制器。把往上的其他層一起稱(chēng)為為藍(lán)牙主機(jī)。在藍(lán)牙控制器和藍(lán)牙主機(jī)之間實(shí)現(xiàn)通信通常需要有主機(jī)-控制器接口,Host to Controller Interface(HCI)。藍(lán)牙系統(tǒng)的具體應(yīng)用apps,就是建立在藍(lán)牙主機(jī)之上。而host部分由藍(lán)牙軟件廠(chǎng)商開(kāi)發(fā)和維護(hù),control部分由藍(lán)牙的硬件廠(chǎng)商提供,兩部分通過(guò)hci(主機(jī)控制器接口)進(jìn)行通信和數(shù)據(jù)交互。

Direct Test Mode

廠(chǎng)商提供的測(cè)試模塊,可以通過(guò)HCI或者串口直接控制藍(lán)牙的物理層來(lái)讓它收發(fā)數(shù)據(jù)包

Physical Layer(PHY)物理層

負(fù)責(zé)數(shù)據(jù)和語(yǔ)音的發(fā)送和接收,特點(diǎn)是短距離、低功耗。藍(lán)牙天線(xiàn)一般體積小、重量輕,屬于微帶天線(xiàn)。
1Mbps自適應(yīng)跳頻GFSK(高斯頻移鍵控),運(yùn)行在免費(fèi)的工業(yè)頻段2.4GHz。

Link Layer(LL)鏈路層

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

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

HCI層為接口層,向上為主機(jī)提供軟件應(yīng)用程序接口(API),對(duì)外為外部硬件控制接口,可以通過(guò)串口、SPI、USB來(lái)實(shí)現(xiàn)設(shè)備控制。

L2CAP邏輯鏈路控制和適配協(xié)議

L2CAP層提供數(shù)據(jù)封裝服務(wù),允許邏輯上的點(diǎn)對(duì)點(diǎn)通訊。
基于包的協(xié)議,將包傳輸?shù)紿CI,對(duì)于無(wú)主機(jī)系統(tǒng),就將包傳給鏈路管理器LM。支持多路復(fù)用,包的分割和重組,以及向上層協(xié)議提交服務(wù)質(zhì)量信息。

Security Manager(SM)安全管理

SM層提供配對(duì)和密匙分發(fā),實(shí)現(xiàn)安全連接和數(shù)據(jù)交換。

Attribute Protocal(ATT)屬性協(xié)議

ATT層負(fù)責(zé)數(shù)據(jù)檢索,允許設(shè)備向另外一個(gè)設(shè)備展示一塊特定的數(shù)據(jù)稱(chēng)之為屬性,在ATT環(huán)境中,展示屬性的設(shè)備稱(chēng)之為服務(wù)器,與它配對(duì)的設(shè)備稱(chēng)之為客戶(hù)端。鏈路層的主機(jī)從機(jī)和這里的服務(wù)器、客服端是兩種概念,主設(shè)備既可以是服務(wù)器,也可以是客戶(hù)端。從設(shè)備毅然。

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

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

gatt結(jié)構(gòu)
Generic Access Profile(GAP)通用訪(fǎng)問(wèn)協(xié)議

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容