藍牙開發零門檻之三:BLE 5.x 測速

INGCHIPS 為客戶提供易用的 SDK,幫助客戶便捷、高效地開發藍牙產品。

藍牙開發零門檻之三:BLE 5.x 測速

BLE 5.0 引入了 2M Sym/s 的無編碼物理層

1、理論峰值速率

BLE連接狀態下,單個數據包有效載荷最長 251 字節,2M 模式下,數據包空口時長為 1048 us;空包空口時長為 44us。當一個方向上持續發送 251 字節的數據包,而另一方向上只發送空包時,可以到達單向速率的理論最高值。此時,發送 251 字節所消耗的總時間為:

1048+44+150*2=1392(μs)

所以鏈路層所能提供的理論峰值速率為:

251*8/1392*1000000≈1442.528(kbps)

對於工作於 GATT 之上的應用程序,扣除 I2CAP、ATT 各層的開銷,典型情況下單個數據包中 GATT 最大有效載荷為 251 - 7 = 244 字節。所以 GATT 能為應用程序提供的理論峰值速率為:

244*8/1392*1000000≈1402.298(kbps)

2、速率實測

SDK 中包含了一組用於測試雙向吞吐率的程序

藍牙開發零門檻之三:BLE 5.x 測速

2.1 與手機對測

先下載 peripheral_throughput 程序。通過 ING BLE app 連接到名為 ING Tpt 的藍牙設備, 進入吞吐率測試界面,在這裡既可以進行主設備到從設備、從設備到主設備的單向測試,也可以同時進行雙向測試。

下圖是使用某支持 BLE 5.0 的 Android 手機測得的速率,從模塊到手機可獲得 1M+ bps 的傳輸速率。

藍牙開發零門檻之三:BLE 5.x 測速

2.2 模塊對測

central_throughput 程序演示了 BLE 主設備典型的工作流程和相關API的使用方法:

1. 掃描到支持吞吐率服務(service)的設備後,與其建立連接;

2. 發現設備上的吞吐率服務;

3. 發現服務包含的特性(characteristics);

4. 發現特性的描述符(descriptor)。

吞吐率服務包含兩個特性:

• 輸出:從設備通過該特性向主設備發送測試數據。該特性包含 Client Characteristic Configuration 描述符。

• 輸入:主設備通過該特性向從設備發送測試數據

將 central_throughput 下載到另一模塊,連接串口工具。輸入“?” (注意:需要在行末附加回車、換行) 可以查看程序支持的控制命令。程序搜索到 peripheral_throughput 後會自動連接,輸入“start s->m” 即可測試從主設備到從設備的吞吐率。

藍牙開發零門檻之三:BLE 5.x 測速

下圖顯示在兩個模塊之間穩定獲得了 1.2M+ bps 的傳輸速率:

藍牙開發零門檻之三:BLE 5.x 測速

注:上述速率為空口實測,比理論值略低,但更接近實際。

INGChips 918xx 通過 BLE 2M 物理層帶來的 1.2M+ “實感”速率無疑可以為 BLE 開拓更多的應用場景:支持視頻實時傳輸的智能門鈴,低時延高保真耳機等等。


分享到:


相關文章: