BLE 傳輸速率/數據吞吐量(Data Throughput)

 

 

 

 

  1. 理論速率

    在BLE產品中,一個普遍的矛盾就是功耗和數據速率之間的矛盾:爲了傳輸快,就需要提高傳輸速率,但提高傳輸速率,則增大了功耗。

     

    BLE規範目前定義了兩種調製速率1Mbit/s和2Mbps,

     

    BLE 5.0理論上最高可以支持到2Mbps,但在實際應用中會收到各種原因影響,速率會低很多,例如雙向傳輸,協議開銷(協議頭),CPU的能力,RF硬件的限制等等

     

    一旦BLE設備建立連接後,兩個設備會以相等的時間間隔交換數據,這個間隔成爲連接間隔(Connection Interval),間隔範圍是7.5ms-4s。並且,要交互的數據都發生在Connection Event之間,其餘時間處於sleep狀態,即使應用層無數據交互,整個鏈路也會以Connection Interval間隔交互數據(空包),應用層數據多,Connection Event時間就越長,sleep時間就越短。

 

 

 

因此,連接間隔決定着傳輸速率,值越小,發送數據越快,但功耗也會越大。假如連接間隔是7.5ms,每個連接間隔可以發送125個字節,那麼單向傳輸速率計算如下:

 

 

1000ms / 7.5ms *125bytes = 16666 bytes/sec = 133333 bps

 

如果是有迴應的,雙向傳輸:

 

1000 ms / (2 * 7.5 ms) * 125 bytes = 8,333 bytes/sec =66,666 bps

 

2. PDU大小

 

在數據通過BLE傳輸時,數據是以包(packet)的方式收發的,多個包可以在一個連接間隔內發送出去,每個包大小並不一定一樣,但包有最大限制,因此又需要引入一個PDU(protocoldata unit)的概念。最大PDU表示在一個連接間隔中能發送的最大數據能力。不同BLE協議棧中或者不同的芯片支持的值是不同的例如下圖是Silabs藍牙芯片中支持的情況。

 

 

3. ATT MTU

MTU(maximumtransfer unit)和最大PDU類似,也用於表示在一次連接間隔內能發送多少數據,其概念用於GATT交互中。

數據吞吐量(DataThroughput)的計算

Nordic nRF51822

nRF51822使用的是1MbpsPHY,根據其規範說明,一個連接間隔內最大可以發送120個字節,因此當連接間隔設置爲7.5ms時,最大傳輸速率計算:

 

1000ms/7.5ms * 120 = 15960 bytes /s = 127680 bps

 

可以看到,即使按照最短連接間隔計算,速率也原小於BLE規範理論速率。

 

Nordic nRF52840 

 

nRF52840 支持藍牙5.0,其ATT PDU是可配置的,假如我們設置MTU爲251 個字節,按照最小連接間隔讀操作或者有迴應寫操作,計算如下:

 

 

1000ms / (2*7.5 ms)* 251bytes = 16733  bytes/sec = 133866bps

 

 

4. 藍牙5.0的最大數據吞吐量

 

要獲取最大數據吞吐能力,可以將寫操作屬性設置爲不需要ACK,即Write withoutACK,此時IFS以及接受和發送的時間都將極大優化,其藍牙官網中給出的最大計算能力表示如下:

 

各個版本最大值如下

 

 

 

參考

https://www.bluetooth.com/blog/exploring-bluetooth-5-how-fast-can-it-be/

https://www.nordicsemi.com/Products/Low-power-short-range-wireless/nRF52840

https://www.silabs.com/community/wireless/bluetooth/knowledge-base.entry.html/2015/08/06/throughput_with_blue-Wybp

 

zz

https://mp.weixin.qq.com/s?__biz=MzI1NTIzMTk0Ng==&mid=2247483667&idx=1&sn=801d1c24764e31c89a0b53f2da635c29&chksm=ea3853b6dd4fdaa04c74a60ebb9728299d022f73e811962fed6e47664a406ad58043b2567b97&token=1514169698&lang=zh_CN#rd

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章