新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 使用BLE 4.2的系統設計:更快、更安全、更節能

        使用BLE 4.2的系統設計:更快、更安全、更節能

        作者: 時間:2018-08-08 來源:網絡 收藏

        提到家庭和工業自動化、物聯網(IoT)、可穿戴設備、人機接口設備(HID)眾多應用的無線連接協議時,藍牙一定是首選。為滿足各種應用的需求,藍牙技術聯盟(SIG)對藍牙規格進行了持續改進。發布4.1版大約一年后, SIG在2014年12月藍牙發布了藍牙規范4.2版。新的4.2主要包括三項更新 - 低功耗(LE)數據長度擴展(DLE)、鏈路層(LL)隱私保護以及安全性加強。這些功能提高了BLE數據帶寬、隱私保護和安全性,同時還有助于降低功耗。本系列文章將詳細討論這些功能以及它們如何影響系統性能。

        本文引用地址:http://www.104case.com/article/201808/385815.htm

        藍牙低功耗(BLE)協議棧可以分成三個部分:

        器:協議棧器對數據包進行了加密,轉換為無線信號發送。在接收時,器將對無線信號解碼,并重構數據包。

        主機:主機由管理兩個或多個設備相互的各種協議和配置文件(安全管理器、屬性協議等)組成。

        應用:可使主機和控制器實現一個特定功能的用例。

        鏈路層(LL)

        藍牙4.2的大部分新功能都集中在鏈路層周圍。鏈路層在建立可靠物理鏈路和功能中扮演著非常重要的角色,有助于提高BLE協議穩健性和能效。鏈路層功能包括廣播、掃描、創建和維護連接以建立物理鏈路。在鏈路層上定義了兩個角色:主設備和從設備。

        數據長度擴展(DLE)

        數據長度擴展能夠使兩個BLE設備之間的數據傳輸更快。為了了解DLE功能,請先讓我們來看看鏈路層上的BLE數據包。下圖所示為藍牙4.0/4.1的鏈路層數據包結構。

        如果我們仔細觀察各數據包的開銷,將發現存在1個字節的前導、4個字節的訪問地址、2個字節的數據頭、3個字節的循環冗余檢查(CRC)和一個可選的4個字節的消息完整性檢查(MIC)。當使用加密時,消息完整性檢查(MIC)將與有效負載一起發送。因此,每個包含27個字節數據的加密鏈路層數據均含有14個字節的開銷。現在,讓我們來看看藍牙4.2定義的鏈路層數據包結構。

        相較于舊版本藍牙規范的27字節,藍牙4.2中的有效負載量可達到251個字節。每個數據包開銷仍然保持不變,即14個字節。然而,該開銷現已與多達251個字節相關聯,而不是27個字節。這種最小有效負載的變化提高了吞吐量并減少了處理時間。

        圖4所示為當數據需要通過藍牙4.1和藍牙4.2從一個設備傳輸至另一個設備時的吞吐量。

        在上圖中,數據包時間的計算方法如下:

        數據包時間= 8 *(前導字節的數量+訪問地址字節的數量+頭字節的數量+有效負載字節的數量+ MIC字節的數量+ CRC字節的數量)/數據速率 秒

        對于接收數據包,不存在有效負載和MIC字節。因此,接收數據包時間為:

        發送數據包時間= 8 *(1 + 4 + 2 + 3)/ 106 秒

        =80微秒

        含27個字節的有效負載的發送數據包時間為:

        發送數據包時間= 8 *(1 + 4 + 2 + 27 + 4 + 3)/ 106秒

        =328微秒

        同樣,251個字節的有效負載的發送數據包時間為2120微秒。

        另外,如上圖所示,隨著各發送/接收數據包,存在兩個相關的幀間間隔(T_IFS),一個為發送期間,一個為接收期間。如果某個事務的幀數量增加,則該事務的耗時也將成比例地增加。當數據長度功能被啟用時,相較于藍牙4.1,藍牙4.2在一個幀內打包了更多數據,從而減少了每次事務處理的總時間,并增加了吞吐量(其中,吞吐量 =有效負載尺寸/總時間)。

        如上圖所示,對于藍牙4.1鏈路層,最大有效負載尺寸為27個字節(216比特)以及該交易的總時間為708微秒,意味著約 298 kbps的理論吞吐量。

        而對于4.2鏈路層,最大有效負載尺寸為251個字節(2008比特)以及總時間為2500微秒,意味著約 784 kbps的理論吞吐量。因此,相較于藍牙4.1,藍牙4.2提供了大約2.6倍的更高吞吐量。

        BLE 4.2允許主設備和從設備之間協商數據長度,還允許不對稱的發送和接收有效負載量。有效地利用該功能以及選擇合適的接收/發送數據長度對于實現最大吞吐量具有十分重要的意義。

        讓我們考慮這樣一個應用:BLE從設備需要將幾千字節傳輸至主設備、從主設備接收空包并且連接間隔為8.75毫秒。假設在以下設置中協商數據長度(從設備):

        情景1 – 發送 - 251個字節,接收 - 251字節

        情景2 – 發送 - 251個字節,接收 - 27字節

        在情景1中,如圖5所示,在第一次接收/發送數據包時,接收有效負載尺寸為0字節以及發送有效負載尺寸為251個字節,耗時2.5毫秒(包括幀間間隔)。第二次接收/發送數據包也是一樣的。這兩個接收/發送數據包共耗時5毫秒,在此連接間隔內剩下3.85毫秒。在理想情況下,應該在同一連接間隔內存在另一個接收/發送數據包。但是,主設備的調度器不會在此連接間隔內安排另一個接收/發送數據包。這是因為調度器會基于協商的數據長度(本案例中發送/接收的數據長度均為251)來檢查發送/接收數據包是否具有足夠的時間。如圖所示,含有接收和發送有效負載量為251字節的接收和發送數據包需要4.54毫秒。然而,前兩個數據包之后的可用時間為3.85毫秒,這導致在本連接間隔內僅2個發送數據包。

        在情景2中,在該連接間隔內,調度器僅需要2.64毫秒就可調度一個數據包,因此在8.75毫秒的連接間隔內可以容納第三個數據包,如圖6所示。如圖所示,相對于案例1,本案例將提供高于50%的吞吐量。

        盡管PDU尺寸的選擇會影響吞吐量,但還存在對其產生影響的其他因素,比如,連接間隔和最大傳輸單元(MTU)。

        數據長度的擴展可通過任何連接設備的控制器來觸發。如果兩個設備都支持數據長度的擴展功能,則該設備可發送一個獲取更新數據長度的請求,而其他設備將通過其自己的參數來做出響應。圖7所示為協商進程。


        上一頁 1 2 下一頁

        關鍵詞: 控制 通信

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阿城市| 修武县| 手机| 嘉荫县| 竹北市| 郑州市| 苏尼特右旗| 长武县| 黑河市| 铜山县| 来安县| 旌德县| 勐海县| 正镶白旗| 南京市| 嘉荫县| 沧州市| 和静县| 饶平县| 新乡市| 桦甸市| 三河市| 沙田区| 夏津县| 连江县| 黔西| 平南县| 朝阳区| 龙川县| 行唐县| 叙永县| 遵化市| 宁津县| 错那县| 江城| 交城县| 肇源县| 六盘水市| 台北县| 探索| 晋中市|