本文主要是講述了BLE應用提高數據通信速率的方法,主要可簡述為以下幾個方面:
●使能DLE單幀數據長度擴展;
●BLE5.0及以上版本,使用LE 2M PHY;
●使用通知notify或寫入無響應Write without ●Response數據類型
●盡可能增大 MTU,提高單次數據收發效率;
●選擇1個合適的連接間隔;
下文將針對以上幾點,進行詳細闡述。
描述
假設主從端采用通知有響應indicate數據類型,1M PHY編碼率,每個連接間隔包含1個連接事件(公式②中的連接事件時間,我司模塊采用協議棧默認值,一般就是協議棧允許最大值)。
如圖2,主、從機間單個數據包通信流程包含:從機發給主機空包、上一個包結束到下一個包開始之間的時間間隔IFS(協議規定是150us)、從機接收主機回復的完整data數據包、IFS。

圖1 連接間隔與連接事件

圖2 主、從機間收發1個數據包通信流程

圖3 BLE ATT數據幀結構
那么,公式①:

公式②:

公式③:

公式④:

公式⑤:

結論
分析上述BLE數據通信速率計算公式,可看出提高BLE數據通信速率的方法有以下幾點,具體分析過程如下所示:
●從上述公式①可看出,適當減小連接間隔可以提高BLE數據通信速率,但是也要明白連接間隔會影響功耗和客戶體驗,即連接間隔減小、功耗會提高;連接間隔增加、實時性越差、用戶體驗感越差。
●結合公式②和③可看出,避免空包出現可以提高BLE數據通信速率,所以一般建議客戶使用通知notify和寫入無響應Write without Response,而不要使用通知有響應indicate和寫入有響應Write。
●結合公式①和⑤可看出,使ATT payload盡可能的大,可提高BLE數據通信速率,那么使能DLE數據擴展后,Max ATT payload將從4.0/4.1協議的20bytes,提高至4.2/5.0協議的244bytes。
●結合公式④和⑤可看出,使用LE 2M PHY可以提高BLE數據通信速率,但是需注意2M PHY只有BLE5.0/5.1協議才支持,4.2及以下版本協議不支持。
●當MCU發給BLE設備的數據包字節數超過ATT MTU值時,協議棧會進行分包,如果ATT MTU盡可能大,例如大于等于Max ATT Payload,那么拆包數將達到最小,這將最小化數據包無效字節開銷(即除了ATT Payload外其他字節開銷),結合公式④和⑤可看出,這將極大提高BLE數據通信速率。
-
通信
+關注
關注
18文章
6389瀏覽量
140047 -
BLE
+關注
關注
13文章
776瀏覽量
66344
發布評論請先 登錄
華為數據通信下一代WAN網絡韌性與安全可靠性全面升級
SNx5LBC176A差分總線收發器:高速可靠數據通信的理想之選
SN65MLVD040:高速數據通信的理想之選
2025華為數據通信創新峰會歐洲站圓滿落幕
華為發布數據通信未來十大技術趨勢報告
工業數據通信網關是什么?有什么推薦?
華為品智聯接數據通信商業市場創新峰會圓滿落幕
2025華為數據通信創新峰會香港站圓滿收官
CYUSB3014采用5根地址線通信,但其中一條地址線懸空,對數據通信有影響嗎?
2025華為河南商業市場數據通信新品推介會成功舉行
AD7768與STM32F407進行數據通信,SPI1讀取到的數據不完整,整體數據在字節上出現偏移,怎么解決?
網段隔離器實現多網段PLC數據通信
BLE應用提高數據通信速率的方法
評論