對低功耗藍牙技術(4.0)的初步了解(一)


什么是BLE

  BLE即Bluetooth Low Energy,低功耗藍牙技術,是一種短距無線通信技術,它被設計時的目標不是為了非常快速的通信,而是為了實現一種短距的,低成本的,低功耗的通信。在目前被廣泛使用的版本為V4.0版本,隨着SIG(藍牙技術聯盟)的技術標准更新,V4.1,V4.2,V5.0的版本也在逐步進入市場。

  BLE使用的通信頻段為2.45GHz,這是一個擁擠的頻段,我們日常使用的wifi,經典藍牙,無線鼠標等一些設備共同使用着這個頻段,為了使藍牙在本頻段中具有較高的魯棒性,BLE使用了自適應跳頻技術,並且使用了校驗碼功能來保證數據的正確性。

低功耗藍牙通常由控制器,主機和應用程序組成。控制器就是我們通常使用的藍牙物理設備,它可以發送或接收無線信號。主機通常是一個軟件棧,保存了一些規范與協議。而應用程序通過使用軟件棧,進而控制物理層來進行藍牙通信。(圖源CSDN)


 

控制器

物理層:物理層將數字信號以射頻的方式發送出去,具體涉及到了高斯頻移鍵控技術(GFSK,一種信號調制方式),這里不深入。 在物理層傳輸中,2.4GHz頻段被划分為40個RF信道,各信道的寬度為2MHz。物理層在每微秒傳輸1bit的數據。
鏈路層:鏈路層是一個較為復雜的部分,它負責了廣播,掃描,建立與維護連接的功能。藍牙主機與從機需要使用鏈路層來實現它們的通信。鏈路層的信道具體分為兩種:廣播信道和數據信道。
說到廣播信道,我們通常會想到IP地址中的255廣播地址。但在藍牙中,廣播信道是一個特定的通信頻段。在BLE中,廣播信道有三個(三個信道實際上是為了同時保證低功耗和魯棒性的折中產物),當兩個設備通過廣播相互確定了連接關系后,它們便跳入數據信道進行通信(可以推得數據信道有40-3=37個)。
藍牙在任意信道上發送得數據均為小巧得數據包,這些數據包的長度在80bit-376bit之間。(隨着版本的變化,數據包的長度可能會有變化),這些數據包具體包含了什么呢?這里我們可以放一張圖:(圖源CSDN)

從圖中我們可以看到,數據的結構是這樣的:
8位前導信號:為魯棒性服務
32位接入地址:在廣播信道中為固定值,在數據信道中為一個隨機的私有值
8位報頭,8位長度:描述了馬上要發送的具體數據
0-296位數據:具體數據信息
24位CRC校驗:校驗碼,確保信息無錯誤bit


主機/控制器接口:主機控制器接口是BLE中的標准接口,此接口為主機與控制器提供了通信橋梁。通過此接口,雙方可以進行數據互通。這個接口分為邏輯接口和物理接口兩個部分,如果BLE在物理層上被集成到了單芯片上,組件之前的傳輸就不需要真正的需要物理接口,如果系統的控制器和主機在物理層上是分開的,則需要物理接口進行承載。

 


 

主機

  主機實際上是一個協議棧,通常它包含的協議有邏輯鏈路控制和適配協議,安全管理協議,屬性協議,並包含了通用屬性規范和通用訪問規范。這些協議通常概括了信道的使用標識,數據包的結構和連接請求的方式等一些通信中具體涉及的方式與信息結構。

 


 

應用層
  如果我們只是藍牙的使用者,那我們不需要特別關注藍牙的通信是怎樣實現的,而只需要關注怎樣實現藍牙的應用即可。

  低功耗的藍牙主要圍繞着兩類設備:中央設備和外圍設備。中央設備的首要任務是發現其他設備,它的首要任務是發現其他設備,並和外圍設備建立連接,與之綁定並建立長期通信關系。而外圍設備需要做的就是可以被發現,可以被連接,並且在低功耗的情況下與中央設備建立可靠的連接。

 

  (之后將進行藍牙具體的實物應用學習)

  (參考:《低功耗藍牙開發權威指南》)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM