自藍芽4.0中引入藍芽低功耗以來,藍芽5 是藍芽標準中最重要的進步。它正在將藍芽le提公升到新的水平,並且正在使全新的用例成為可能,並改進現有的用例。
藍芽5 有四個重要的新功能:
更高的位元率為2 mbps。
長距離模式,在500 kbps和125 kbps的兩個新的較低位元率下具有更好的靈敏度。
通過廣告擴充套件,廣播功能提高了8倍。
改進的通道選擇演算法(csa#2),可以改善與其他藍芽和非藍芽流量的通道協調和共存效率。
該nrf52系列多協議的soc是高效能,支援藍芽5. nrf52840支援藍芽5的所有新功能,而其他成員支援所有藍芽5個特性與長距離模式除外。nrf52系列器件通過通用功能覆蓋基線,適用於高度複雜的藍芽5裝置。該系列中的所有器件均由合格的高效能生產級軟體堆疊提供支援。它們共同為使用藍芽5建立產品提供了無與倫比的開發選擇。
更高的資料吞吐量
藍芽le的位元率現已從單一傳輸速度(1mbps)擴充套件到四種離散位元率速度,如下所示。最大位元率加倍到2 mbps。與藍芽4.2中引入的進步一起,允許資料長度擴充套件(dle)的整體吞吐量比原始藍芽4.0水平高x5。現在,不包括定址等開銷的應用吞吐量可能高達1.4 mbps。
圖1具有不同有效載荷和位元率的吞吐量
這種增加為新應用提供了機會,這些應用只需要比以前更多的資料吞吐量。它還可以更快地實現空中裝置韌體公升級(ota-dfu)。與nrf5x系列socks的所有成員一樣,nrf52840是基於快閃儲存器的soc,因此它可以利用這種增加的速度來執行韌體更新,並且以批量方式上傳資料。
更長距離
藍芽5在物理(phy)層引入了藍芽無線電操作的重大變化。4位元率現在可用2 mbps,1 mbps,500 kbps和125 kbps。2 mbps顯然提供了更高的吞吐量可能性。為什麼要提供500 kbps和125 kbps的較低位元率。其原因在於,在這些較低的位元率下以及使用前向糾錯(fec)的相關le編碼處理,檢索周圍雜訊中的資料傳輸變得更容易。簡而言之,靈敏度提高了,特別是大約12 db。
在射頻方面,鏈路預算的6 db改善是理論上的倍增範圍,因此12 db的改進將可能範圍增加了四倍。鏈路預算可以通過額外的輸出功率來改善,但是關鍵的是藍芽5的長距離改進不依賴於改進的輸出功率,並且意味著可以實現高達四倍的範圍而無需增加峰值輸出功率。當選擇500kbps或125kbps模式時,吞吐量容量當然會降低,但對於許多相對簡單的感測和驅動應用的藍芽le應用而言,降低的吞吐量是完全足夠的。
增加廣播容量
引入廣告擴充套件以減輕廣告頻道占用和潛在的頻道擁塞。較長的分組長度和新的phy層增加了每個分組占用通道的時間長度。由於僅存在3個廣告通道,因此這些頻道很快就會變得擁擠,其廣告包具有較大的資料有效載荷,而空中傳輸速度較低,例如125kbs。廣告擴充套件通過如前所述在3個廣告渠道上進行廣告來緩解這一潛在問題,但要傳送的資料是在商定的非廣告渠道(資料渠道)上。
圖2廣告擴充套件分配廣告資料的渠道
廣告擴充套件的另乙個特徵是鏈結廣告包以建立圖2中所示的擴充套件廣告資料有效載荷的能力。3.
圖3廣告擴充套件「廣告資料報」的鏈結
定期廣告允許裝置之間更加同步的資料廣播。在該模式中,週期性廣告以確定的週期性間隔發生,從而允許真正的無連線廣播。
改進的共存與改進的通道跳躍排序
藍芽5還引入了改進的通道選擇演算法(csa#2)以改善下一跳通道選擇的偽隨機性。在存在wifi和其他藍芽裝置的情況下,csa#2將改善已啟用裝置的共存效能。所有nrf52系列soc都能夠支援csa#2。
nrf52系列藍芽5 soc
所有nrf52系列soc多協議soc均設計用於利用藍芽5的這些顯著效能優勢。此外,nrf52840還具有8 db的改進輸出功率以及藍芽5提供的全新遠端功能需要更長距離通訊的重要新應用可能性。
bufferedReader進一步理解
public static void main string args string mystring system.out.println 請輸入明文 bufferedreader buf new bufferedreader new inputstreamreader system.in try...
Looper Handler進一步學習
package com.test.looper import android.os.bundle import android.os.handler import android.os.handlerthread import android.os.looper import android.os....
進一步了解Makefile
mkdir p add src 一層一層建立目錄。touch add makefile 建立 makefile include 目錄中存放標頭檔案。scripts 存放指令碼檔案。存放方式 按照核心管理原始碼來管理。為什麼學習makefile?編譯大型專案 讀懂別人的開源 找到程式入口 看專案的順序...