新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 使用BLE4.2的系統(tǒng)設(shè)計:更快、更安全、更節(jié)能-第1部分

使用BLE4.2的系統(tǒng)設(shè)計:更快、更安全、更節(jié)能-第1部分

作者: 時間:2016-11-07 來源:電子產(chǎn)品世界 收藏

  提到家庭和工業(yè)自動化、(IoT)、可穿戴設(shè)備、人機(jī)接口設(shè)備(HID)眾多應(yīng)用的無線連接協(xié)議時,藍(lán)牙一定是首選。為滿足各種應(yīng)用的需求,藍(lán)牙技術(shù)聯(lián)盟(SIG)對藍(lán)牙規(guī)格進(jìn)行了持續(xù)改進(jìn)。發(fā)布4.1版大約一年后, SIG在2014年12月藍(lán)牙發(fā)布了藍(lán)牙規(guī)范4.2版。新的4.2主要包括三項更新 - 低功耗(LE)數(shù)據(jù)長度擴(kuò)展(DLE)、鏈路層(LL)隱私保護(hù)以及安全性加強(qiáng)。這些功能提高了數(shù)據(jù)帶寬、隱私保護(hù)和安全性,同時還有助于降低功耗。本系列文章將詳細(xì)討論這些功能以及它們?nèi)绾斡绊懴到y(tǒng)性能。

本文引用地址:http://m.butianyuan.cn/article/201611/339774.htm

  藍(lán)牙低功耗()協(xié)議??梢苑殖扇齻€部分:

  控制器:協(xié)議??刂破鲗?shù)據(jù)包進(jìn)行了加密,轉(zhuǎn)換為無線信號發(fā)送。在接收時,控制器將對無線信號解碼,并重構(gòu)數(shù)據(jù)包。

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

  應(yīng)用:可使主機(jī)和控制器實現(xiàn)一個特定功能的用例。

  

 

  鏈路層(LL)

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

  數(shù)據(jù)長度擴(kuò)展(DLE)

  數(shù)據(jù)長度擴(kuò)展能夠使兩個BLE設(shè)備之間的數(shù)據(jù)傳輸更快。為了了解DLE功能,請先讓我們來看看鏈路層上的BLE數(shù)據(jù)包。下圖所示為藍(lán)牙4.0/4.1的鏈路層數(shù)據(jù)包結(jié)構(gòu)。

  

 

  如果我們仔細(xì)觀察各數(shù)據(jù)包的開銷,將發(fā)現(xiàn)存在1個字節(jié)的前導(dǎo)、4個字節(jié)的訪問地址、2個字節(jié)的數(shù)據(jù)頭、3個字節(jié)的循環(huán)冗余檢查(CRC)和一個可選的4個字節(jié)的消息完整性檢查(MIC)。當(dāng)使用加密時,消息完整性檢查(MIC)將與有效負(fù)載一起發(fā)送。因此,每個包含27個字節(jié)數(shù)據(jù)的加密鏈路層數(shù)據(jù)均含有14個字節(jié)的開銷?,F(xiàn)在,讓我們來看看藍(lán)牙4.2定義的鏈路層數(shù)據(jù)包結(jié)構(gòu)。

  

 

  相較于舊版本藍(lán)牙規(guī)范的27字節(jié),藍(lán)牙4.2中的有效負(fù)載量可達(dá)到251個字節(jié)。每個數(shù)據(jù)包開銷仍然保持不變,即14個字節(jié)。然而,該開銷現(xiàn)已與多達(dá)251個字節(jié)相關(guān)聯(lián),而不是27個字節(jié)。這種最小有效負(fù)載的變化提高了吞吐量并減少了處理時間。

  圖4所示為當(dāng)數(shù)據(jù)需要通過藍(lán)牙4.1和藍(lán)牙4.2從一個設(shè)備傳輸至另一個設(shè)備時的吞吐量。

  

 

  在上圖中,數(shù)據(jù)包時間的計算方法如下:

  數(shù)據(jù)包時間= 8 *(前導(dǎo)字節(jié)的數(shù)量+訪問地址字節(jié)的數(shù)量+頭字節(jié)的數(shù)量+有效負(fù)載字節(jié)的數(shù)量+ MIC字節(jié)的數(shù)量+ CRC字節(jié)的數(shù)量)/數(shù)據(jù)速率 秒

  對于接收數(shù)據(jù)包,不存在有效負(fù)載和MIC字節(jié)。因此,接收數(shù)據(jù)包時間為:

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

  =80微秒

  含27個字節(jié)的有效負(fù)載的發(fā)送數(shù)據(jù)包時間為:

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

  =328微秒

  同樣,251個字節(jié)的有效負(fù)載的發(fā)送數(shù)據(jù)包時間為2120微秒。

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

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

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

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

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

  情景1 – 發(fā)送 - 251個字節(jié),接收 - 251字節(jié)

  情景2 – 發(fā)送 - 251個字節(jié),接收 - 27字節(jié)

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

  

 

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

  

 

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

  數(shù)據(jù)長度的擴(kuò)展可通過任何連接設(shè)備的控制器來觸發(fā)。如果兩個設(shè)備都支持?jǐn)?shù)據(jù)長度的擴(kuò)展功能,則該設(shè)備可發(fā)送一個獲取更新數(shù)據(jù)長度的請求,而其他設(shè)備將通過其自己的參數(shù)來做出響應(yīng)。圖7所示為協(xié)商進(jìn)程。

  

 

  如果一臺不支持?jǐn)?shù)據(jù)長度擴(kuò)展功能的設(shè)備接收到數(shù)據(jù)長度的更新請求時,將會返回一個未知的回復(fù)。該回復(fù)將通知發(fā)起請求的設(shè)備另一臺設(shè)備不支持DLE,該設(shè)備將繼續(xù)傳輸符合藍(lán)牙4.1 PDU尺寸的數(shù)據(jù)。也就是說,數(shù)據(jù)長度擴(kuò)展支持向下兼容。

  數(shù)據(jù)長度擴(kuò)展在提高吞吐量的同時,也通過減少射頻活動時間從而有助于降低功耗。這是因為在藍(lán)牙4.2中,如果數(shù)據(jù)尺寸大于27字節(jié),所需的接收/發(fā)送數(shù)據(jù)包更少、射頻活動的時間更短)。比如說,需要傳輸 135個字節(jié),BLE4.1設(shè)備在連接時需要5個發(fā)送/接收數(shù)據(jù)包來傳輸數(shù)據(jù);然而BLE4.2設(shè)備在傳輸相同數(shù)量的數(shù)據(jù)時只需一個發(fā)送/接收數(shù)據(jù)包。在無線應(yīng)用中,射頻通信消耗了大多數(shù)的系統(tǒng)電力。使用DLE,射頻通信活動時間減少,可以顯著延長電池壽命。



關(guān)鍵詞: BLE 物聯(lián)網(wǎng)

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉