基于TTCN-3的宽带载波通信一致性测试系统设计

2018-04-25 07:34,,,
计算机测量与控制 2018年4期
关键词:电力线测试用例报文

, , ,

(中国电力科学研究院有限公司,北京 100192)

0 引言

电力线载波通信(power line communications,PLC)技术已广泛应用于国外用电信息采集或高级计量系统(AMI)的各个场合,在国内也已经普遍应用于自动抄表领域。除了用电信息采集外,电力线载波通信技术还可广泛应用于智能家居、楼宇控制和物联网等领域。当前电力线载波通信技术正在从窄带向宽带发展,宽带载波通信已成为近年来电力线载波通信研发和应用的热点技术,目前中国电力企业联合会、国家电网公司、南方电网公司均正在制定或已经制定面向用电信息采集系统的宽带载波通信数据传输协议,可以预见宽带电力线通信技术有着广泛而重要的应用前景。

在宽带载波通信数据传输协议制定以及宽带载波通信技术研发的过程中,需要同步研究宽带载波通信一致性测试技术和系统。通过一致性测试,既可以验证协议的某个实现是否与所遵从的协议规范保持一致,同时也是保证不同设备厂商研发的通信设备能够互联互通的基础。因此,宽带载波通信协议一致性测试系统的研发对于推进宽带载波通信的标准化和设备互联互通具有十分重要的意义。

本文依据国家电网公司企业标准Q/GDW11612-2016《低压电力线宽带载波通信互联互通技术规范》的设计机制,基于TTCN-3(Testing and Test Control Notation)测试框架提出了宽带载波通信协议一致性测试方案并研发了测试系统。根据一致性测试理论及宽带电力线通信协议设计开发测试系统平台和测试用例,利用一致性测试开发软件Eclipse Titan开发并执行测试套件,对待测设备进行测试,验证了所提出的宽带载波通信协议一致性测试系统设计的可行性。

1 宽带载波通信协议

宽带载波通信数据传输协议规定了面向电力用户用电信息采集系统的宽带载波通信网络的物理层、数据链路层和应用层技术,及适用于用电信息采集系统的集中器通信单元与电能表通信单元、采集器通信单元之间的数据交换机制。宽带载波系统构成的电力线通信网络中,定义了三种设备角色:中央协调器(CCO)、代理协调器(PCO)以及站点(STA)。CCO为网络中的主节点,负责完成组网控制、网络维护管理和用电信息采集等功能,其对应的设备实体为集中器本地通信单元;PCO和STA对应于安装在电能表、采集器的通信单元设备,其中STA为网络中从属节点,PCO在网络中作为中继节点连接CCO和STA。

在组网过程中,宽带电力线通信网络一般会形成以CCO为中心,以PCO为中继代理,连接所有STA的多层级树形网络,如图1所示为典型的宽带电力线通信网络拓扑结构。

图1 宽带电力线通信网络拓扑结构

宽带电力线通信网络的协议栈如图2所示,包括物理层、数据链路层、网络层、传输层以及应用层。通常在宽带电力线组网环境下,网络层和传输层可以省略。

图2 宽带电力线通信网络协议栈

应用层实现了通信单元之间的业务数据交互,通过数据链路层和物理层完成数据传输。数据链路层分为网络管理子层和媒体访问控制(MAC)子层,网络管理子层实现宽带电力线通信网络的组网;MAC子层通过CSMA/CA和TDMA两种信道访问机制访问物理信道,实现报文的可靠传输。物理层的主要功能是进行发送端编码和调制,以及接收端解调和译码。

2 协议一致性测试

2.1 基于TTCN-3的一致性测试框架

一致性测试是指检测协议的某个实现与所对应的协议规范是否一致,即在特定的网络环境下,利用测试序列对被测协议实现进行黑盒测试,通过比较被测协议实现的响应与协议规范是否一致从而得到测试判决[1]。协议一致性测试的原理如图3。

图3 一致性测试原理

针对协议一致性测试,国际标准化组织制定了ISO/IEC 9646协议一致性测试方法和框架。其中ISO 9646-3定义了协议测试领域专用的标准化测试描述语言,其最新版本为TTCN-3。TTCN-3由ETSI(European Telecommunications Standards Institute, 欧洲电信标准协会)维护,已广泛应用于3GPP,DSL,IPv6,GSM,LTE等各种通信系统的协议一致性测试[2]。

TTCN-3测试系统框架[3]如图4。各个实体功能如下:TTCN-3执行(TTCN-3 Executable,TE)实体负责解释和执行测试集;被测设备适配(SUT Adapter, SA)实体实现测试系统与被测系统(SUT)的通信;平台适配(Platform Adapter,PA)实体实现系统定时器功能;编解码(Code-decode、CD)实体负责TTCN-3数据类型与比特串的转换;测试管理(Test Management,TM)实体负责管理和控制整个测试系统;测试日志(Test Logging,TL)实体负责记录测试执行日志;组件句柄(Component Handling,CH)实体负责组件的管理[4]。

图4 TTCN-3测试系统框架

TRI和TCI接口由TTCN-3规范定义,负责实体间的交互[5]。测试开发人员需要依据测试系统需求来实现相应的实体,如SA、PA、CD实体。

2.2 一致性测试开发平台Titan

Titan是由爱立信公司开发的基于Eclipse平台的开源TTCN-3协议集成测试开发和执行环境[6]。Titan GUI提供以下的Eclipse平台插件:

1)Designer:用于开发TTCN-3/ASN.1源码,生成可执行测试套;

2)Executor:控制测试脚本的执行;

3)LogViewer:以表格、文本和图形格式表示测试日志,并提供测试日志到源码的导航;

4)Titanium:提供代码质量保证,如模块导入结构的可视化、代码重构等。

Titan提供了完整的TTCN-3开发和执行功能。作为开源的软件平台,使用Titan进行一致性测试平台开发,相比于其他商业软件(如TTworkbench[7])更便于测试平台的使用以及推广。因此,宽带电力线通信协议一致性测试平台使用Titan进行开发。

3 测试平台设计

依据设计要求,测试平台需要支持以下具体测试功能及性能指标:

1)从协议层次来看,平台需要支持对物理层、链路层以及应用层的测试;

2)从被测对象角色来看,平台需要支持对不同角色的测试,包括CCO、PCO以及STA;

3)从协议测试的内容来看,平台需要支持对SUT的组网、维护以及抄表功能等协议机制的测试;

4)测试平台可根据实际模拟载波信道的特性,如信道衰减、信道噪声及干扰。

根据上述需求,以及一致性测试原理及网络拓扑结构,设计的测试平台总体架构如图5所示。一致性测试平台由软件平台和硬件平台两部分组成。软件平台通过网口经以太网交换机与硬件平台各部分相连。软件平台运行于上位机上,产生各种测试用例;硬件平台完成信号收发及信道模拟功能,将测试帧转换为所需的宽带载波通信信号或反之。进行一致性测试时,测试软件平台产生的测试序列经由测试硬件平台发送给SUT,然后接收SUT的响应并进行测试判决。

图5 测试平台总体架构

3.1 测试软件平台

测试软件平台分为测试开发模块和测试执行模块两部分。测试开发人员通过测试开发模块实现相关接口,编写测试用例,编译可执行测试套件;而测试执行人员通过测试执行模块输入硬件控制信息、选择和执行测试集、记录并分析测试日志、获得测试判决结果。将测试开发环境与测试执行模块解耦,使得测试执行人员仅需关心测试的执行,而无需接触测试套件的开发,大大简化了测试人员的操作。

3.1.1 测试开发模块

测试开发环境基于Eclipse Titan平台,为支撑上层模块(即测试执行模块)的测试执行功能,实现测试用例的交互流程,测试开发模块需要实现测试软件平台与被测系统之间的通信。

由于测试软件平台收发时使用TTCN-3类型的数据,无法直接与SUT进行通信,所以测试软件平台收发的数据需要进行TTCN-3类型与协议二进制串之间的转换,该功能由CD实体实现。在CD中,编解码函数按照协议层级进行划分和设计,不同层级的报文进行组帧或解帧时调用对应的编解码函数。基于网络协议栈,构造了4组编解码函数,分别对应链路层、应用层、Q/GDW 1376.2报文[8]和DL/T 645[9]报文。图6所示为报文接收时的解码流程。

图6 报文解码流程

为了实现测试软件平台与透明物理设备、测试工装、衰减器、信号发生器等物理设备之间的通信,需要测试开发人员实现相应的通信接口,这部分功能在SA实体实现,其通过Socket接口利用TCP协议实现与硬件平台间的数据交互。

由于宽带协议采用了TDMA和CSMA/CA机制,为保证时隙收发的准确性,需要在测试系统中实现数据帧的精确定时收发。在设计中我们将时间戳的产生以及精确收发时隙的控制放到硬件平台来实现,由硬件平台保证信道收发的精确定时,而软件平台只负责测试内容的产生和测试的运行判决,这样对软件测试平台定时器的精度要求大大降低,其最小定时大约需要30 ms,故在软件平台中使用了上位机默认的系统定时器即可满足定时要求。

基于上述功能实体的实现,测试开发平台能够提供给测试执行平台完整的底层功能支持。由Titan平台提供测试用例解释执行的能力,通过PA实体进行定时操作,由CD实体编解码数据帧,再通过SA模块交由硬件平台进行数据帧收发。

3.1.2 测试执行模块

测试执行模块如图7所示,包括以下5个部分:

1)用户界面负责接收用户输入的相关控制信息,并输出得到的测试结果和日志信息;

2)硬件设备控制单元通过调用相应的函数与硬件设备之间进行通信,实现对硬件设备的参数配置;

3)测试流程监视器用于收集脚本的执行结果和日志信息;

4)测试结果保存模块负责将日志信息保存至本地;

5)脚本执行控制器控制测试用例的执行。测试用例脚本集是测试脚本经过Titan编译后形成的可执行文件,即可执行测试套件。脚本执行控制器通过调用测试执行人员选择的测试集所对应的可执行测试套件来执行测试用例。

图7 测试执行模块

3.2 测试硬件平台

测试硬件平台主要包括载波透明物理设备、测试工装、衰减器、信号发生器等物理设备或模块。

载波透明物理设备需要具备收发数据的功能,主要实现协议物理层和部分MAC子层的功能。实际中载波透明物理设备分为载波透明接入单元和载波信道侦听单元,分别实现报文的发送和接收。透明接入单元负责将软件平台组织的数据发送到载波通信介质,并根据需求自动回复SACK;信道侦听单元负责将载波通信介质里的所有数据实时发送给软件平台,供其进行分析判断。

测试工装在测试系统中主要扮演集中器/电能表或透传通道的角色。它需要实现两种工作模式:第一种模式下,测试工装可以作为集中器/电能表,为被测CCO/STA分配地址,协助系统的组网,同时测试工装还需要能够自主的开启一些流程(如抄表流程)的运行或数据的应答;另一种模式下,测试工装只需承担通信转发的工作,为测试软件平台与被测CCO/STA之间的通讯提供一个透明的通道。

可编程衰减器用来模拟信号在实际路径传输中所面临的信号衰减,最大衰减为120 dB。信号发生器承担的任务,一是向通信信道中注入噪声以模拟信道噪声,二是在抗频偏测试时给发射机提供可调整的时钟信号。可注入的噪声和干扰信号包括:带宽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的脉冲信号。测试软件可对信号发生器的波形、频率、带宽、功率等参数进行控制,产生测试所需的各种信号。

4 测试集设计

设计测试集要遵循两个基本原则:一是要求设计的测试集在针对协议正常流程进行测试的同时,也要考虑异常和极限场景;二是要求测试集尽量做到完备覆盖,并且要避免测试集冗余。

4.1 测试集划分

在深入研究宽带载波通信协议[10]的基础上,借鉴黑盒测试法,针对物理层、链路层和应用层分别设计了不同的测试用例。

物理层测试集主要是测试物理信道传输的可靠性和有效性。其测试集如图8所示。测试例包括白噪声功能、抗衰减、ToneMask功能、TMI模式遍历等。

图8 物理层测试集

链路层测试集如图9所示,主要包括组网功能测试、信标测试、冲突退避测试以及网络维护测试等测试用例。

图9 链路层测试集

应用层的功能是实现智能抄表,测试用例主要包括STA和CCO的抄表功能测试。

4.2 编写测试脚本

以单网络环境下的STA主动入网流程说明测试用例的设计过程。该测试中,测试平台的角色为CCO,被测设备为STA,以STA成功发出发现信标为测试结束(见图10)。

图10 STA主动入网流程

具体流程如下:

1)测试平台模拟CCO的角色向被测设备发送中央信标帧,启动定时器T1;

2)在定时器T1超时前,测试平台正确收到了被测设备发送的关联请求报文,则停止定时器,并向被测设备发送关联确认报文,启动定时器T2;如果定时器T1超时,或者接收非关联请求报文,则判失败;

3)在定时器T2超时后,测试平台向被测设备发送中央信标帧(启动定时器T3;

4)在定时器T3超时前,测试平台正确收到了被测设备发送的发现信标帧,则停止定时器T3,并判通过;如果定时器T3超时或者接收到非发现信标帧,则判失败。

在测试开发环境中,根据宽带载波通信协议中定义报文结构,使用TTCN-3语言定义相关的报文格式。信标帧定义如图11所示。

图11 信标帧格式定义

根据入网流程,基于TTCN-3语言编写的测试用例定义如图12所示。

图12 入网测试用例

测试用例编写完成后,通过内嵌的Titan编译器将用例代码脚本编译为可执行文件。

一致性测试的测试用例目前总计123例,物理层测试例有2个;链路层测试例有88个;应用层测试例有33个。

5 测试验证

仍以单网络环境下的STA主动入网流程为例验证软件工作流程和测试结果。该测试中,测试平台模拟CCO的角色,被测设备为STA,以STA成功发出发现信标为测试结束。

测试过程中TTCN-3软件平台显示的测试平台和被侧设备的报文交互结果如图13所示。

图13 测试平台和被测设备报文交互结果

对比图10中的STA主动入网流程,可以发现图13中测试平台与被测设备的交互流程与测试例设计完全符合,该条测试例验证通过。

6 结论

本文在业界首次设计并实现了基于TTCN-3的宽带电力线通信一致性测试平台。目前已经进行了百余个测试用例的一致性测试,测试结果表明测试平台能够正确地执行测试用例,对被测系统协议实现的正确性进行判决,达到了系统所需的功能和性能需求,为验证宽带载波通信设备实现的一致性以及实现互联互通奠定了良好基础。后续工作中将根据宽带协议设计和业务发展的需要,继续改进和完善测试集,推动宽带载波通信技术的发展和应用。

参考文献:

[1] 谭喜堂,等. HDLC协议一致性测试系统的研究[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] 吴礼发.网络协议工程[M].北京:电子工业出版社,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] 中国电力科学研究院等.Q/GDW 1376.2-2013 电力用户用电信息采集系统通信协议 第2部分:集中器本地通信模块接口协议[S].2013.

[9] 中国电力科学研究院等.DL/T 645-2007多功能电能表通信协议[S].2007.

[10] 中国电力科学研究院,等. Q/GDW 11612-2016低压电力线宽带载波通信互联互通技术规范[S].2017.

猜你喜欢
电力线测试用例报文
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
基于相似性的CITCP强化学习奖励策略①
测试用例自动生成技术综述
瑞士无人机公司成功完成基于无人机的电力线自动化检查测试
一种机载LiDAR点云电力线自动提取和重建方法
浅析反驳类报文要点
背景复杂下航拍图像的电力线识别算法
测试工时受限的测试策略研究
1588v2中的PTP报文格式及应用