, , ,
(中國電力科學(xué)研究院有限公司,北京 100192)
電力線載波通信(power line communications,PLC)技術(shù)已廣泛應(yīng)用于國外用電信息采集或高級計(jì)量系統(tǒng)(AMI)的各個場合,在國內(nèi)也已經(jīng)普遍應(yīng)用于自動抄表領(lǐng)域。除了用電信息采集外,電力線載波通信技術(shù)還可廣泛應(yīng)用于智能家居、樓宇控制和物聯(lián)網(wǎng)等領(lǐng)域。當(dāng)前電力線載波通信技術(shù)正在從窄帶向?qū)拵Оl(fā)展,寬帶載波通信已成為近年來電力線載波通信研發(fā)和應(yīng)用的熱點(diǎn)技術(shù),目前中國電力企業(yè)聯(lián)合會、國家電網(wǎng)公司、南方電網(wǎng)公司均正在制定或已經(jīng)制定面向用電信息采集系統(tǒng)的寬帶載波通信數(shù)據(jù)傳輸協(xié)議,可以預(yù)見寬帶電力線通信技術(shù)有著廣泛而重要的應(yīng)用前景。
在寬帶載波通信數(shù)據(jù)傳輸協(xié)議制定以及寬帶載波通信技術(shù)研發(fā)的過程中,需要同步研究寬帶載波通信一致性測試技術(shù)和系統(tǒng)。通過一致性測試,既可以驗(yàn)證協(xié)議的某個實(shí)現(xiàn)是否與所遵從的協(xié)議規(guī)范保持一致,同時也是保證不同設(shè)備廠商研發(fā)的通信設(shè)備能夠互聯(lián)互通的基礎(chǔ)。因此,寬帶載波通信協(xié)議一致性測試系統(tǒng)的研發(fā)對于推進(jìn)寬帶載波通信的標(biāo)準(zhǔn)化和設(shè)備互聯(lián)互通具有十分重要的意義。
本文依據(jù)國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)Q/GDW11612-2016《低壓電力線寬帶載波通信互聯(lián)互通技術(shù)規(guī)范》的設(shè)計(jì)機(jī)制,基于TTCN-3(Testing and Test Control Notation)測試框架提出了寬帶載波通信協(xié)議一致性測試方案并研發(fā)了測試系統(tǒng)。根據(jù)一致性測試?yán)碚摷皩拵щ娏€通信協(xié)議設(shè)計(jì)開發(fā)測試系統(tǒng)平臺和測試用例,利用一致性測試開發(fā)軟件Eclipse Titan開發(fā)并執(zhí)行測試套件,對待測設(shè)備進(jìn)行測試,驗(yàn)證了所提出的寬帶載波通信協(xié)議一致性測試系統(tǒng)設(shè)計(jì)的可行性。
寬帶載波通信數(shù)據(jù)傳輸協(xié)議規(guī)定了面向電力用戶用電信息采集系統(tǒng)的寬帶載波通信網(wǎng)絡(luò)的物理層、數(shù)據(jù)鏈路層和應(yīng)用層技術(shù),及適用于用電信息采集系統(tǒng)的集中器通信單元與電能表通信單元、采集器通信單元之間的數(shù)據(jù)交換機(jī)制。寬帶載波系統(tǒng)構(gòu)成的電力線通信網(wǎng)絡(luò)中,定義了三種設(shè)備角色:中央?yún)f(xié)調(diào)器(CCO)、代理協(xié)調(diào)器(PCO)以及站點(diǎn)(STA)。CCO為網(wǎng)絡(luò)中的主節(jié)點(diǎn),負(fù)責(zé)完成組網(wǎng)控制、網(wǎng)絡(luò)維護(hù)管理和用電信息采集等功能,其對應(yīng)的設(shè)備實(shí)體為集中器本地通信單元;PCO和STA對應(yīng)于安裝在電能表、采集器的通信單元設(shè)備,其中STA為網(wǎng)絡(luò)中從屬節(jié)點(diǎn),PCO在網(wǎng)絡(luò)中作為中繼節(jié)點(diǎn)連接CCO和STA。
在組網(wǎng)過程中,寬帶電力線通信網(wǎng)絡(luò)一般會形成以CCO為中心,以PCO為中繼代理,連接所有STA的多層級樹形網(wǎng)絡(luò),如圖1所示為典型的寬帶電力線通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
圖1 寬帶電力線通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
寬帶電力線通信網(wǎng)絡(luò)的協(xié)議棧如圖2所示,包括物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層以及應(yīng)用層。通常在寬帶電力線組網(wǎng)環(huán)境下,網(wǎng)絡(luò)層和傳輸層可以省略。
圖2 寬帶電力線通信網(wǎng)絡(luò)協(xié)議棧
應(yīng)用層實(shí)現(xiàn)了通信單元之間的業(yè)務(wù)數(shù)據(jù)交互,通過數(shù)據(jù)鏈路層和物理層完成數(shù)據(jù)傳輸。數(shù)據(jù)鏈路層分為網(wǎng)絡(luò)管理子層和媒體訪問控制(MAC)子層,網(wǎng)絡(luò)管理子層實(shí)現(xiàn)寬帶電力線通信網(wǎng)絡(luò)的組網(wǎng);MAC子層通過CSMA/CA和TDMA兩種信道訪問機(jī)制訪問物理信道,實(shí)現(xiàn)報文的可靠傳輸。物理層的主要功能是進(jìn)行發(fā)送端編碼和調(diào)制,以及接收端解調(diào)和譯碼。
一致性測試是指檢測協(xié)議的某個實(shí)現(xiàn)與所對應(yīng)的協(xié)議規(guī)范是否一致,即在特定的網(wǎng)絡(luò)環(huán)境下,利用測試序列對被測協(xié)議實(shí)現(xiàn)進(jìn)行黑盒測試,通過比較被測協(xié)議實(shí)現(xiàn)的響應(yīng)與協(xié)議規(guī)范是否一致從而得到測試判決[1]。協(xié)議一致性測試的原理如圖3。
圖3 一致性測試原理
針對協(xié)議一致性測試,國際標(biāo)準(zhǔn)化組織制定了ISO/IEC 9646協(xié)議一致性測試方法和框架。其中ISO 9646-3定義了協(xié)議測試領(lǐng)域?qū)S玫臉?biāo)準(zhǔn)化測試描述語言,其最新版本為TTCN-3。TTCN-3由ETSI(European Telecommunications Standards Institute, 歐洲電信標(biāo)準(zhǔn)協(xié)會)維護(hù),已廣泛應(yīng)用于3GPP,DSL,IPv6,GSM,LTE等各種通信系統(tǒng)的協(xié)議一致性測試[2]。
TTCN-3測試系統(tǒng)框架[3]如圖4。各個實(shí)體功能如下:TTCN-3執(zhí)行(TTCN-3 Executable,TE)實(shí)體負(fù)責(zé)解釋和執(zhí)行測試集;被測設(shè)備適配(SUT Adapter, SA)實(shí)體實(shí)現(xiàn)測試系統(tǒng)與被測系統(tǒng)(SUT)的通信;平臺適配(Platform Adapter,PA)實(shí)體實(shí)現(xiàn)系統(tǒng)定時器功能;編解碼(Code-decode、CD)實(shí)體負(fù)責(zé)TTCN-3數(shù)據(jù)類型與比特串的轉(zhuǎn)換;測試管理(Test Management,TM)實(shí)體負(fù)責(zé)管理和控制整個測試系統(tǒng);測試日志(Test Logging,TL)實(shí)體負(fù)責(zé)記錄測試執(zhí)行日志;組件句柄(Component Handling,CH)實(shí)體負(fù)責(zé)組件的管理[4]。
圖4 TTCN-3測試系統(tǒng)框架
TRI和TCI接口由TTCN-3規(guī)范定義,負(fù)責(zé)實(shí)體間的交互[5]。測試開發(fā)人員需要依據(jù)測試系統(tǒng)需求來實(shí)現(xiàn)相應(yīng)的實(shí)體,如SA、PA、CD實(shí)體。
Titan是由愛立信公司開發(fā)的基于Eclipse平臺的開源TTCN-3協(xié)議集成測試開發(fā)和執(zhí)行環(huán)境[6]。Titan GUI提供以下的Eclipse平臺插件:
1)Designer:用于開發(fā)TTCN-3/ASN.1源碼,生成可執(zhí)行測試套;
2)Executor:控制測試腳本的執(zhí)行;
3)LogViewer:以表格、文本和圖形格式表示測試日志,并提供測試日志到源碼的導(dǎo)航;
4)Titanium:提供代碼質(zhì)量保證,如模塊導(dǎo)入結(jié)構(gòu)的可視化、代碼重構(gòu)等。
Titan提供了完整的TTCN-3開發(fā)和執(zhí)行功能。作為開源的軟件平臺,使用Titan進(jìn)行一致性測試平臺開發(fā),相比于其他商業(yè)軟件(如TTworkbench[7])更便于測試平臺的使用以及推廣。因此,寬帶電力線通信協(xié)議一致性測試平臺使用Titan進(jìn)行開發(fā)。
依據(jù)設(shè)計(jì)要求,測試平臺需要支持以下具體測試功能及性能指標(biāo):
1)從協(xié)議層次來看,平臺需要支持對物理層、鏈路層以及應(yīng)用層的測試;
2)從被測對象角色來看,平臺需要支持對不同角色的測試,包括CCO、PCO以及STA;
3)從協(xié)議測試的內(nèi)容來看,平臺需要支持對SUT的組網(wǎng)、維護(hù)以及抄表功能等協(xié)議機(jī)制的測試;
4)測試平臺可根據(jù)實(shí)際模擬載波信道的特性,如信道衰減、信道噪聲及干擾。
根據(jù)上述需求,以及一致性測試原理及網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),設(shè)計(jì)的測試平臺總體架構(gòu)如圖5所示。一致性測試平臺由軟件平臺和硬件平臺兩部分組成。軟件平臺通過網(wǎng)口經(jīng)以太網(wǎng)交換機(jī)與硬件平臺各部分相連。軟件平臺運(yùn)行于上位機(jī)上,產(chǎn)生各種測試用例;硬件平臺完成信號收發(fā)及信道模擬功能,將測試幀轉(zhuǎn)換為所需的寬帶載波通信信號或反之。進(jìn)行一致性測試時,測試軟件平臺產(chǎn)生的測試序列經(jīng)由測試硬件平臺發(fā)送給SUT,然后接收SUT的響應(yīng)并進(jìn)行測試判決。
圖5 測試平臺總體架構(gòu)
測試軟件平臺分為測試開發(fā)模塊和測試執(zhí)行模塊兩部分。測試開發(fā)人員通過測試開發(fā)模塊實(shí)現(xiàn)相關(guān)接口,編寫測試用例,編譯可執(zhí)行測試套件;而測試執(zhí)行人員通過測試執(zhí)行模塊輸入硬件控制信息、選擇和執(zhí)行測試集、記錄并分析測試日志、獲得測試判決結(jié)果。將測試開發(fā)環(huán)境與測試執(zhí)行模塊解耦,使得測試執(zhí)行人員僅需關(guān)心測試的執(zhí)行,而無需接觸測試套件的開發(fā),大大簡化了測試人員的操作。
3.1.1 測試開發(fā)模塊
測試開發(fā)環(huán)境基于Eclipse Titan平臺,為支撐上層模塊(即測試執(zhí)行模塊)的測試執(zhí)行功能,實(shí)現(xiàn)測試用例的交互流程,測試開發(fā)模塊需要實(shí)現(xiàn)測試軟件平臺與被測系統(tǒng)之間的通信。
由于測試軟件平臺收發(fā)時使用TTCN-3類型的數(shù)據(jù),無法直接與SUT進(jìn)行通信,所以測試軟件平臺收發(fā)的數(shù)據(jù)需要進(jìn)行TTCN-3類型與協(xié)議二進(jìn)制串之間的轉(zhuǎn)換,該功能由CD實(shí)體實(shí)現(xiàn)。在CD中,編解碼函數(shù)按照協(xié)議層級進(jìn)行劃分和設(shè)計(jì),不同層級的報文進(jìn)行組幀或解幀時調(diào)用對應(yīng)的編解碼函數(shù)?;诰W(wǎng)絡(luò)協(xié)議棧,構(gòu)造了4組編解碼函數(shù),分別對應(yīng)鏈路層、應(yīng)用層、Q/GDW 1376.2報文[8]和DL/T 645[9]報文。圖6所示為報文接收時的解碼流程。
圖6 報文解碼流程
為了實(shí)現(xiàn)測試軟件平臺與透明物理設(shè)備、測試工裝、衰減器、信號發(fā)生器等物理設(shè)備之間的通信,需要測試開發(fā)人員實(shí)現(xiàn)相應(yīng)的通信接口,這部分功能在SA實(shí)體實(shí)現(xiàn),其通過Socket接口利用TCP協(xié)議實(shí)現(xiàn)與硬件平臺間的數(shù)據(jù)交互。
由于寬帶協(xié)議采用了TDMA和CSMA/CA機(jī)制,為保證時隙收發(fā)的準(zhǔn)確性,需要在測試系統(tǒng)中實(shí)現(xiàn)數(shù)據(jù)幀的精確定時收發(fā)。在設(shè)計(jì)中我們將時間戳的產(chǎn)生以及精確收發(fā)時隙的控制放到硬件平臺來實(shí)現(xiàn),由硬件平臺保證信道收發(fā)的精確定時,而軟件平臺只負(fù)責(zé)測試內(nèi)容的產(chǎn)生和測試的運(yùn)行判決,這樣對軟件測試平臺定時器的精度要求大大降低,其最小定時大約需要30 ms,故在軟件平臺中使用了上位機(jī)默認(rèn)的系統(tǒng)定時器即可滿足定時要求。
基于上述功能實(shí)體的實(shí)現(xiàn),測試開發(fā)平臺能夠提供給測試執(zhí)行平臺完整的底層功能支持。由Titan平臺提供測試用例解釋執(zhí)行的能力,通過PA實(shí)體進(jìn)行定時操作,由CD實(shí)體編解碼數(shù)據(jù)幀,再通過SA模塊交由硬件平臺進(jìn)行數(shù)據(jù)幀收發(fā)。
3.1.2 測試執(zhí)行模塊
測試執(zhí)行模塊如圖7所示,包括以下5個部分:
1)用戶界面負(fù)責(zé)接收用戶輸入的相關(guān)控制信息,并輸出得到的測試結(jié)果和日志信息;
2)硬件設(shè)備控制單元通過調(diào)用相應(yīng)的函數(shù)與硬件設(shè)備之間進(jìn)行通信,實(shí)現(xiàn)對硬件設(shè)備的參數(shù)配置;
3)測試流程監(jiān)視器用于收集腳本的執(zhí)行結(jié)果和日志信息;
4)測試結(jié)果保存模塊負(fù)責(zé)將日志信息保存至本地;
5)腳本執(zhí)行控制器控制測試用例的執(zhí)行。測試用例腳本集是測試腳本經(jīng)過Titan編譯后形成的可執(zhí)行文件,即可執(zhí)行測試套件。腳本執(zhí)行控制器通過調(diào)用測試執(zhí)行人員選擇的測試集所對應(yīng)的可執(zhí)行測試套件來執(zhí)行測試用例。
圖7 測試執(zhí)行模塊
測試硬件平臺主要包括載波透明物理設(shè)備、測試工裝、衰減器、信號發(fā)生器等物理設(shè)備或模塊。
載波透明物理設(shè)備需要具備收發(fā)數(shù)據(jù)的功能,主要實(shí)現(xiàn)協(xié)議物理層和部分MAC子層的功能。實(shí)際中載波透明物理設(shè)備分為載波透明接入單元和載波信道偵聽單元,分別實(shí)現(xiàn)報文的發(fā)送和接收。透明接入單元負(fù)責(zé)將軟件平臺組織的數(shù)據(jù)發(fā)送到載波通信介質(zhì),并根據(jù)需求自動回復(fù)SACK;信道偵聽單元負(fù)責(zé)將載波通信介質(zhì)里的所有數(shù)據(jù)實(shí)時發(fā)送給軟件平臺,供其進(jìn)行分析判斷。
測試工裝在測試系統(tǒng)中主要扮演集中器/電能表或透傳通道的角色。它需要實(shí)現(xiàn)兩種工作模式:第一種模式下,測試工裝可以作為集中器/電能表,為被測CCO/STA分配地址,協(xié)助系統(tǒng)的組網(wǎng),同時測試工裝還需要能夠自主的開啟一些流程(如抄表流程)的運(yùn)行或數(shù)據(jù)的應(yīng)答;另一種模式下,測試工裝只需承擔(dān)通信轉(zhuǎn)發(fā)的工作,為測試軟件平臺與被測CCO/STA之間的通訊提供一個透明的通道。
可編程衰減器用來模擬信號在實(shí)際路徑傳輸中所面臨的信號衰減,最大衰減為120 dB。信號發(fā)生器承擔(dān)的任務(wù),一是向通信信道中注入噪聲以模擬信道噪聲,二是在抗頻偏測試時給發(fā)射機(jī)提供可調(diào)整的時鐘信號??勺⑷氲脑肼暫透蓴_信號包括:帶寬25 MHz,功率為-30 dBm的高斯白噪聲;頻段1:(1 MHz,-20 dBm)、(3 MHz,-30 dBm)、(6 MHz,-30 dBm),頻段0:(1 MHz,-20 dBm)、(8 MHz,-30 dBm)、(15 MHz,-20 dBm)的窄帶干擾;脈沖頻率100 kHz,脈寬1 μs,幅值4 V的脈沖信號。測試軟件可對信號發(fā)生器的波形、頻率、帶寬、功率等參數(shù)進(jìn)行控制,產(chǎn)生測試所需的各種信號。
設(shè)計(jì)測試集要遵循兩個基本原則:一是要求設(shè)計(jì)的測試集在針對協(xié)議正常流程進(jìn)行測試的同時,也要考慮異常和極限場景;二是要求測試集盡量做到完備覆蓋,并且要避免測試集冗余。
在深入研究寬帶載波通信協(xié)議[10]的基礎(chǔ)上,借鑒黑盒測試法,針對物理層、鏈路層和應(yīng)用層分別設(shè)計(jì)了不同的測試用例。
物理層測試集主要是測試物理信道傳輸?shù)目煽啃院陀行?。其測試集如圖8所示。測試?yán)ò自肼暪δ?、抗衰減、ToneMask功能、TMI模式遍歷等。
圖8 物理層測試集
鏈路層測試集如圖9所示,主要包括組網(wǎng)功能測試、信標(biāo)測試、沖突退避測試以及網(wǎng)絡(luò)維護(hù)測試等測試用例。
圖9 鏈路層測試集
應(yīng)用層的功能是實(shí)現(xiàn)智能抄表,測試用例主要包括STA和CCO的抄表功能測試。
以單網(wǎng)絡(luò)環(huán)境下的STA主動入網(wǎng)流程說明測試用例的設(shè)計(jì)過程。該測試中,測試平臺的角色為CCO,被測設(shè)備為STA,以STA成功發(fā)出發(fā)現(xiàn)信標(biāo)為測試結(jié)束(見圖10)。
圖10 STA主動入網(wǎng)流程
具體流程如下:
1)測試平臺模擬CCO的角色向被測設(shè)備發(fā)送中央信標(biāo)幀,啟動定時器T1;
2)在定時器T1超時前,測試平臺正確收到了被測設(shè)備發(fā)送的關(guān)聯(lián)請求報文,則停止定時器,并向被測設(shè)備發(fā)送關(guān)聯(lián)確認(rèn)報文,啟動定時器T2;如果定時器T1超時,或者接收非關(guān)聯(lián)請求報文,則判失?。?/p>
3)在定時器T2超時后,測試平臺向被測設(shè)備發(fā)送中央信標(biāo)幀(啟動定時器T3;
4)在定時器T3超時前,測試平臺正確收到了被測設(shè)備發(fā)送的發(fā)現(xiàn)信標(biāo)幀,則停止定時器T3,并判通過;如果定時器T3超時或者接收到非發(fā)現(xiàn)信標(biāo)幀,則判失敗。
在測試開發(fā)環(huán)境中,根據(jù)寬帶載波通信協(xié)議中定義報文結(jié)構(gòu),使用TTCN-3語言定義相關(guān)的報文格式。信標(biāo)幀定義如圖11所示。
圖11 信標(biāo)幀格式定義
根據(jù)入網(wǎng)流程,基于TTCN-3語言編寫的測試用例定義如圖12所示。
圖12 入網(wǎng)測試用例
測試用例編寫完成后,通過內(nèi)嵌的Titan編譯器將用例代碼腳本編譯為可執(zhí)行文件。
一致性測試的測試用例目前總計(jì)123例,物理層測試?yán)?個;鏈路層測試?yán)?8個;應(yīng)用層測試?yán)?3個。
仍以單網(wǎng)絡(luò)環(huán)境下的STA主動入網(wǎng)流程為例驗(yàn)證軟件工作流程和測試結(jié)果。該測試中,測試平臺模擬CCO的角色,被測設(shè)備為STA,以STA成功發(fā)出發(fā)現(xiàn)信標(biāo)為測試結(jié)束。
測試過程中TTCN-3軟件平臺顯示的測試平臺和被側(cè)設(shè)備的報文交互結(jié)果如圖13所示。
圖13 測試平臺和被測設(shè)備報文交互結(jié)果
對比圖10中的STA主動入網(wǎng)流程,可以發(fā)現(xiàn)圖13中測試平臺與被測設(shè)備的交互流程與測試?yán)O(shè)計(jì)完全符合,該條測試?yán)?yàn)證通過。
本文在業(yè)界首次設(shè)計(jì)并實(shí)現(xiàn)了基于TTCN-3的寬帶電力線通信一致性測試平臺。目前已經(jīng)進(jìn)行了百余個測試用例的一致性測試,測試結(jié)果表明測試平臺能夠正確地執(zhí)行測試用例,對被測系統(tǒng)協(xié)議實(shí)現(xiàn)的正確性進(jìn)行判決,達(dá)到了系統(tǒng)所需的功能和性能需求,為驗(yàn)證寬帶載波通信設(shè)備實(shí)現(xiàn)的一致性以及實(shí)現(xiàn)互聯(lián)互通奠定了良好基礎(chǔ)。后續(xù)工作中將根據(jù)寬帶協(xié)議設(shè)計(jì)和業(yè)務(wù)發(fā)展的需要,繼續(xù)改進(jìn)和完善測試集,推動寬帶載波通信技術(shù)的發(fā)展和應(yīng)用。
參考文獻(xiàn):
[1] 譚喜堂,等. HDLC協(xié)議一致性測試系統(tǒng)的研究[J]. 計(jì)算機(jī)測量與控制, 2014(1).
[2] TTCN-3[EB/OL].http://www.etsi.org/technologies-clusters/technologies/testing/ttcn-3, 2017.
[3] ETSI ES 201 873-1 V2.2.1.Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 1: TTCN-3 Core Language[S]. 2017.
[4] 吳禮發(fā).網(wǎng)絡(luò)協(xié)議工程[M].北京:電子工業(yè)出版社,2011.
[5] ETSI ES 201 873-5 V4.8.1.Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; Part 5: TTCN-3 Runtime Interface (TRI)[S].2017.
[6] EclipseTitan[EB/OL].https://projects.eclipse.org/projects/tools.titan, 2017.
[7] TTWorkbench[EB/OL].https://www.spirent.com/Products/TTworkbench, 2017.
[8] 中國電力科學(xué)研究院等.Q/GDW 1376.2-2013 電力用戶用電信息采集系統(tǒng)通信協(xié)議 第2部分:集中器本地通信模塊接口協(xié)議[S].2013.
[9] 中國電力科學(xué)研究院等.DL/T 645-2007多功能電能表通信協(xié)議[S].2007.
[10] 中國電力科學(xué)研究院,等. Q/GDW 11612-2016低壓電力線寬帶載波通信互聯(lián)互通技術(shù)規(guī)范[S].2017.