软件无线电硬件平台MHAL接口符合性测试方法
2022-06-01文永康龚建全
胡 宇,文永康,徐 卫,罗 文,龚建全
(成都天奥测控技术有限公司,成都 611731)
0 引言
软件无线电通信架构(SCA,software communications architecture)源自美军联合战术无线电系统(JTRS)计划,联合战术无线电系统是基于软件无线电通信架构规范而构建的软件无线通信装备体系,其开放性、灵活性、可移植性、扩充性相对传统的无线电通信装备来说得到了较大的提高。软件无线电通信架构规范对无线电通信装备的软件体系结构、硬件体系结构、波形体系结构、管理体系结构、测试体系结构以及安全体系结构进行了确定,这种技术的应用是为了实现硬件及软件的深度解耦。SCA电台采用开放的标准结构,通过各种共享的硬件组建以及波形软件的动态加载来实现硬件维护以及软件的功能升级。随着软件无线电技术的广泛应用,为实现软件与硬件的无关性,提高开发效率,SCA规范逐渐进入了人们的视野并受到了广泛的关注。文献[2]分析了软件无线电波形和波形组件,提出了一种基于SCA规范的波形组件动态部署方法。文献[3]通过研究SCA技术设计了指控装备通信接口测试系统软件框架。文献[4]分析了SCA环境下常用的中间件技术,并对ACE_TAO和AvicORB两种CORBA产品的传输速率和传输时延等性能指标进行了测试。文献[5]着重介绍了SCA硬件体系结构、软件体系结构和安全体系结构,分析了其参考价值。文献[6]提出了一种基于GPP代理的SCA波形管理方法,解决DSP和FPGA不能运行CORBA的问题。文献[7]针对SCA规范提出的MHAL和MOCB两种硬件抽象层标准进行分析,研究了其实现方案,并对其特点、优势进行了分析。文献[8]提出了一种多总线结构的MHAL路由方法,解决了传统方法多端口路由以及数据包路由转发的问题。文献[9]研究了SCA和补充规范的技术应用,针对DSP和FPGA平台设计了硬件抽象层通信接口。文献[10]从基本定义、体系结构、应用和实现等方面分析了SCA中的CORBA和硬件抽象层技术。
软件无线电技术的核心在于利用软件实现无线电信号产生和处理,在通用的硬件架构上加载不同软件实现不同的通讯功能。软件无线电硬件架构中一般包括嵌入式处理器、DSP、FPGA、ADC和DAC等组成部分,软无设备中的“软件”既包括诸如嵌入式处理和DSP中运行的C程序,也包括FPGA相关的VHDL代码。这些软件如何才能重用,是SCA规范需要解决的关键问题。不同的软件无线电平台或设备采用的硬件芯片、接口不尽相同,导致相应的“软件”不能共用,为此SCA提出了硬件抽象层(HAL-C,hardware abstract layer connectivity)的概念。MHAL应用程序接口(modem hardware abstraction layer application program interface)支持部署在GPP、DSP和FPGA上的应用程序组件之间的通信,制定了统一的消息格式和软件接口。基于SCA设计的软无硬件平台应具备相应的API接口,供波形软件开发者调用,让开发者只关注通信波形、算法的设计,不用考虑具体硬件如何实现。MHAL是衡量软无硬件平台是否满足SCA规范要求的重要标志,MHAL接口符合性测试是软无设备开发验证的必要环节。
1 MHAL应用程序接口
1.1 MHAL工作原理
SCA将软无硬件平台中的GPP(通用处理器)、DSP和FPGA定义为CE(计算单元),MHAL的作用就是方便CE之间的消息传输。MHAL API没有指定硬件平台中CE的数量、数据传输总线和具体架构,仅指定了消息传输接口协议。MHAL位于CE硬件接口和软件之间,如图1所示。
图1 软无平台典型架构
GPP、DSP的MHAL本质上可以当着平台底层数据传输的驱动,它按照标准要求提供接口数据收、发函数。FPGA的MHAL则是一系列的数据收发节点,提供用户数据接口,通过这些节点可以将FPGA内部数据推送到平台数据总线上。平台开发者根据平台自身硬件架构、配置开发MHAL,软件开发者只需调用相应接口就可以实现各CE之间的消息传输,使波形软件可以在不同平台上完成快速移植。除完成CE间的数据通信之外,MHAL消息还被用于传送RF Chain命令,实现平台天线接口单元、射频信道等资源的控制。MHAL API包括GPP API、DSP API、FPGA API和RF Chain API等四大部分。
1.2 MHAL消息格式
MHAL消息格式,包括报头和载荷两部分,报头包括在用标识、逻辑目的地址和长度,载荷包括消息ID和参数如图2所示。
图2 MHAL消息格式
“在用标识”:长度1位,当波形开发方的收、发数据采用共享缓存时,用于标识接收消息已处理完成。
“逻辑目的地址”:长度15位,用于指定消息传输的目的地,它可以代表一个或一组DSP函数和FPGA节点,逻辑目的地址在平台中进行全局定义,在每个CE中具有相同的含义。
“长度”:长度16位,代表消息长度。
1.3 GPPMHAL接口
GPP MHAL被封装成CORBA组件,并定义了一系列端口、服务和接口。MHAL定义的端口包括“提供者端口”和“使用者端口”,“提供者端口”用于通过MHAL发送数据,“使用者端口”用于从MHAL接收数据。发送数据时需将设备使用方的“使用者端口”连接到MHAL“提供者端口”;接收数据时将设备使用方的“提供者端口”连接到MHAL“使用者端口”。MHAL定义的服务包括“提供者服务”和“使用者服务”,“提供者服务”可被其它客户端组件调用,当MHAL作为客户端时可调用“使用者服务”。MHAL定义了“平台接口”(MHAL::PF_MHALPacketConsumer)和“波形接口”(MHAL::WF_MHALPacketConsumer),“平台接口”供软无设备平台使用,波形接口用于内部波形和应用程序访问。GPP MHAL服务、接口及数原型如表1所示。
1.4 DSP MHAL接口
DSP MHAL由一系列传输MHAL消息的C函数组成,在DSP波形组件代码中调用执行,包括通信路由模块和消息在用模块。通信路由模块实现MHAL消息发送、接收和路由功能,消息在用模块实现“在使用”标志控制、查询功能。DSP MHAL共提供了6个接口函数,详情如表2所示。
1.5 FPGA MHAL接口
FPGA MHAL由数据发送节点和数据接收节点组成,以VHDL代码模块的形式存在,使用时需要与FGPA中的波形软件代码共同综合、实现和下载。FPGA MHAL定义了1个发送节点和5个接收节点。发送节点采用多深度FIFO发送方式,接收节点可选择多深度FIFO、单深度FIFO、RAM、N-WORD Register和Strobe等方式。标准对每种节点的总线信号接口制定了数据线、控制线、时钟线、工作时序等,如表3所示。
表1 GPP MHAL服务及接口
表2 DSP MHAL接口函数
表3 FPGA MHAL接口信号
表4 RFChain常规命令列表
1.6 RFChain接口
图3 MHAL符合性测试信息流向图
RFChain接口是用于控制平台射频信道的命令集,采用MHAL消息的方式进行传输,通过消息ID映射RFChain命令符号,命令参数封装于消息载荷中。RFChain命令可设置信道调制参数、调制模式、功放参数、信道频率、收发模式、收发控制、接收增益、信道状态查询等,主要命令如表4所示。
2 MHAL接口符合性测试方法
2.1 基本思路
MHAL接口符合性测试基本思路为:按标准开发测试组件集,并部署到被测硬件平台中,运行测试用例,调用被测MHAL接口传输消息,通过其响应判断被测MHAL接口是否符合标准要求。上位机测试软件将被测模块的逻辑地址LD和测试数据按MHAL协议封装成MHAL消息,通过CORBA下发MHAL消息至被测平台,LD所指向的测试组件接收消息,并将消息转发到其它测试组件,最后将消息回传至测试终端,如图3所示。测试软件将收发数据进行比对,根据比对结果判断MHAL接口是否符合要求。
2.2 MHAL标准符合性测试方法
2.2.1 GPP MHAL标准符合性测试
GPP MHAL测试内容包括ConsumerPort pushPacket、ConsumerPortaddTxRoute、ProducerPort pushPacket、ProducerPortgetRxRoutes。
ConsumerPort pushPacket测试:通过获取PF对象调用ConsumerPort pushPacket函数,如果调用成功,没有异常抛出,则测试通过;
ConsumerPortaddTxRoute测试:通过获取PF对象调用ConsumerPortaddTxRoute函数,如果调用成功,没有异常抛出,则测试通过。
ProducerPort pushPacket接口和ProducerPortgetRxRoutes接口测试:通过PC和DSP之间的数据闭环,对接口功能进行测试。接口调用过程如下,PC通过ConsumerPort pushPacket接口和ConsumerPortaddTxRoute接口将MHAL数据(目的地址为LDAddr,回执地址为LDAddrRep)推送至DSP,DSP回传数据至GPP MHAL设备组件,MHAL设备组件收到数据后,调用ProducerPort pushPacket接口和ProducerPortgetRxRoutes接口,将数据推送至PC。PC接收该MHAL数据,并判断该MHAL数据中的LD与LDAddrRep是否一致,如果一致则测试通过,否则失败。
2.2.2 DSPMHAL标准符合性测试
DSP-MHAL标准符合性包括数据接口、LD获取和MsgInUse接口等3个测试模块,对应6个接口函数如下。
数据接口包括:reroute_LD_sink()、Mhal_Comm();
LD获取包括:LD_of();
MsgInUse接口包括:isMsgInUse()、clrMsgInUse()和setMsgInUse()。
测试流程为DSP测试用例调用reroute_LD_sink完成LDAddr的注册;测试终端PC按照ICD封装DSP测试MHAL消息包,通过PF_MHALPacketConsumer:: pushPacket方法将MHAL数据推送给DSP;DSP测试用例接收并解析该数据包,根据测试项目调用LD_of()、setMsgInUse()、clrMsgInUse()和isMsgInUse()函数,并检查消息包中的标识位,测试其响应;DSP测试用例将测试结果封装到应答包,调用Mhal_Comm()函数发送给PC;PC接收并解析DSP的应答包,获取测试结果。
2.2.3 FPGA MHAL标准符合性测试
FPGA MHAL标准符合性测试包括多深度FIFO发送接口、单深度FIFO接收接口、多深度FIFO接收接口、RAM接收接口、N-Word接收接口和Strobe接收接口测试。
测试终端PC下发FPGA接口测试消息给GPP模块上的MHAL测试组件,GPP MHAL测试组件将数据转发给FPGA;FPGA测试组件调用单深度FIFO接收接口、多深度FIFO接收接口、RAM接收接口、N-Word接收接口和Strobe接收接口,接收、解析该MHAL数据并判断数据正确性;FPGA测试组件根据各接口数据接收的正确性生成测试结果,通过多深度FIFO发送接口将测试结果上报给GPP。PC通过GPP MHAL接收来自FPGA的应答数据,解析测试结果。
2.3 RFChain测试方法
RFChain测试主要针对射频输出响应测试,基本测试方法为通过发送RFChain命令设置被测硬件平台信道参数,利用通用仪器、测试用例完成被测硬件平台信道参数指标测试,验证RFChain是否正确响应。根据设备工作模式可将RFChain输出响应测试分为接收和发射两类。
射频接收类测试:由外部仪器输入激励信号,被测设备作为接收机接收信号,通过设备内部测试用例测量信号参数,包括收信道带宽测试、动态范围测试。
射频发射类测试:被测设备加载测试用例,控制被测设备产生基本波形并发射信号,通过外部仪器测量设备的输出信号参数,包括频率范围测试、频率准确度、发射功率测试、发信道带宽测试和跳频能力测试。
硬件平台RFChain输出响应测试系统由测试终端、ATML测试平台和测试组件组成,如图4所示。测试终端是系统控制中心,由主控计算机和测试软件组成,通过以太网总线控制ATML测试平台和被测设备、进行数据交互。ATML测试平台是面向信号的自动测试系统,由ATML软件平台、测试程序TP、仪器资源和信号适配接口组成。测试组件1、测试组件2、测试组件3针对测试项目开发,分别部署在GPP、DSP、FPGA上。
图4 RFChain测试系统组成框图
测试组件1:用于实现核心框架下的建立连接、断开连接、LD路由配置,以及设备组件的部署、安装、启动、卸载、删除等功能,实现RFChain命令的下发。测试组件2:用于跳频发射能力测试,实现跳频功能,根据跳频图案,控制信道发射频点。测试组件3:接收测试时接收来自信道的基带数据,并进行抽取滤波,一方面由GPP读取该数据并转发给硬件平台控制终端,另一方面可经过FFT、加窗处理,计算信号功率和信噪比;发射测试时用于产生扩频宽带信号和跳时钟。各测试组件信息总览如表5所示。
表5 测试组件功能一览
3 实验结果与分析
按照图4所示搭建测试系统,首先对某单位软无设备平台进行了测试,测试内容包括:LD遍历、MHAL接口符合性和RFChain输出响应等,各项测试均达到预期效果。随后,对多家其他单位研制的软无设备平台进行测试。由于不同单位的软无平台实现方式不同,测试用例需要分别进行移植。因为实现的功能不同,各被测平台的RFChain输出响应指标如发射功率也不尽相同。对于标准中提出的几种FPGA接收接口,各单位采用了不同的方式,测试结果对比如表6所示。试验结果表明该测试方法能适应SCA
表6 软无设备MHAL符合性测试对比表
不同硬件架构下的MHAL符合性测试,测试组件/用例具有良好的兼容性,可快速移植到不同的软无系统平台上。
4 结束语
SCA是软件无线电技术发展应用的里程碑技术,无论是对通信装备的通用化、标准化推进,还是对民用通信产业的发展都能够起到至关重要的推动作用。硬件平台SCA符合性测试与软件运行环境标准符合性测试、波形SCA标准符合性测试、波形传输性能符合性测试、波形组网性能符合性测试、安全可信性能符合性测试共同形成了软无设备的测试体系。MHAL作为SCA关键技术之一,在整个技术体系中占据举足轻重的地位,是实现软件与硬件解耦的必要条件。在MHAL设计过程中,不同设计者对标准理解不同,采用的实现途径不同,需要采用统一的方法、标准对其符合性进行衡量。目前,国内学者在SCA的研究主要集中在设计和实现等方面,鲜有文献报道SCA MHAL标准符合性测试方法相关研究。在此之前本单位对于MHAL的测试验证主要采用人工代码走查和手动测试的方式,测试一致性差且效率低,RFChain响应测试覆盖不全,不能实现接收性能测试。本方法针对MHAL API接口和RFChian指令两个方面,创新性提出软件测试和硬件测试相结合的方式,通过开发标准的测试用例,移植到被测平台并运行,对被测软无硬件平台进行全面的测试验证。基于ATML自动测试,测试可信度高、速度快,测试效率提高了10倍以上。经过对多家单位软无设备的测试,验证了测试方法的可行性、有效性。实践表明该方法准确度高、兼容性强、适用范围广,可应用于软无设备的设计验证、测评、验收和检验等环节,具有一定的推广意义。