藍牙協議是通信協議的一種,一般而言,我們把某個協議的實現代碼稱為協議棧(protocol stack),BLE協議棧就是實現低功耗藍牙協議的代碼,理解和掌握BLE協議是實現BLE協議棧的前提。 ?,當前的藍牙協議分為基礎率/增強數據率(BR/EDR)和低耗能(LE)兩種技術類型,本文云里物里將重點介紹BLE(Bluetooth Low Energy)。?,
,一、BLE低功耗藍牙協議??蚣? ,要實現一個BLE使用,首先需要一個支持BLE射頻的芯片,然后還需要提供一個與此芯片配套的BLE協議棧,最后在協議棧上開發自己的使用??梢钥闯鯞LE協議棧是連接芯片和使用的橋梁,是實現整個BLE使用的關鍵。那BLE協議棧具體包含哪些功能呢?簡單來說,BLE協議棧主要用來對你的使用數據進行層層封包,以生成一個滿足BLE協議的空中數據包,也就是說,把使用數據包裹在一系列的幀頭(header)和幀尾(tail)中。 ?,藍牙協議規定了兩個層次的協議,分別為藍牙核心協議(Bluetooth Core)和藍牙使用層協議(Bluetooth Application)。藍牙核心協議關心對藍牙核心技術的描述和規范,它只提供基礎的機制,并不關心如何運用這些機制;藍牙使用層協議,是在藍牙核心協議的基礎上,根據具體的使用需要,百花齊放,定義出各種各樣的策略,如FTP、文件傳輸、局域網等等。?,
,而藍牙核心協議(Bluetooth Core)又包含BLE Controller和BLE Host兩部分。這兩部分在不一樣的藍牙技術中(BR/EDR、AMP、LE),承擔角色略有不一樣,但大致的功能是相同的。Controller負責定義RF、Baseband等偏硬件的規范,并在這之上抽象出用于通信的邏輯鏈路(Logical Link);Host負責在邏輯鏈路的基礎上,進行更為友好的封裝,這樣就可以屏蔽掉藍牙技術的細節,讓Bluetooth Application更為方便的運用。?,
,二、BLE低功耗藍牙核心協議層詳解(Bluetooth Core)?,1、物理層(Physical Layer,簡寫 PHY):PHY層用來指定BLE所用的無線頻段,調制解調方式和方式等。是1Mbps自適應跳頻的GFSK射頻,工作于免許可證的2.4GHz ISM(工業、科學與醫療)頻段。PHY層做得好不好,直接決定整個BLE芯片的功耗,靈敏度以及selectivity等射頻指標。?,2、鏈路層(Link Layer,簡寫 LL):LL層是整個BLE協議棧的核心,也是BLE協議棧的難點和重點。LL層要做的事情非常多,比如具體選擇哪程度 個射頻通道進行通信,怎么識別空中數據包,具體在哪個時間點把數據包發送出去,怎么保證數據的完整性,ACK如何接收,如何進行重傳,以及如何對鏈路進行管理和控制等等。LL層只負責把數據發出去或者收回來,對數據進行怎樣的解析則交給上面的GAP或者ATT。?,3、主機控制接口層(Host Controller Interface,簡寫 HCI):HCI是可選的,HCI主要用于2顆芯片實現BLE協議棧的場合,用來規范兩者之間的通信協議和通信命令等。 ?,4、通用訪問配置文件層(Generic access profile,簡寫GAP):GAP是對LL層payload(有效數據包)如何進行解析的兩種方式中的一種,而且是最簡單的那一種。GAP簡單的對LL payload進行一些規范和定義,因此GAP能實現的功能極其有限。GAP現在主要用來進行廣播,掃描和發起連接等。 ?,5、邏輯鏈路控制及自適應協議層(Logical Link Control and Adaptation Protocol,簡寫 L2CAP):L2CAP對LL進行了一次簡單封裝,LL只關心傳輸的數據本身,L2CAP就要區分是加密通道還是普通通道,同時還要對連接間隔進行管理。 ?,6、安全管理層(Security Manager,簡寫 SM):SMP用來管理BLE連接的加密和安全的,如何保證連接的安全性,同時不影響用戶的體驗,這些都是SMP要考慮的工作。 ?,7、屬性協議層(Attribute protocol,簡寫 ATT):簡單來說,ATT層用來定義用戶命令及命令操作的數據,比如讀取某個數據或者寫某個數據。BLE協議棧中,開發者接觸最多的就是ATT。BLE引入了attribute概念,用來描述一條一條的數據。Attribute除了定義數據,同時定義該數據可以運用的ATT命令,因此這一層被稱為ATT層。,8、通用屬性配置文件層(Generic Attribute profile,簡寫 GATT):GATT用來規范attribute中的數據內容,并運用group(分組)的概念對attribute進行分類管理。沒有GATT,BLE協議棧也能跑,但互聯互通就會出問題,也正是因為有了GATT和各種各樣的使用profile,BLE擺脫了ZigBee等無線協議的兼容性困境,成了出貨量最大的2.4G無線通信產品。
上一篇:
無線藍牙門禁系統方案分析
下一篇:
一款專用于藍牙按摩儀的低功耗藍牙模塊