實(shí)測藍牙Mesh 1.1性能更新 深入理解并徹底優(yōu)化
藍牙Mesh 1.1版本中引入了遠程配置和無(wú)線(xiàn)裝置韌體更新(OTA DFU)的功能。本文將透過(guò)廣泛部署基于Silicon Labs(芯科科技)的xG24和xG21無(wú)線(xiàn)SoC開(kāi)發(fā)板的節點(diǎn)并組成網(wǎng)絡(luò ),來(lái)分析在多個(gè)測試節點(diǎn)上進(jìn)行的一系列實(shí)驗結果,進(jìn)一步探索藍牙Mesh 1.1網(wǎng)絡(luò )的性能,包括網(wǎng)絡(luò )等待時(shí)間、遠程配置和OTA、DFU性能的詳細測試設置和結果等實(shí)用資料。
測試網(wǎng)絡(luò )及條件
隨著(zhù)網(wǎng)絡(luò )中節點(diǎn)數量的增加或數據報負載的增加,延遲也會(huì )相應增加。相比于有效負載,網(wǎng)絡(luò )對延遲的影響較小,但后者可能導致延遲大幅增加。
測試環(huán)境是位于布達佩斯的Silicon Labs商業(yè)辦公樓,其范圍內有Wi-Fi和低功耗藍牙網(wǎng)絡(luò ),本實(shí)驗相關(guān)的無(wú)線(xiàn)測試功能集(wireless test clusters)分別部署在走廊、會(huì )議室、辦公室和開(kāi)放區域。由于測試是在真實(shí)環(huán)境中進(jìn)行的,背景噪訊聲一直存在。這些噪聲來(lái)自員工在辦公室使用的藍牙與Wi-Fi裝置,以及辦公室的其他測試臺。不過(guò),測試過(guò)程還是采取了一些降噪措施。這些測試是在工作日的晚上和周末進(jìn)行的,目的是消除辦公室的一些噪聲來(lái)源。
在位于辦公室的大型網(wǎng)絡(luò )測試裝置上,進(jìn)行了多播延遲(multicast latency)和OTA DFU測試??偣灿?3個(gè)盒子分散在地板上,每個(gè)盒子包含4~6個(gè)設備,在網(wǎng)絡(luò )中自然發(fā)生跳躍的大面積上創(chuàng )建一個(gè)256個(gè)節點(diǎn)的網(wǎng)絡(luò )。每個(gè)盒子包含6個(gè)Silicon Labs的無(wú)線(xiàn)入門(mén)套件(WSTK),除了其中的一個(gè)盒子僅包含四個(gè)WSTK。
前27個(gè)盒子有4個(gè)EFR32xG24和2個(gè)無(wú)線(xiàn)電板(Wireless Gecko Starter Kit)。盒子28~42號則有3個(gè)EFR32xG24和3個(gè)EFR32xG21無(wú)線(xiàn)電板。43號箱有4塊EFR32xG24射頻板和1塊EFR32xG21射頻板。辦公室呈矩形,邊長(cháng)分別為38公尺和19公尺。由于樓梯、電梯、浴室和不同的空間設置,有18.5m x 7.5m的區域沒(méi)有放置設備。
圖一 : 網(wǎng)絡(luò )測試環(huán)境的設置布局
圖二 : 本實(shí)驗在辦公樓里測試所設置的網(wǎng)絡(luò )盒子
延遲測試和遠程發(fā)送測試都是在一個(gè)射頻屏蔽多跳測試網(wǎng)絡(luò )上進(jìn)行的。8個(gè)射頻隔離箱通過(guò)SMA和衰減桶(attenuation barrels)連接在一起,每個(gè)隔離箱至少包含一個(gè)EFR32xG24射頻板,用于藍牙Mesh測試用例。我們進(jìn)行了以下幾項主要測試和分析,以實(shí)際掌握藍牙Mesh 1.1網(wǎng)絡(luò )的性能。
延遲測試(Latency Test)
在露天和射頻屏蔽環(huán)境中測試了延遲,其中包括了單播測試(Unicast Test)與多播測試(Multicast Test)。
單播測試(Unicast Test)
在這個(gè)測試中,以定義的速率發(fā)送單播一對一有效負載訊息并測量數據報往返時(shí)間,方法是讓客戶(hù)端模型以?xún)煞N方式之一確認服務(wù)器模式發(fā)送的數據報:包括分段PDU(Packet Data Unit)的較低傳輸層確認,以及未分段PDU的客戶(hù)端模型層確認。
多播測試(Multicast Test)
對于此測試,有一個(gè)服務(wù)器節點(diǎn)和多個(gè)客戶(hù)端節點(diǎn)訂閱了一個(gè)網(wǎng)絡(luò )地址。服務(wù)器將數據封包傳送到該地址,并分別測量每個(gè)客戶(hù)端在給定客戶(hù)端上發(fā)送和接收之間的時(shí)間。該測試在大型露天網(wǎng)絡(luò )上運行。
單播和多播延遲測試的推理
隨著(zhù)有效負載大小從 8 字節增加到 32 字節,由于網(wǎng)絡(luò )需要傳輸更多的封包,所以延遲時(shí)間也隨之增加。我們可以發(fā)現,透過(guò)向網(wǎng)絡(luò )添加更多封包,延遲會(huì )線(xiàn)性增加。單一網(wǎng)格數據封包只能傳輸 12 字節的有效負載。隨著(zhù)節點(diǎn)數量從10增加到256,我們也可以觀(guān)察到,更高比例的高負載大小的訊息(16位和32位)被接收節點(diǎn)成功接收。
在所有情況下,大多數 8 字節有效負載都會(huì )在發(fā)送后 10 毫秒內收到。即使有 6 跳數,大多數 8 字節有效負載也會(huì )在 120 毫秒內發(fā)送。這表明數據封包通常必須較小,才能更快地發(fā)送并成功接收。分段會(huì )增加一些延遲,但在 8 位PDU大小下,即使我們強制分段,這種延遲也幾乎無(wú)法測量。
廣告擴展測試結果
廣告擴展(Advertising Extension)是一種非標準藍牙功能,可透過(guò)廣告「數據封包」忠實(shí)傳輸更大的數據有效負載,其大小比沒(méi)有AE傳輸的數據大得多。AE使網(wǎng)格訊息大小從 29 位增加到最大 236 位。
從上圖可以看出,對于給定的節點(diǎn)網(wǎng)絡(luò )規模(256 個(gè)節點(diǎn)),與不使用 AE 時(shí)相比,使用廣告擴展功能可以成功傳輸和接收更大比例的各種大小數據封包。還可以觀(guān)察到延遲顯著(zhù)改善,因為在所有測量的 PDU 大小中,大多數數據報在 40 毫秒內到達,因為不需要分段和重組。
遠程配置測試
對于遠程配置效能測試(Remote Provisioning Test),使用多跳設置,根據網(wǎng)絡(luò )中的跳數測量效能。建立了射頻屏蔽環(huán)境,以濾除辦公區域持續存在的干擾?,F有且不斷變化的射頻條件使該環(huán)境接近現實(shí)生活場(chǎng)景。這種設定確保沒(méi)有射頻干擾影響測試,最大限度地減少變異性,同時(shí)還在網(wǎng)絡(luò )中創(chuàng )建六跳。隨著(zhù)跳數的增加,配置時(shí)間也會(huì )增加,這是可以預料的,因為訊息封包會(huì )出現更多的來(lái)回沖突,特別是當訊息封包被接收方確認時(shí)的節點(diǎn)上。
無(wú)線(xiàn)裝置韌體更新測試
對于無(wú)線(xiàn)裝置韌體更新(OTA DFU Test)效能測試,由于節點(diǎn)數量較多,無(wú)法形成屏蔽環(huán)境,因此測試是在辦公室無(wú)人存在的時(shí)段進(jìn)行的,整個(gè)樓層的測試臺都處于關(guān)閉狀態(tài)。這使得測試能夠在稍微更規范的環(huán)境中進(jìn)行。OTA DFU 的效能方面在未分配中繼的 60 節點(diǎn)設定中進(jìn)行了測試。在啟用廣告擴充(AE)功能的情況下也測量了分發(fā)時(shí)間。
測試設定
在這次的大規模網(wǎng)絡(luò )設置中,使用了GSDK中現成的范例應用程序來(lái)配置分發(fā)器和啟動(dòng)器節點(diǎn),并只更改了一些參數。分發(fā)器運行的是Bluetooth Mesh - SoC DFU分發(fā)器范例應用程序,而啟動(dòng)器則在EFR32xG24板上運行Bluetooth Mesh NCP Empty v1.1范例應用程序。目標節點(diǎn)運行在ER32xG21和EFR32xG24板上,運行的是Bluetooth Mesh - SoC Sensor Server范例應用程序。分發(fā)器和啟動(dòng)器的選擇方式是使它們靠近網(wǎng)絡(luò )的中心,并且彼此相近。測試是在網(wǎng)絡(luò )PDU大小增加(廣告擴展)的情況下或不增加的情況下運行的。
過(guò)程中使用了兩個(gè)GBL文件作為更新目標。一個(gè)是節點(diǎn)無(wú)法驗證的虛擬圖像,另一個(gè)是節點(diǎn)在分發(fā)后成功應用的真實(shí)SOC sensor server GBL文件。在虛擬圖像的情況下,預期的測試結果是節點(diǎn)會(huì )在最后報告一個(gè)『驗證失敗』的狀態(tài)。
在圖三中,橙色圓圈表示啟動(dòng)器和分發(fā)器節點(diǎn)的位置。淡藍色區域是用來(lái)形成網(wǎng)絡(luò )的群集(每個(gè)包含六個(gè)設備),并用實(shí)心藍色框表示。這種設置方式提供了一個(gè)有效的測試環(huán)境,能夠準確地評估和優(yōu)化網(wǎng)絡(luò )性能。
圖三 : 60節點(diǎn)網(wǎng)絡(luò )平面圖
結語(yǔ)
藍牙Mesh的性能測試結果顯示,當有效負載能夠包含在單個(gè)資料封包中時(shí),其延遲表現極佳。如果有效負載小于16位,即使在6跳的情況下,延遲也可以保持在200毫秒以下。
然而,對于較大的網(wǎng)絡(luò ),隨著(zhù)網(wǎng)絡(luò )中節點(diǎn)數量的增加或數據報負載的增加,延遲也會(huì )相應增加。相比于有效負載大小,網(wǎng)絡(luò )大小對延遲的影響較小,但后者可能導致延遲的大幅增加。
在進(jìn)行這些測試時(shí),這些網(wǎng)絡(luò )的可靠性均超過(guò)99%。因此,為了在藍牙Mesh應用中實(shí)現低延遲和高可靠性,我們建議應用程序的有效負載應適合單個(gè)數據封包,并且需要多播消息傳遞的應用程序應避免使用分段消息。
此外,我們還需要進(jìn)行更多的測試來(lái)進(jìn)一步定義裝置行為和網(wǎng)絡(luò )操作。例如,我們可以進(jìn)行長(cháng)時(shí)間的穩定性測試,以觀(guān)察網(wǎng)絡(luò )性能是否會(huì )隨著(zhù)時(shí)間的推移而下降。在進(jìn)行測試時(shí),我們應該注意,在測試期間刪除網(wǎng)絡(luò )中的節點(diǎn),以進(jìn)行故障測試,并評估其對恢復時(shí)間和可靠性的影響。
當然,還應該在不同類(lèi)型的設備上進(jìn)行測試,包括在系統單芯片和網(wǎng)絡(luò )協(xié)處理器(NCP)模式下運行的設備。以前的測試已經(jīng)揭示了這些操作模式之間的一些差異,因此應該進(jìn)一步描述這些差異。這些都是在進(jìn)行后續測試時(shí)需要注意的事項。透過(guò)這些測試,就可以更深入地理解藍牙Mesh的性能,并找出優(yōu)化其性能的方法。
評論