基于某卫星导航接收机的硬件抽象层SCA 标准符合性测试设计

2021-08-07 05:49罗文
全球定位系统 2021年3期
关键词:测试用例数据包波形

罗文

(成都航空职业技术学院,成都 610100)

0 引 言

当前,国内已经确立了下一代通信装备完全按照软件通信体系结构(SCA)标准进行设计、生产、研制、维护的总体思路.在这一背景下,为了促进不同单位独立研制的无线电软硬件模块、平台、整机设备之间的相互兼容性,必须依据软件无线电通信体系结构系列标准,制定完备系统的测试方法和测试流程.在此基础上研制软件无线电符合性测试系统,对不同厂家采用不同实现方式研制的无线电产品进行全面、严格的符合性测试,以验证其是否符合标准规范的要求,保证装备的顺利集成、联调联试和作战使用.因此,符合性测试系统是提高软件无线电通信装备标准兼容性的重要技术手段,是实现真正意义上的通用化、系列化、模块化的重要保证.

Medom 硬件抽象层(MHAL)软件通过屏蔽硬件平台相关的底层通信机制、封装标准的通信接口,实现波形组件间通信方式与具体硬件平台的分离,保持波形组件底层通信访问接口的一致性.MHAL 参考模型定义了MHAL 通信服务,该服务由一系列与MHAL 接口组件协同工作的MHAL 通信函数组成.其中,MHAL 接口组件由运行在通用处理器(GPP)和数字信号处理器(DSP)上的软件驱动程序和现场可编程逻辑门阵列(FPGA)接口组成,提供消息传输,MHAL 通信函数则提供抽象的消息路由功能,波形使用MHAL 通信服务来实现不同计算单元(CE)中软件组件间的数据流和控制流传输.

通过对MHAL 应用程序编程接口(API)的研究,实现SCA 标准中对MHAL 的接口测试,提高波形的可移植性,达到波形与硬件的解耦[2].

1 MHAL 参考模型及被测接口

MHAL 通信服务由一系列与MHAL 接口组件协同工作的MHAL 通信函数组成[3],其中MHAL 接口组件由运行在GPP 和DSP 上的软件驱动程序组成,提供消息传输,MHAL 通信函数则提供抽象的消息路由功能[4].参考模型如图1 所示.

图1 硬件抽象层参考模型[5]

SCA 标准中定义了一系列MHAL 函数[6],如GPP MHAL 接口:MHALPacketConsumer::pushPacket,实现将通信数据推送到消费者的能力.DSP MHAL 接口:mhalFunPtr reroute_LD_sink (uint16_t LD,mhalFunPtr newSinkFx),用于实现逻辑地址(LD)与信宿函数的映射.通过对MHAL 函数的测试,可以判断不同计算单元(CE)屏蔽底层硬件差异实现透明数据传输的能力[7].

现以SCA 标准中的MHAL 接口为被测对象,设计测试用例,对MHAL 接口进行SCA 标准符合性测试,测试用例分类及测试对象如表1 所示.

表1 测试用例分类及测试对象

2 MHAL 测试设计

硬件平台符合性测试系统由测试平台和被测设备组成,测试框架如图2 所示.测试用例由硬件平台控制终端的符合性测试软件和分别部署在GPP、DSP、FPGA 上的GPP 测试组件、DSP 测试组件、FPGA测试组件组成.测试平台是测试用例的主控单元,通过与GPP 测试组件、DSP 测试组件、FPGA 测试组件的数据收发完成测试用例流程.

图2 测试框架示意图

GPP 测试组件:在接口符合性测试中GPP 不需进行相关操作,所有操作由PC 端符合性测试软件直接调用MHAL 的接口执行测试流程.在MHAL 吞吐量测试中,GPP 需精确计时,并与DSP、FPGA 进行数据收发,完成MHAL 吞吐量测试.

DSP 测试组件接收到GPP 的测试指令后,完成GPP-DSP 的连通性测试、GPP-DSP-FPGA 的连通性测试,以及基于LD 的DSP 端SCA_API 接口符合性测试及MHAL 吞吐量测试.

FPGA 测试组件接收到GPP/DSP 的测试指令后,完成GPP-FPGA/DSP-FPGA 的连通性测试、以及基于LD 的FPGA 端MHAL 接口测试及吞吐量测试.

2.1 MHAL 接口符合性测试

现以GPP 端MHAL 的pushPacket 接口测试为例,对MHAL 接口符合性测试进行举例说明.

2.1.1 基本描述

pushPacket 接口函数测试用例如表2 所示.

表2 pushPacket 接口函数测试用例

2.1.2 内容描述

2.1.2.1 测试声明1

测试条件:GPP MHAL 设备工作正常,并从设备组件获取到 MHAL::PF_MHALPacketConsumer接口,设置参数为无效的LD.

执行过程:调用此方法,设置参数接收端口逻辑地址为无效的LD,观察测试函数状态.

2.1.2.2 测试声明2

测试条件:GPP MHAL 设备工作正常,并从设备组件获取到MHAL::PF_MHALPacketConsumer 接口.

执行过程:调用此方法,设置参数接收端口逻辑地址为有效的LD,观察测试函数状态.

2.1.3 期望测试结果

pushPacket 方法期望测试结果如表3 所示.

表3 pushPacket 方法期望测试结果

2.2 RF chain 测试

现以工作频段测试为例,对MHAL RF chain 接口进行输出响应测试.硬件平台控制被测设备的信道模块输出单载波,利用频谱仪测量工作频率.

硬件平台控制端向被测设备的信道模块发送RF chain 消息,控制被测设备的信道模块依次输出三个单载波信号,这三个单载波信号的中心频点为有效频段范围内的任意三个频点.利用频谱仪测量单载波信号是否满足要求,测试图如图3 所示.

图3 设备工作频段测试图

2.2.1 基本描述

设备工作频段测试用例如表4 所示.

表4 设备工作频段测试用例

工作频段测试需进行信道初始配置和信道工作配置,配置过程中需要向信道模块下发MHAL RF chain 消息,具体操作如下:

1) 信道初始配置:硬件平台测试终端向被测设备的信道模块发送RF Chain 消息.首先构建单载波模式参数表,通过RFC_DefModulationMode 接口,设置FM 模式,采样率为4 M,通过RFC_ChannelFrequency接口依次配置工作频率F1、F2、F3.

2)信道工作配置:下发RFC_ModulationMode 命令,调用RFC_DefModulationMode 中设置的调制模式编号,通过RFC_TxBusyStatusResponse 命令查询发射资源状态是否可用,并发送RFC_ConnectTxBlock命令连接波形与射频链发射通路,然后下发RFC_ChannelTxModeSet 命令请求进入发射状态.

2.2.2 内容描述

2.2.2.1 测试声明1

测试条件:GPP MHAL 及信道模块工作正常,测试仪器为频谱分析仪.

执行过程:

1)配置信道中心频点F1;

2)通过频谱分析仪测试信道输出的射频信号.

2.2.2.2 测试声明2

测试条件:GPP MHAL 及信道模块工作正常,测试仪器为频谱分析仪.

执行过程:

1)配置信道中心频点F2;

2)通过频谱分析仪测试信道输出的射频信号.

2.2.2.3 测试声明3

测试条件:GPP MHAL 及信道模块工作正常,测试仪器为频谱分析仪.

执行过程:

1)配置信道中心频点F3;

2)通过频谱分析仪测试信道输出的射频信号.

2.2.3 期望测试结果

设备工作频段测试期望结果如表5 所示.

表5 设备工作频段测试期望结果

2.3 吞吐量测试

现以GPP−>DSP/FPGA 吞吐量测试为例,简述基于MHAL 接口的模块间吞吐量测试.

2.3.1 基本描述

GPP−>DSP/FPGA 吞吐量测试基本描述如表6所示.

表6 GPP−>DSP/FPGA 吞吐量测试用例

2.3.2 内容描述

2.3.2.1 测试声明1

测试条件:GPP/DSP/FPGA MHAL 工作正常.

执行过程:

1) GPP 接收到上位机下发的测试指令及测试参数后,将测试指令及测试参数转发给DSP 或FPGA模块,DSP 或FPGA 模块接收测试指令及测试参数,从测试参数中提取测试数据包数M.

2) GPP 重复发送测试数据给DSP 或FPGA模块.

3) DSP 或者FPGA 模块接收到第一包测试数据起开始计时,当测试包数等于测试数据包数M时,向上位机上报统计时间,即传送时间;当测试包数小于测试数据包数M时,数据包丢失,上报结果测试失败.

4)上位机根据DSP 或FPGA 模块上报的测试结果,吞吐量=成功传送的数据/传送时间,计算吞吐量.

2.3.3 期望测试结果

GPP->DSP/FPGA 吞吐量测试结果如表7 所示.

表7 GPP−>DSP/FPGA 吞吐量测试期望结果

3 创新点

3.1 硬件平台模块间性能测试方法

波形可移植性评估是验证不同的波形能否在同一个硬件平台上运行,测试项包括:

1)软件运行环境标准符合性测试:对核心框架、设备组件、服务组件进行接口验证;

2)波形SCA 标准符合性测试:对波形组件与核心框架组件之间的接口进行验证;

3)波形传输性能评估:对功能波形所要求的功能、性能指标进行测试,从而判断在硬件环境满足波形传输性能测试的前提条件下,待移植的波形软件功能;

4)硬件平台标准符合性及性能测试:包含MHAL 接口符合性测试、MHAL 性能测试.

针对硬件平台的性能测试,目前常用方法为单个模块的吞吐量,如GPP 模块内两组件之间的吞吐量.本文提出一套GPP−>DSP/FPGA、DSP/FPGA−>GPP、DSP−>FPGA、FPGA−>DSP 模块之间MHAL 吞吐量测试方法,通过对比波形对硬件平台的指标要求和MHAL 吞吐量测试结果,可以完成波形可移植性评估中的第4 项硬件平台性能测试.

3.2 PC 端采用CORBA 中间件TAO

MHAL 接口符合性测试中,PC 端通过采用CORBA 的中间件TAO 与被测设备通信,将设备端的嵌入式测试用例放在PC 端运行,即可屏蔽被测设备之间的差异,提高测试用例的通用性、兼容性、测试效率,用户只需在PC 端一键操作即可完成自动化测试.采用中间件TAO[8]后,PC 端与被测设备的测试流程如图4 所示.

图4 GPP 标准符合性测试原理

步骤1)和2):PC 通过CORBA 软总线与待测设备的域管理器[9]建立连接,并通过设备名查找到MHAL 设备,利用MHAL::PF_MHALPacketConsumer::pushpacket()方法将数据推送至DSP/FPGA 端.

步骤3)和4):DSP/FPGA 收到数据后,DSP/FPGA通过各自的推送接口将数据推送至MHAL; MHAL通过MHAL::WF_MHALPacketConsumer::pushpacket()将数据推送至PC 端.

根据以上描述,现将PC 端采用CORBA 中间件TAO 的测试方法和传统不采用CORBA 中间件的测试方法进行对比,如表8 所示.

表8 两种测试方法对比

3.3 软件功能可动态配置

为兼容各厂家设备之间的差异性,提高测试的通用性,在测试用例设计时采用可配置参数法,实现软件功能的动态配置.

以MHAL 吞吐量测试为例,各厂家设备的MHAL吞吐量指标不一样.测试时需在EXCEL 文件上录入多组参数,如数据包大小、数据包间时延、数据包个数、发送数据类型等参数,通过运行多组测试数据,直至逼近被测设备的最大吞吐量.

4 测试用例的验证

为判断测试用例是否具有验证陪测设备硬件平台标准符合性测试的功能,可依据SCA 标准[3],进行MHAL 接口符合性测试功能验证和性能测试功能验证[10].

4.1 MHAL 接口符合性测试功能验证

采用以下方法对MHAL 接口符合性测试用例进行验证:

1)静态代码审查:检查API 函数名、函数参数及返回值是否符合SCA 标准.

2)收发数据标准符合性检查:利用抓包工具抓取收发MHAL 数据并判断该数据是否符合SCA 标准.如图5 所示,MHAL 通过数据包交换的方式进行数据收发.每个MHAL数据包含报头和载荷,报头中的逻辑目的地址为目的端口字段.ICD 结构如图5所示.

图5 MHAL 消息格式

3)以某接收机为陪测对象进行功能测试:如图3所示,搭建测试环境,利用测试平台控制端向陪测设备下发测试指令及测试参数,根据测试结果判断测试用例是否具有验证陪测设备MHAL 接口符合性测试的功能.

经以上3 项验证测试,测试结果满足测试期望,MHAL 接口符合性测试用例具有验证陪测设备MHAL 接口符合性测试的功能.

4.2 MHAL 吞吐量测试功能验证

以某接收机为陪测对象对MHAL 进行吞吐量测试,传输速率测试结果在1~1 000 Mbps,测试结果满足测试期望.MHAL 吞吐量测试用例具有验证陪测设备MHAL 吞吐量测试的功能.

5 结束语

针对波形可移植性评估中的硬件平台测试,本文实现了一组通用性测试用例集.经过静态代码审查、收发数据标准符合性检查、以某接收机为陪测对象进行的功能测试3 项测试,结果表明,本文实现的测试用例集具有硬件平台标准符合性测试能力.为波形可移植性评估中的硬件平台测试提供了一种切实可行的办法.

猜你喜欢
测试用例数据包波形
正面碰撞车身加速度对乘员腿部损伤的影响
基于时域波形掩护的间歇采样干扰对抗研究
极化正交编码波形雷达试验系统.
“雷达波形设计与运用专刊”编者按.
二维隐蔽时间信道构建的研究*
Evosuite和Randoop单元测试用例生成工具覆盖率对比分析①
Randoop 和Evosuite 生成测试用例的变异检测能力分析
C#串口高效可靠的接收方案设计
网络数据包的抓取与识别
测试用例集的优化技术分析与改进