低功耗藍牙模塊協(xié)議棧由哪幾部分組成呢
發(fā)布時間:2022-04-15 09:41:36
瀏覽:202
低功耗藍牙模塊協(xié)議棧由哪幾部分組成呢:
隨著物聯(lián)網(wǎng)的發(fā)展,業(yè)界對簡單的、不需要連接的多播或廣播通信的需求越來越迫切,藍牙協(xié)議是通信協(xié)議的一種,而低功耗藍牙模塊憑借其低功耗、短距離、可互操作,工作在免許可的2.4GHzISM射頻頻段的特性,使得BLE藍牙模塊在IOT領(lǐng)域取得廣泛應(yīng)用。為加深對低功耗藍牙模塊的認識,快來一起了解低功耗藍牙模塊協(xié)議棧由哪幾部分組成的吧!
在深入BLE協(xié)議棧各個組成部分之前,我們先看一下BLE協(xié)議棧整體架構(gòu)。
BLE協(xié)議棧整體架構(gòu):
低功耗藍牙模塊協(xié)議棧包含兩部分共8層:主機(Host)和控制器(Controller)。要實現(xiàn)一個BLE應(yīng)用,首先需要一個支持BLE射頻的芯片,然后還需要提供一個與此芯片配套的BLE協(xié)議棧,最后在協(xié)議棧上開發(fā)自己的應(yīng)用。可以看出BLE協(xié)議棧是連接芯片和應(yīng)用的橋梁,是實現(xiàn)整個BLE應(yīng)用的關(guān)鍵。
那BLE協(xié)議棧具體包含哪些功能呢?簡單來說,BLE協(xié)議棧主要用來對你的應(yīng)用數(shù)據(jù)進行層層封包,以生成一個滿足BLE協(xié)議的空中數(shù)據(jù)包,也就是說,把應(yīng)用數(shù)據(jù)包裹在一系列的幀頭(header)和幀尾(tail)中。具體來說,BLE協(xié)議棧主要由如下幾部分組成:
PHY層(Physical layer物理層)。PHY層用來指定BLE所用的無線頻段,調(diào)制解調(diào)方式和方法等。PHY層做得好不好,直接決定整個BLE芯片的功耗,靈敏度以及selectivity等射頻指標(biāo)。
LL層(Link Layer鏈路層)。LL層是整個BLE協(xié)議棧的核心,也是BLE協(xié)議棧的難點和重點。鏈路層用于控制射頻設(shè)備的工作狀態(tài),包括 5 種可能的工作狀態(tài):待機、廣播、掃描、啟動和連接。
HCI(Host controller interface)。HCI 層為主機和控制器之間的通信提供了一種標(biāo)準化的接口,其主要完成兩個任務(wù):① 發(fā)送命令給控制器和接收來自控制器的事件;② 發(fā)送和接收來自對端設(shè)備的數(shù)據(jù)。
L2CAP層(Logic link control and adaptation protocol)。L2CAP 邏輯鏈路控制及自適應(yīng)協(xié)議層(Logical Link ControlandAdaptationProtocol)為更高層提供數(shù)據(jù)封裝服務(wù),允許邏輯的端到端數(shù)據(jù)通信。
SM(Secure manager)。SM 層定義了配對和密鑰分發(fā)的方法,并為其他堆棧層的安全連接以及與另一個設(shè)備交換數(shù)據(jù)提供功能。
ATT(Attribute protocol)。ATT 屬性協(xié)議用于所有低功耗藍牙模塊的數(shù)據(jù)傳輸,具有快速、簡單的特點,其采用了客戶端(Client)/ 服務(wù)器(Server)架構(gòu)。
GAP層(Generic access profile)。低功耗藍牙模塊協(xié)議棧的 GAP 層與應(yīng)用 / Profile 直接連接,負責(zé)處理設(shè)備的接入方式和過程,包括設(shè)備發(fā)現(xiàn)、鏈路建立、鏈路終止、啟動安全功能以及設(shè)備配置。
GATT(Genericattributeprofile)。GATT層是一個服務(wù)框架,定義使用ATT的子過程。GATT規(guī)定了配置文件Profile的結(jié)構(gòu)。在低功耗藍牙模塊中,所有的數(shù)據(jù)塊由一個Profile或服務(wù)所使用的數(shù)據(jù)庫稱為特性(characteristic)。
對于開發(fā)者而言,不需要對每一層的具體實現(xiàn)都有深入的了解。只需要掌握與應(yīng)用緊密相關(guān)的GAP/GATT層即可滿足大部分開發(fā)的需求,通過SoftDevice(即協(xié)議棧,這種方式使得協(xié)議棧和用戶應(yīng)用可以單獨編譯和鏈接)的 API 軟件接口(以 sd_ 開頭)調(diào)用來實現(xiàn)。