• 中国科学引文数据库(CSCD)
  • 中文科技期刊数据库
  • 中国核心期刊(遴选)数据库
  • 日本科学技术振兴机构数据库(JST)
  • 中国学术期刊(网络版)(CNKI)
  • 中国学术期刊综合评价数据库(CAJCED)
  • 中国超星期刊域出版平台

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

罗文

罗文. 基于某卫星导航接收机的硬件抽象层SCA标准符合性测试设计[J]. 全球定位系统, 2021, 46(3): 116-122. DOI: 10.12265/j.gnss.2020121702
引用本文: 罗文. 基于某卫星导航接收机的硬件抽象层SCA标准符合性测试设计[J]. 全球定位系统, 2021, 46(3): 116-122. DOI: 10.12265/j.gnss.2020121702
LUO Wen. Design of SCA standard conformance test for hardware abstraction layer based on a satellite navigation receiver[J]. GNSS World of China, 2021, 46(3): 116-122. DOI: 10.12265/j.gnss.2020121702
Citation: LUO Wen. Design of SCA standard conformance test for hardware abstraction layer based on a satellite navigation receiver[J]. GNSS World of China, 2021, 46(3): 116-122. DOI: 10.12265/j.gnss.2020121702

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

详细信息
    作者简介:

    罗文: (1981—),男,硕士,工程师,研究方向为软件无线电

    通信作者:

    罗文 E-mail:30983638@qq.com

  • 中图分类号: P228.49

Design of SCA standard conformance test for hardware abstraction layer based on a satellite navigation receiver

  • 摘要: 针对卫星导航信号波形在不同硬件平台上的可移植性问题,在系统中引入Modem硬件抽象层(MHAL)后,实现了不同计算单元上组件间管理的统一性和通信的标准化. 为了便于测试MHAL的标准符合性[1],防止不同研制单位研制出互相不兼容的软件通信体系结构(SCA)通信设备,现以某卫星导航接收机为例说明具体硬件平台的MHAL测试方法,设计了一组测试用例集. 通过采用公共对象请求代理体系结构(CORBA)中间件TAO (The ACE ORB)和软件功能动态配置法,该测试用例集可屏蔽被测设备之间的差异,提高测试用例的通用性、兼容性、测试效率. 用户只需在PC端一键操作即可完成自动化测试. 结果表明:该测试用例集可以验证MHAL实现数据传输的能力、满足SCA标准的符合性程度和用户需求.
    Abstract: Aiming at the portability of satellite navigation signal waveform on different hardware platforms, after introducing the Hardware Abstraction Layer into the system, the unification of management and communication standardization between components in different computing units are realized. In order to test the conformity of modem hardware abstraction layer (MHAL)and prevent different research units from developing incompatible software communications architect (SCA) communication equipment, a Satellite navigation receiver is taken as an example. MHAL test method based on specific hardware platform is explained, and a set of test cases is designed. By using CORBA (Common Object Request Broker Architecture) middleware Tao and software function dynamic configuration method, the test case set can shield the differences between the tested devices, improve the universality, compatibility and test efficiency of test cases. And users can complete the automatic test with one key operation on the PC. The results show that the test suite can fully verify the ability of hardware abstraction layer to realize data transmission and meet the conformity of SCA, so as to meet the needs of users
  • 当前,国内已经确立了下一代通信装备完全按照软件通信体系结构(SCA)标准进行设计、生产、研制、维护的总体思路. 在这一背景下,为了促进不同单位独立研制的无线电软硬件模块、平台、整机设备之间的相互兼容性,必须依据软件无线电通信体系结构系列标准,制定完备系统的测试方法和测试流程. 在此基础上研制软件无线电符合性测试系统,对不同厂家采用不同实现方式研制的无线电产品进行全面、严格的符合性测试,以验证其是否符合标准规范的要求,保证装备的顺利集成、联调联试和作战使用. 因此,符合性测试系统是提高软件无线电通信装备标准兼容性的重要技术手段,是实现真正意义上的通用化、系列化、模块化的重要保证.

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

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

    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  测试用例分类及测试对象
    测试类型测试项覆盖接口/测试对象
    MHAL接口符合性测试MHAL GPPComsumerPort pushPacket()
    ComsumerPort addTxRoute()
    ProducerPort pushPacket()
    ProducerPort getRxRoutes()
    MHAL DSPMhalComm()
    reroute_LD_sink()
    LD_of()
    MHAL FPGA多深度FIFO发送
    多深度FIFO接收
    FIFO接收/RAM接收
    /N-Word寄存器接收/Strobe接收
    RFChain测试MHAL RFChainRFC_DefModulationMode
    RFC_ModulationMode
    RFC_TxALCAttackTime
    RFC_TxALCDecayTime
    性能测试吞吐量GPP与非GPP硬件抽象层吞吐量
    非GPP间硬件抽象层吞吐量
    下载: 导出CSV 
    | 显示表格

    硬件平台符合性测试系统由测试平台和被测设备组成,测试框架如图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接口测试及吞吐量测试.

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

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

    表  2  pushPacket接口函数测试用例
    基本描述内容
    名称pushPacket方法
    功能向指定LD发送payload
    类型软件功能与接口
    目的验证该接口功能是否正常
    约束设备提供PF_MHALPacketConsumer接口
    行为调用此方法,观察返回值
    复杂度一般
    测试级别基本测试
    下载: 导出CSV 
    | 显示表格

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

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

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

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

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

    表  3  pushPacket方法期望测试结果
    测试编号期望测试结果关键项说明
    测试声明1LD指定的MHAL目的端口没有收到报文,测试失败
    测试声明2LD指定的MHAL目的端口收到报文,测试成功
    下载: 导出CSV 
    | 显示表格

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

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

    图  3  设备工作频段测试图

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

    表  4  设备工作频段测试用例
    基本描述内容
    名称设备工作频段测试
    功能GPP下发与工作频率相关的RF Chain消息至信道模块,信道模块对外输出射频信号
    类型RF Chain输出响应测试
    目的对设置工作频率的相关RF Chain消息进行SCA符合性测试
    约束GPP MHAL、FPGA MHAL正常工作
    行为运行此用例,通过频谱分析仪测量射频输出的中心频率指标参数
    复杂度一般
    测试级别基本测试
    下载: 导出CSV 
    | 显示表格

    工作频段测试需进行信道初始配置和信道工作配置,配置过程中需要向信道模块下发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命令请求进入发射状态.

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

    执行过程:

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

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

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

    执行过程:

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

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

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

    执行过程:

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

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

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

    表  5  设备工作频段测试期望结果
    测试声明编号期望测试结果关键项说明
    测试声明1F1±1%
    测试声明2F2±1%
    测试声明3F3±1%
    下载: 导出CSV 
    | 显示表格

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

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

    表  6  GPP−>DSP/FPGA吞吐量测试用例
    基本描述内容
    名称GPP−>DSP/FPGA吞吐量测试
    功能测试GPP−>DSP/FPGA之间吞吐量指标
    类型软件功能与接口
    目的验证GPP−>DSP/FPGA之间吞吐量是否满足需求
    约束GPP/DSP/FPGA MHAL正常工作
    行为运行此用例,计算吞吐量并判断其是否满足需求
    复杂度一般
    测试级别基本测试
    下载: 导出CSV 
    | 显示表格

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

    执行过程:

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

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

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

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

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

    表  7  GPP−>DSP/FPGA吞吐量测试期望结果
    测试声明编号期望测试结果关键项说明
    测试声明1与参考指标对比,判断是否满足需求
    下载: 导出CSV 
    | 显示表格

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

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

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

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

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

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

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

    步骤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所示.

    图  4  GPP标准符合性测试原理
    表  8  两种测试方法对比
    对比项本文测试方法传统测试方法
    PC与被测设备的通信机制PC与被测设备之间采用CORBA通信机制PC与被测设备之间采用用户数据报协议(UDP)通信机制
    GPP端是否运行测试用例GPP端无测试用例GPP端必须植入嵌入式测试用例,此代理程序通过消息转发建立MHAL与PC端测试用例之间的通信链路
    用户体验对比用户只需在PC端一键操作,启动测试软件,即可完成MHAL接口符合性测试需在被测设备供应商提供的基础工程中添加测试用例,编译生成可执行文件,并将该可执行文件加载至被测设备启动,然后运行PC端测试用例进行测试
    下载: 导出CSV 
    | 显示表格

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

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

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

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

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

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

    图  5  MHAL消息格式

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

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

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

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

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

    图  2   测试框架示意图

    图  3   设备工作频段测试图

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

    图  5   MHAL消息格式

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

    测试类型测试项覆盖接口/测试对象
    MHAL接口符合性测试MHAL GPPComsumerPort pushPacket()
    ComsumerPort addTxRoute()
    ProducerPort pushPacket()
    ProducerPort getRxRoutes()
    MHAL DSPMhalComm()
    reroute_LD_sink()
    LD_of()
    MHAL FPGA多深度FIFO发送
    多深度FIFO接收
    FIFO接收/RAM接收
    /N-Word寄存器接收/Strobe接收
    RFChain测试MHAL RFChainRFC_DefModulationMode
    RFC_ModulationMode
    RFC_TxALCAttackTime
    RFC_TxALCDecayTime
    性能测试吞吐量GPP与非GPP硬件抽象层吞吐量
    非GPP间硬件抽象层吞吐量
    下载: 导出CSV

    表  2   pushPacket接口函数测试用例

    基本描述内容
    名称pushPacket方法
    功能向指定LD发送payload
    类型软件功能与接口
    目的验证该接口功能是否正常
    约束设备提供PF_MHALPacketConsumer接口
    行为调用此方法,观察返回值
    复杂度一般
    测试级别基本测试
    下载: 导出CSV

    表  3   pushPacket方法期望测试结果

    测试编号期望测试结果关键项说明
    测试声明1LD指定的MHAL目的端口没有收到报文,测试失败
    测试声明2LD指定的MHAL目的端口收到报文,测试成功
    下载: 导出CSV

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

    基本描述内容
    名称设备工作频段测试
    功能GPP下发与工作频率相关的RF Chain消息至信道模块,信道模块对外输出射频信号
    类型RF Chain输出响应测试
    目的对设置工作频率的相关RF Chain消息进行SCA符合性测试
    约束GPP MHAL、FPGA MHAL正常工作
    行为运行此用例,通过频谱分析仪测量射频输出的中心频率指标参数
    复杂度一般
    测试级别基本测试
    下载: 导出CSV

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

    测试声明编号期望测试结果关键项说明
    测试声明1F1±1%
    测试声明2F2±1%
    测试声明3F3±1%
    下载: 导出CSV

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

    基本描述内容
    名称GPP−>DSP/FPGA吞吐量测试
    功能测试GPP−>DSP/FPGA之间吞吐量指标
    类型软件功能与接口
    目的验证GPP−>DSP/FPGA之间吞吐量是否满足需求
    约束GPP/DSP/FPGA MHAL正常工作
    行为运行此用例,计算吞吐量并判断其是否满足需求
    复杂度一般
    测试级别基本测试
    下载: 导出CSV

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

    测试声明编号期望测试结果关键项说明
    测试声明1与参考指标对比,判断是否满足需求
    下载: 导出CSV

    表  8   两种测试方法对比

    对比项本文测试方法传统测试方法
    PC与被测设备的通信机制PC与被测设备之间采用CORBA通信机制PC与被测设备之间采用用户数据报协议(UDP)通信机制
    GPP端是否运行测试用例GPP端无测试用例GPP端必须植入嵌入式测试用例,此代理程序通过消息转发建立MHAL与PC端测试用例之间的通信链路
    用户体验对比用户只需在PC端一键操作,启动测试软件,即可完成MHAL接口符合性测试需在被测设备供应商提供的基础工程中添加测试用例,编译生成可执行文件,并将该可执行文件加载至被测设备启动,然后运行PC端测试用例进行测试
    下载: 导出CSV
  • [1] 粟欣, 许希斌. 软件无线电原理与技术[M]. 北京: 人民邮电出版社, 2010: 29.
    [2]

    Joint program executive office (JPEO) Joint tactical radio system (JTRS). Software communications architecture specification, Version 4.0[S/OL]. [2020-11-20]. Space and Naval Warfare Systems Center San Diego 53560 Hull Street, San Diego CA 92152-5001, 2012. https://www.defense.gov/

    [3]

    Joint program executive office (JPEO) Joint tactical radio system (JTRS). Software communications architecture specification, Version 4.1[S/OL]. [2020-11-20]. Space and Naval Warfare Systems Center San Diego 53560 Hull Street, San Diego CA 92152-5001, 2015. https://www.defense.gov/

    [4] 郝嘉禄. 软件无线电支撑应用系统设计与实现[D]. 长沙: 国防科学技术大学, 2015.
    [5] 张剑锋, 马叶锋. 软件无线电及 SCA 简介[J]. 通信与广播电视, 2006(1): 9-13, 23.
    [6] 李兰花. 基于SCA和USRP的通信系统设计与实现[D]. 长沙: 湖南师范大学, 2016.
    [7] 唐麒. 小型化软件通信体系结构的研究与实现[D]. 长沙: 国防科学技术大学, 2011.
    [8]

    GOMEZ I, MAROJEVIC V, GELONCH A. ALOE: an open-source SDR execution environment with cognitive computing resource management capabilities[J]. IEEE Communication Magazine, 2011, 49(9): 76-83. DOI: 10.1109/MCOM.2011.6011737

    [9] 李雅萍, 杨尚森, 李阳. CORBA 技术在 SCA 系统中的应用[J]. 计算机工程与设计, 2008, 29(16):4200-4203, 4206.
    [10] 赵匡. 基于 SDR-4000 的软件无线电体系架构设计实现[D]. 长沙: 国防科学技术大学, 2012.
图(5)  /  表(8)
计量
  • 文章访问数: 
  • HTML全文浏览量: 
  • PDF下载量: 
  • 被引次数: 0
出版历程
  • 收稿日期:  2020-12-16
  • 网络出版日期:  2021-07-04
  • 刊出日期:  2021-06-29

目录

/

返回文章
返回
x 关闭 永久关闭