APP下载

宽带微功率MAC 层一致性测试系统设计与实现

2022-10-20江蓓岳桂君周欣

电子技术应用 2022年10期
关键词:信标时隙报文

江蓓,岳桂君,周欣

(重庆邮电大学 通信与信息工程学院,重庆 400065)

0 引言

智能电网在应对全球气候变化,促进世界经济可持续发展等方面具有重要的作用,是未来新型电网的基本模式[1-2],其网络安全对保障国家重要设施安全具有关键作用[3]。

用户用电信息采集系统是智能电网完成用电数据采集、电网状态监测等功能的实现载体[4],该系统的本地通信方式主要有RS485 通信、电力线载波通信、微功率无线通信等[5-6],但随着电力需求的快速增长,这些通信方式已难以满足保证海量数据安全、信号高速传输、网络升级灵活的要求[7]。因此,国家电网开始研究宽带微功率(Broadband Micro-power,BMP)无线通信技术,该技术具有高带宽、高速率、高稳定性等优点,可实现数据的高速和高实时性传输。

为避免协议开发过程中的二义性理解[8],保证各协议实现之间能够互联互通,需要进行一致性测试。而良好的一致性测试系统能够使测试工作更高效,所以设计实现一种适用于宽带微功率MAC 层的一致性测试系统对验证协议开发的准确性至关重要。

文献[9]介绍了一种基于TCL(Tool Command Language)脚本设计的自动化测试系统,并使用虚拟操作系统模拟器QEMU(Quick Emulator)模拟ARM 芯片,来加载待测的电力微功率协议栈,节约了测试成本,但该系统对协议实现的时隙性能测试无法覆盖;文献[10]基于TTCN-3框架设计了一种宽带PLC 一致性测试系统,为PLC 设备的互操作性奠定了基础,但测试步骤较为复杂;文献[11]设计了针对宽带电力线载波的一致性测试集和测试系统,实现了高层协议的一致性测试,但未针对MAC 层测试详细分析。

本文首先介绍了宽带微功率协议和一致性测试相关概念,然后对宽带微功率MAC 层一致性测试系统进行设计,最后对系统进行验证及分析。

1 宽带微功率协议

1.1 协议栈架构

宽带微功率网络中包含中央协调器(Center Coordinator,CCO)、代理协调器(Proxy Coordinator,PCO)和站点(Station,STA)这3 种类型的通信设备,其中CCO 安插在集中器中,STA 安插在电能表中。在宽带微功率网络中,CCO 为网络的中心,PCO 是中继代理,STA 则作为普通节点连接在CCO 或PCO 上。

宽带微功率协议栈架构如图1 所示,其中应用层定义了CCO 和STA 之间各种业务的数据交互过程;数据链路层包括网络管理子层(NWK 层)和媒体访问控制层(MAC 层),NWK 层的功能有网间协调、组网及网络维护等,MAC 层主要用于完成数据处理过程,并对网络中的时隙进行规划管理;物理层包括发送端和接收端两个部分,发送端对发送数据进行编码调制,接收端对接收数据进行解调和译码。

1.2 MAC 层功能

宽带微功率MAC 层有8 个主要功能,分别如下:

(1)信标机制是指MAC 层会根据自身站点角色及需求,生成对应的中央信标、代理信标或发现信标,且其中都携带了CCO 对时隙的规划信息,以此来触发网络中未入网的STA 申请入网。

(2)时隙管理是指一个信标周期中包含信标时隙、TDMA 时隙、CSMA 时隙和绑定CSMA 时隙,为实现对时隙的统一管理,CCO 会进行时隙规划并将规划信息填充到中央信标帧中,PCO 和STA 接收到中央信标帧后,即可根据时隙规划信息对信道进行访问。

(3)信道访问是指在CSMA 时隙中,站点在竞争信道时可能会在同一时刻发送报文,从而产生时隙冲突。故在对CSMA 信道访问时,MAC 层会进行基本的冲突判断和退避后再占用信道发送报文。

(4)数据处理是指MAC 层会在发送MAC 帧时将其分片成多个小的物理块体,进而生成长或短MPDU(MAC Protocol Data Unit)传输,在接收MAC 帧时再对物理块体进行重组获得原始的MAC 帧。

(5)选择确认重传是由于站点发送业务帧时会指定站点进行回应,故指定站点接收到业务帧后会回复表明接收情况的SACK(Selective Acknowledgement)帧,便于发送站点根据SACK 帧判断站点是否接收完全。

(6)报文过滤是指MAC 层会根据报文中的某些字段判断其是否是重复报文,若是则不再处理该报文。

(7)单播/广播是指报文的两种传播方式,单播方式下报文中指定了接收站点,其他站点可不做处理,广播方式下所有站点都需进行处理,MAC 层会在MPDU 帧控中填充“广播标志位”字段来区分这两种模式。

(8)时间同步是为了使网络中设备同步到一个统一的时间,实现对时隙的统一管理。MAC 层会在信标帧中填充BTS(Beacon Time Stamp)字段,STA 收到后可根据BTS 进行时间同步,将自身时间向CCO 对齐。

2 协议一致性测试

一致性测试不需要了解协议的内部实现,只是从协议的外部行为来判断协议实现是否符合要求,是保证协议实现质量的必不可少的手段[12-13]。根据控制观察点的不同,在ISO 9646[14]中定义了4 种不同的抽象测试方法,其中本地测试法架构如图2 所示。

图2中,IUT(Implementation Under Test)是被测实体,ASP(Abstract Service Primitives)是协议层间的服务原语。本地测试法可以将上下测试器集成到一个程序中,比较适合用于研发阶段。在一致性测试过程中,本地测试法能够更容易地完成对上下测试器的协调,从而达到简化测试过程的目的[15]。

3 测试系统设计

通过对MAC 层功能进行分析,总结出宽带微功率MAC 层一致性测试系统存在的设计难点主要包括如何保证时间准确性、如何对功能进行合理分配以及如何保证系统稳定性等。针对以上问题,设计在宽带微功率MAC 层一致性测试系统中引入真实的硬件模块,并通过其携带的时间戳寄存器解决测试系统的时间精度问题。测试系统总体框架设计如图3 所示。

测试系统中,用户/测试人员通过控制界面控制测试平台执行测试例,并实时查看测试信息。测试平台通过上下测试点接口和被测对象连接进行数据交互。测试平台由软、硬件测试平台两部分组成,其中软件测试平台包含PC 端软件和硬件模块中的嵌入端软件,硬件测试平台包含整个测试系统中的硬件设备,由软件驱动。软件测试平台主要用于实现测试例的开发和管理、测试报告的生成和存储以及硬件设备的控制等,硬件测试平台负责执行具体的测试步骤,二者协作即可完成对宽带微功率MAC 层的一致性测试。

3.1 硬件设计

硬件测试平台要能够执行具体的测试步骤,实现对被测对象的一致性测试,根据测试系统框架设计,最终搭建的硬件测试平台架构如图4 所示。

硬件测试平台中,PC 与硬件模块之间通过USB 数据线连接,是网口通信,硬件模块由A53 和R5 两个处理单元组成,这二者之间通过核间通信完成数据交互。PC、A53 和R5 三者相互协作,控制测试例执行,共同组成了一个完整的测试平台。

另外,由于本文中的一致性测试系统采用的是本地测试法,因此测试平台具有上下测试点,其中上测试点位于PC端,主要模拟集中器和电能表与被测设备进行交互,其接口为PC 与被测设备之间的串口,通过FT232串口线连接;下测试点位于硬件模块中,主要模拟CCO、PCO 或STA 与被测设备进行交互,下测试点与被测对象之间通过天线进行通信。

3.2 软件设计

3.2.1 PC 端软件架构

PC 端软件首先要为用户提供简单易操作的控制界面,其次要便于测试开发人员对测试用例进行开发、管理以及维护,最后要能够和测试系统中其他部分稳定通信,基于以上考虑,最终设计的PC 端软件架构主要包括三部分,具体如图5 所示。

控制界面为一个可视化的图形界面,包括测试用例管理模块、测试执行控制模块、测试日志显示模块和测试报告管理模块。通过这4 个模块,用户可以在控制界面选取测试用例控制其执行,并通过可视化窗口实时观察测试执行信息,在测试用例执行完毕后也能通过控制界面查看测试报告,分析测试结果。

测试用例模块主要用于测试用例的开发和执行,包括测试开发模块和测试执行模块。其中,测试开发模块用于将抽象的测试集生成为具体的测试例,而测试执行模块负责执行测试脚本并记录执行信息,在执行结束后生成对应的测试报告。

接口控制模块主要负责的是相关接口的配置及通信,根据硬件测试平台架构可知,PC 端有两个主要的接口:一是PC 端与被测设备之间通信的串口,二是PC 与硬件模块之间通信的网口。接口控制模块的作用就是保证这两个接口能够正常稳定地通信。

3.2.2 嵌入端软件架构

硬件模块选用的是成都定为电子技术有限公司定制的FPGA 开发板,此款开发板使用Xilinx 的ZYNQ Ultra-Scale+MPSoC XCZU6CG 作为基带处理芯片,其中包含A53 和R5 两个处理单元。A53 中运行Linux 操作系统,R5 中运行μC/OS-II 实时操作系统,通过这两个部分的协作处理,可实现测试平台的相关功能。嵌入端的软件架构如图6 所示。

嵌入端软件架构中,A53 主要负责与PC 端进行通信,在接收到测试例执行信息后,A53 就会执行相应的测试步骤,构造发送报文,并对R5 传送过来的响应报文进行一致性评判。因此,A53 中包含了PC 通信模块、测试执行模块以及测试结果判决模块。

R5 主要负责和被测对象通信,故R5 中含有一个射频收发模块。R5 中还包含一个时隙处理模块,用于对时隙进行处理和判断。例如模拟STA时,该模块会进行时间同步,并计算信标时隙和CSMA 时隙的结束时间,为后续报文收发和时隙判断做准备。同步时间和时隙结束时间的计算过程如下:

同步时间计算公式为:

式中,BTS 为CCO 发出信标的时间,STA_NTB 为站点开始进行时间同步时的时间,RT_NTB 为站点接收到中央信标时记录的时间。

信标时隙结束时间计算公式为:

式中,BPST 为信标周期起始时间,BTSL 为信标时隙长度,单位为1 ms;NON_SLOT_NUM 为非中央信标时隙总数;NTB_MS 表示1 ms 的时钟计数值25 000。

CSMA 时隙结束时间计算公式为:

式中,CSMATSL 为CSMA 时隙长度,单位为10 ms;NTB_10MS 表示10 ms 的时钟计数值250 000。

另外,A53 和R5 中都包含了一个核间通信模块,其主要是利用核间中断(Inter-Processor Interrupts,IPI)实现的。当一方要传输数据时,就会触发中断,而另一方等待到中断后即可执行相应操作读取数据。

4 测试系统验证

为验证本文所设计的测试系统能完成宽带微功率MAC 层的一致性测试,搭建一致性测试环境,从功能和非功能两个角度分别对系统进行验证。

4.1 功能验证

4.1.1 测试系统通信自测

本文中所设计的一致性测试平台包含PC 和硬件模块两部分,故测试系统通信自测主要验证PC 与硬件模块之间的通信和硬件模块中A53 与R5 的通信。

图7 为PC 与硬件模块通信验证过程示意图。由图中标识1~3 可知,在PC 端可以成功登录到A53 所在的Linux 系统,并实现文件的正确拷贝,说明PC 端和硬件模块之间能够正常通信。

图8 为A53 与R5 通信验证过程的log 信息图,左右分别为R5 和A53 打印的log 信息。由图可知,A53 发出的报文被R5 正确接收,说明A53 与R5 之间能够成功通信,实现数据的正确收发。

4.1.2 测试例执行验证

为进一步证明测试系统能够支持测试例的执行。在测试系统中执行测试例“STA 周期发送发现信标”,最终所得控制界面如图9 所示,由图可知测试执行信息均正确显示,证明测试系统可正确执行测试例。

4.2 性能验证

4.2.1 时间精度验证

由于测试系统需具有较高的时间精度才能完成MAC 层时隙相关内容的测试,故编写测试例进行验证。使测试系统周期发送一条测试帧,每次发送测试帧时,将定为开发板上GPIO 接口的电平拉高,并接通示波器观察其波形。获取波形图中两高电平之间的间隔时间,与预设间隔时间取差值即可得出系统的时间误差,时间误差计算公式如下:

其中,TimeDiff 为时间误差,Et 为预设间隔时间,Rt 为实际间隔时间。

从波形图中随机抽取100 组数据,计算时间误差分布情况如图10 所示,图中横坐标为计数值,表示采集数据的次数,纵坐标为时间误差。由图可知,测试系统的时间误差都在15 μs 左右,波动较小,而宽带微功率协议中时隙数值的单位都为毫秒,故该测试系统能够满足MAC 层时隙测试的要求。

4.2.2 稳定性验证

为保证执行大量测试用例时,测试系统能正常工作,对测试系统的稳定性进行验证。针对CCO、PCO、STA 3种被测对象分别选取一个测试例,构造信道质量正常、天线距离较远、衰减较大这3 种环境,分别执行测试例500次,所得测试执行通过率如表1 所示。

表1 测试用例通过率

由表1 可知,在信道质量正常情况下,测试用例通过率能够达到100%,在另外两种信道质量较差的情况下,测试通过率相对降低,但均在90%以上,基本满足要求,说明测试系统稳定性达标。

5 结论

本文针对宽带微功率MAC 层一致性测试进行研究,设计了一种软硬件测试平台相结合的一致性测试系统。相较于当前的宽带微功率一致性测试系统,该系统具有较高的时间精度,可实现MAC 层时隙功能的精准测试。通过测试验证,证明该系统已实现所有功能和性能要求,可完成对宽带微功率MAC 层的一致性测试,保证了MAC 层通信的准确性,提高了产品的可靠性,为宽带微功率技术的发展奠定了基础。

猜你喜欢

信标时隙报文
基于J1939 协议多包报文的时序研究及应用
水下声信标应用现状与发展前景
低轨星座短报文通信中的扩频信号二维快捕优化与实现
基于时分多址的网络时隙资源分配研究
浅析反驳类报文要点
基于市场机制的多机场时隙交换放行策略
一种基于时隙优化的邻居发现算法研究
蓝牙信标存潜在风险
蓝牙信标存潜在风险
一种车载网络中基于簇的时隙碰撞解决方法