江蓓,岳桂君,周欣
(重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065)
智能電網(wǎng)在應(yīng)對全球氣候變化,促進世界經(jīng)濟可持續(xù)發(fā)展等方面具有重要的作用,是未來新型電網(wǎng)的基本模式[1-2],其網(wǎng)絡(luò)安全對保障國家重要設(shè)施安全具有關(guān)鍵作用[3]。
用戶用電信息采集系統(tǒng)是智能電網(wǎng)完成用電數(shù)據(jù)采集、電網(wǎng)狀態(tài)監(jiān)測等功能的實現(xiàn)載體[4],該系統(tǒng)的本地通信方式主要有RS485 通信、電力線載波通信、微功率無線通信等[5-6],但隨著電力需求的快速增長,這些通信方式已難以滿足保證海量數(shù)據(jù)安全、信號高速傳輸、網(wǎng)絡(luò)升級靈活的要求[7]。因此,國家電網(wǎng)開始研究寬帶微功率(Broadband Micro-power,BMP)無線通信技術(shù),該技術(shù)具有高帶寬、高速率、高穩(wěn)定性等優(yōu)點,可實現(xiàn)數(shù)據(jù)的高速和高實時性傳輸。
為避免協(xié)議開發(fā)過程中的二義性理解[8],保證各協(xié)議實現(xiàn)之間能夠互聯(lián)互通,需要進行一致性測試。而良好的一致性測試系統(tǒng)能夠使測試工作更高效,所以設(shè)計實現(xiàn)一種適用于寬帶微功率MAC 層的一致性測試系統(tǒng)對驗證協(xié)議開發(fā)的準確性至關(guān)重要。
文獻[9]介紹了一種基于TCL(Tool Command Language)腳本設(shè)計的自動化測試系統(tǒng),并使用虛擬操作系統(tǒng)模擬器QEMU(Quick Emulator)模擬ARM 芯片,來加載待測的電力微功率協(xié)議棧,節(jié)約了測試成本,但該系統(tǒng)對協(xié)議實現(xiàn)的時隙性能測試無法覆蓋;文獻[10]基于TTCN-3框架設(shè)計了一種寬帶PLC 一致性測試系統(tǒng),為PLC 設(shè)備的互操作性奠定了基礎(chǔ),但測試步驟較為復(fù)雜;文獻[11]設(shè)計了針對寬帶電力線載波的一致性測試集和測試系統(tǒng),實現(xiàn)了高層協(xié)議的一致性測試,但未針對MAC 層測試詳細分析。
本文首先介紹了寬帶微功率協(xié)議和一致性測試相關(guān)概念,然后對寬帶微功率MAC 層一致性測試系統(tǒng)進行設(shè)計,最后對系統(tǒng)進行驗證及分析。
寬帶微功率網(wǎng)絡(luò)中包含中央?yún)f(xié)調(diào)器(Center Coordinator,CCO)、代理協(xié)調(diào)器(Proxy Coordinator,PCO)和站點(Station,STA)這3 種類型的通信設(shè)備,其中CCO 安插在集中器中,STA 安插在電能表中。在寬帶微功率網(wǎng)絡(luò)中,CCO 為網(wǎng)絡(luò)的中心,PCO 是中繼代理,STA 則作為普通節(jié)點連接在CCO 或PCO 上。
寬帶微功率協(xié)議棧架構(gòu)如圖1 所示,其中應(yīng)用層定義了CCO 和STA 之間各種業(yè)務(wù)的數(shù)據(jù)交互過程;數(shù)據(jù)鏈路層包括網(wǎng)絡(luò)管理子層(NWK 層)和媒體訪問控制層(MAC 層),NWK 層的功能有網(wǎng)間協(xié)調(diào)、組網(wǎng)及網(wǎng)絡(luò)維護等,MAC 層主要用于完成數(shù)據(jù)處理過程,并對網(wǎng)絡(luò)中的時隙進行規(guī)劃管理;物理層包括發(fā)送端和接收端兩個部分,發(fā)送端對發(fā)送數(shù)據(jù)進行編碼調(diào)制,接收端對接收數(shù)據(jù)進行解調(diào)和譯碼。
寬帶微功率MAC 層有8 個主要功能,分別如下:
(1)信標機制是指MAC 層會根據(jù)自身站點角色及需求,生成對應(yīng)的中央信標、代理信標或發(fā)現(xiàn)信標,且其中都攜帶了CCO 對時隙的規(guī)劃信息,以此來觸發(fā)網(wǎng)絡(luò)中未入網(wǎng)的STA 申請入網(wǎng)。
(2)時隙管理是指一個信標周期中包含信標時隙、TDMA 時隙、CSMA 時隙和綁定CSMA 時隙,為實現(xiàn)對時隙的統(tǒng)一管理,CCO 會進行時隙規(guī)劃并將規(guī)劃信息填充到中央信標幀中,PCO 和STA 接收到中央信標幀后,即可根據(jù)時隙規(guī)劃信息對信道進行訪問。
(3)信道訪問是指在CSMA 時隙中,站點在競爭信道時可能會在同一時刻發(fā)送報文,從而產(chǎn)生時隙沖突。故在對CSMA 信道訪問時,MAC 層會進行基本的沖突判斷和退避后再占用信道發(fā)送報文。
(4)數(shù)據(jù)處理是指MAC 層會在發(fā)送MAC 幀時將其分片成多個小的物理塊體,進而生成長或短MPDU(MAC Protocol Data Unit)傳輸,在接收MAC 幀時再對物理塊體進行重組獲得原始的MAC 幀。
(5)選擇確認重傳是由于站點發(fā)送業(yè)務(wù)幀時會指定站點進行回應(yīng),故指定站點接收到業(yè)務(wù)幀后會回復(fù)表明接收情況的SACK(Selective Acknowledgement)幀,便于發(fā)送站點根據(jù)SACK 幀判斷站點是否接收完全。
(6)報文過濾是指MAC 層會根據(jù)報文中的某些字段判斷其是否是重復(fù)報文,若是則不再處理該報文。
(7)單播/廣播是指報文的兩種傳播方式,單播方式下報文中指定了接收站點,其他站點可不做處理,廣播方式下所有站點都需進行處理,MAC 層會在MPDU 幀控中填充“廣播標志位”字段來區(qū)分這兩種模式。
(8)時間同步是為了使網(wǎng)絡(luò)中設(shè)備同步到一個統(tǒng)一的時間,實現(xiàn)對時隙的統(tǒng)一管理。MAC 層會在信標幀中填充BTS(Beacon Time Stamp)字段,STA 收到后可根據(jù)BTS 進行時間同步,將自身時間向CCO 對齊。
一致性測試不需要了解協(xié)議的內(nèi)部實現(xiàn),只是從協(xié)議的外部行為來判斷協(xié)議實現(xiàn)是否符合要求,是保證協(xié)議實現(xiàn)質(zhì)量的必不可少的手段[12-13]。根據(jù)控制觀察點的不同,在ISO 9646[14]中定義了4 種不同的抽象測試方法,其中本地測試法架構(gòu)如圖2 所示。
圖2中,IUT(Implementation Under Test)是被測實體,ASP(Abstract Service Primitives)是協(xié)議層間的服務(wù)原語。本地測試法可以將上下測試器集成到一個程序中,比較適合用于研發(fā)階段。在一致性測試過程中,本地測試法能夠更容易地完成對上下測試器的協(xié)調(diào),從而達到簡化測試過程的目的[15]。
通過對MAC 層功能進行分析,總結(jié)出寬帶微功率MAC 層一致性測試系統(tǒng)存在的設(shè)計難點主要包括如何保證時間準確性、如何對功能進行合理分配以及如何保證系統(tǒng)穩(wěn)定性等。針對以上問題,設(shè)計在寬帶微功率MAC 層一致性測試系統(tǒng)中引入真實的硬件模塊,并通過其攜帶的時間戳寄存器解決測試系統(tǒng)的時間精度問題。測試系統(tǒng)總體框架設(shè)計如圖3 所示。
測試系統(tǒng)中,用戶/測試人員通過控制界面控制測試平臺執(zhí)行測試例,并實時查看測試信息。測試平臺通過上下測試點接口和被測對象連接進行數(shù)據(jù)交互。測試平臺由軟、硬件測試平臺兩部分組成,其中軟件測試平臺包含PC 端軟件和硬件模塊中的嵌入端軟件,硬件測試平臺包含整個測試系統(tǒng)中的硬件設(shè)備,由軟件驅(qū)動。軟件測試平臺主要用于實現(xiàn)測試例的開發(fā)和管理、測試報告的生成和存儲以及硬件設(shè)備的控制等,硬件測試平臺負責(zé)執(zhí)行具體的測試步驟,二者協(xié)作即可完成對寬帶微功率MAC 層的一致性測試。
硬件測試平臺要能夠執(zhí)行具體的測試步驟,實現(xiàn)對被測對象的一致性測試,根據(jù)測試系統(tǒng)框架設(shè)計,最終搭建的硬件測試平臺架構(gòu)如圖4 所示。
硬件測試平臺中,PC 與硬件模塊之間通過USB 數(shù)據(jù)線連接,是網(wǎng)口通信,硬件模塊由A53 和R5 兩個處理單元組成,這二者之間通過核間通信完成數(shù)據(jù)交互。PC、A53 和R5 三者相互協(xié)作,控制測試例執(zhí)行,共同組成了一個完整的測試平臺。
另外,由于本文中的一致性測試系統(tǒng)采用的是本地測試法,因此測試平臺具有上下測試點,其中上測試點位于PC端,主要模擬集中器和電能表與被測設(shè)備進行交互,其接口為PC 與被測設(shè)備之間的串口,通過FT232串口線連接;下測試點位于硬件模塊中,主要模擬CCO、PCO 或STA 與被測設(shè)備進行交互,下測試點與被測對象之間通過天線進行通信。
3.2.1 PC 端軟件架構(gòu)
PC 端軟件首先要為用戶提供簡單易操作的控制界面,其次要便于測試開發(fā)人員對測試用例進行開發(fā)、管理以及維護,最后要能夠和測試系統(tǒng)中其他部分穩(wěn)定通信,基于以上考慮,最終設(shè)計的PC 端軟件架構(gòu)主要包括三部分,具體如圖5 所示。
控制界面為一個可視化的圖形界面,包括測試用例管理模塊、測試執(zhí)行控制模塊、測試日志顯示模塊和測試報告管理模塊。通過這4 個模塊,用戶可以在控制界面選取測試用例控制其執(zhí)行,并通過可視化窗口實時觀察測試執(zhí)行信息,在測試用例執(zhí)行完畢后也能通過控制界面查看測試報告,分析測試結(jié)果。
測試用例模塊主要用于測試用例的開發(fā)和執(zhí)行,包括測試開發(fā)模塊和測試執(zhí)行模塊。其中,測試開發(fā)模塊用于將抽象的測試集生成為具體的測試例,而測試執(zhí)行模塊負責(zé)執(zhí)行測試腳本并記錄執(zhí)行信息,在執(zhí)行結(jié)束后生成對應(yīng)的測試報告。
接口控制模塊主要負責(zé)的是相關(guān)接口的配置及通信,根據(jù)硬件測試平臺架構(gòu)可知,PC 端有兩個主要的接口:一是PC 端與被測設(shè)備之間通信的串口,二是PC 與硬件模塊之間通信的網(wǎng)口。接口控制模塊的作用就是保證這兩個接口能夠正常穩(wěn)定地通信。
3.2.2 嵌入端軟件架構(gòu)
硬件模塊選用的是成都定為電子技術(shù)有限公司定制的FPGA 開發(fā)板,此款開發(fā)板使用Xilinx 的ZYNQ Ultra-Scale+MPSoC XCZU6CG 作為基帶處理芯片,其中包含A53 和R5 兩個處理單元。A53 中運行Linux 操作系統(tǒng),R5 中運行μC/OS-II 實時操作系統(tǒng),通過這兩個部分的協(xié)作處理,可實現(xiàn)測試平臺的相關(guān)功能。嵌入端的軟件架構(gòu)如圖6 所示。
嵌入端軟件架構(gòu)中,A53 主要負責(zé)與PC 端進行通信,在接收到測試例執(zhí)行信息后,A53 就會執(zhí)行相應(yīng)的測試步驟,構(gòu)造發(fā)送報文,并對R5 傳送過來的響應(yīng)報文進行一致性評判。因此,A53 中包含了PC 通信模塊、測試執(zhí)行模塊以及測試結(jié)果判決模塊。
R5 主要負責(zé)和被測對象通信,故R5 中含有一個射頻收發(fā)模塊。R5 中還包含一個時隙處理模塊,用于對時隙進行處理和判斷。例如模擬STA時,該模塊會進行時間同步,并計算信標時隙和CSMA 時隙的結(jié)束時間,為后續(xù)報文收發(fā)和時隙判斷做準備。同步時間和時隙結(jié)束時間的計算過程如下:
同步時間計算公式為:
式中,BTS 為CCO 發(fā)出信標的時間,STA_NTB 為站點開始進行時間同步時的時間,RT_NTB 為站點接收到中央信標時記錄的時間。
信標時隙結(jié)束時間計算公式為:
式中,BPST 為信標周期起始時間,BTSL 為信標時隙長度,單位為1 ms;NON_SLOT_NUM 為非中央信標時隙總數(shù);NTB_MS 表示1 ms 的時鐘計數(shù)值25 000。
CSMA 時隙結(jié)束時間計算公式為:
式中,CSMATSL 為CSMA 時隙長度,單位為10 ms;NTB_10MS 表示10 ms 的時鐘計數(shù)值250 000。
另外,A53 和R5 中都包含了一個核間通信模塊,其主要是利用核間中斷(Inter-Processor Interrupts,IPI)實現(xiàn)的。當(dāng)一方要傳輸數(shù)據(jù)時,就會觸發(fā)中斷,而另一方等待到中斷后即可執(zhí)行相應(yīng)操作讀取數(shù)據(jù)。
為驗證本文所設(shè)計的測試系統(tǒng)能完成寬帶微功率MAC 層的一致性測試,搭建一致性測試環(huán)境,從功能和非功能兩個角度分別對系統(tǒng)進行驗證。
4.1.1 測試系統(tǒng)通信自測
本文中所設(shè)計的一致性測試平臺包含PC 和硬件模塊兩部分,故測試系統(tǒng)通信自測主要驗證PC 與硬件模塊之間的通信和硬件模塊中A53 與R5 的通信。
圖7 為PC 與硬件模塊通信驗證過程示意圖。由圖中標識1~3 可知,在PC 端可以成功登錄到A53 所在的Linux 系統(tǒng),并實現(xiàn)文件的正確拷貝,說明PC 端和硬件模塊之間能夠正常通信。
圖8 為A53 與R5 通信驗證過程的log 信息圖,左右分別為R5 和A53 打印的log 信息。由圖可知,A53 發(fā)出的報文被R5 正確接收,說明A53 與R5 之間能夠成功通信,實現(xiàn)數(shù)據(jù)的正確收發(fā)。
4.1.2 測試例執(zhí)行驗證
為進一步證明測試系統(tǒng)能夠支持測試例的執(zhí)行。在測試系統(tǒng)中執(zhí)行測試例“STA 周期發(fā)送發(fā)現(xiàn)信標”,最終所得控制界面如圖9 所示,由圖可知測試執(zhí)行信息均正確顯示,證明測試系統(tǒng)可正確執(zhí)行測試例。
4.2.1 時間精度驗證
由于測試系統(tǒng)需具有較高的時間精度才能完成MAC 層時隙相關(guān)內(nèi)容的測試,故編寫測試例進行驗證。使測試系統(tǒng)周期發(fā)送一條測試幀,每次發(fā)送測試幀時,將定為開發(fā)板上GPIO 接口的電平拉高,并接通示波器觀察其波形。獲取波形圖中兩高電平之間的間隔時間,與預(yù)設(shè)間隔時間取差值即可得出系統(tǒng)的時間誤差,時間誤差計算公式如下:
其中,TimeDiff 為時間誤差,Et 為預(yù)設(shè)間隔時間,Rt 為實際間隔時間。
從波形圖中隨機抽取100 組數(shù)據(jù),計算時間誤差分布情況如圖10 所示,圖中橫坐標為計數(shù)值,表示采集數(shù)據(jù)的次數(shù),縱坐標為時間誤差。由圖可知,測試系統(tǒng)的時間誤差都在15 μs 左右,波動較小,而寬帶微功率協(xié)議中時隙數(shù)值的單位都為毫秒,故該測試系統(tǒng)能夠滿足MAC 層時隙測試的要求。
4.2.2 穩(wěn)定性驗證
為保證執(zhí)行大量測試用例時,測試系統(tǒng)能正常工作,對測試系統(tǒng)的穩(wěn)定性進行驗證。針對CCO、PCO、STA 3種被測對象分別選取一個測試例,構(gòu)造信道質(zhì)量正常、天線距離較遠、衰減較大這3 種環(huán)境,分別執(zhí)行測試例500次,所得測試執(zhí)行通過率如表1 所示。
表1 測試用例通過率
由表1 可知,在信道質(zhì)量正常情況下,測試用例通過率能夠達到100%,在另外兩種信道質(zhì)量較差的情況下,測試通過率相對降低,但均在90%以上,基本滿足要求,說明測試系統(tǒng)穩(wěn)定性達標。
本文針對寬帶微功率MAC 層一致性測試進行研究,設(shè)計了一種軟硬件測試平臺相結(jié)合的一致性測試系統(tǒng)。相較于當(dāng)前的寬帶微功率一致性測試系統(tǒng),該系統(tǒng)具有較高的時間精度,可實現(xiàn)MAC 層時隙功能的精準測試。通過測試驗證,證明該系統(tǒng)已實現(xiàn)所有功能和性能要求,可完成對寬帶微功率MAC 層的一致性測試,保證了MAC 層通信的準確性,提高了產(chǎn)品的可靠性,為寬帶微功率技術(shù)的發(fā)展奠定了基礎(chǔ)。