羅文
(成都航空職業(yè)技術(shù)學(xué)院,成都 610100)
當(dāng)前,國(guó)內(nèi)已經(jīng)確立了下一代通信裝備完全按照軟件通信體系結(jié)構(gòu)(SCA)標(biāo)準(zhǔn)進(jìn)行設(shè)計(jì)、生產(chǎn)、研制、維護(hù)的總體思路.在這一背景下,為了促進(jìn)不同單位獨(dú)立研制的無(wú)線電軟硬件模塊、平臺(tái)、整機(jī)設(shè)備之間的相互兼容性,必須依據(jù)軟件無(wú)線電通信體系結(jié)構(gòu)系列標(biāo)準(zhǔn),制定完備系統(tǒng)的測(cè)試方法和測(cè)試流程.在此基礎(chǔ)上研制軟件無(wú)線電符合性測(cè)試系統(tǒng),對(duì)不同廠家采用不同實(shí)現(xiàn)方式研制的無(wú)線電產(chǎn)品進(jìn)行全面、嚴(yán)格的符合性測(cè)試,以驗(yàn)證其是否符合標(biāo)準(zhǔn)規(guī)范的要求,保證裝備的順利集成、聯(lián)調(diào)聯(lián)試和作戰(zhàn)使用.因此,符合性測(cè)試系統(tǒng)是提高軟件無(wú)線電通信裝備標(biāo)準(zhǔn)兼容性的重要技術(shù)手段,是實(shí)現(xiàn)真正意義上的通用化、系列化、模塊化的重要保證.
Medom 硬件抽象層(MHAL)軟件通過(guò)屏蔽硬件平臺(tái)相關(guān)的底層通信機(jī)制、封裝標(biāo)準(zhǔn)的通信接口,實(shí)現(xiàn)波形組件間通信方式與具體硬件平臺(tái)的分離,保持波形組件底層通信訪問(wèn)接口的一致性.MHAL 參考模型定義了MHAL 通信服務(wù),該服務(wù)由一系列與MHAL 接口組件協(xié)同工作的MHAL 通信函數(shù)組成.其中,MHAL 接口組件由運(yùn)行在通用處理器(GPP)和數(shù)字信號(hào)處理器(DSP)上的軟件驅(qū)動(dòng)程序和現(xiàn)場(chǎng)可編程邏輯門陣列(FPGA)接口組成,提供消息傳輸,MHAL 通信函數(shù)則提供抽象的消息路由功能,波形使用MHAL 通信服務(wù)來(lái)實(shí)現(xiàn)不同計(jì)算單元(CE)中軟件組件間的數(shù)據(jù)流和控制流傳輸.
通過(guò)對(duì)MHAL 應(yīng)用程序編程接口(API)的研究,實(shí)現(xiàn)SCA 標(biāo)準(zhǔn)中對(duì)MHAL 的接口測(cè)試,提高波形的可移植性,達(dá)到波形與硬件的解耦[2].
MHAL 通信服務(wù)由一系列與MHAL 接口組件協(xié)同工作的MHAL 通信函數(shù)組成[3],其中MHAL 接口組件由運(yùn)行在GPP 和DSP 上的軟件驅(qū)動(dòng)程序組成,提供消息傳輸,MHAL 通信函數(shù)則提供抽象的消息路由功能[4].參考模型如圖1 所示.
圖1 硬件抽象層參考模型[5]
SCA 標(biāo)準(zhǔn)中定義了一系列MHAL 函數(shù)[6],如GPP MHAL 接口:MHALPacketConsumer::pushPacket,實(shí)現(xiàn)將通信數(shù)據(jù)推送到消費(fèi)者的能力.DSP MHAL 接口:mhalFunPtr reroute_LD_sink (uint16_t LD,mhalFunPtr newSinkFx),用于實(shí)現(xiàn)邏輯地址(LD)與信宿函數(shù)的映射.通過(guò)對(duì)MHAL 函數(shù)的測(cè)試,可以判斷不同計(jì)算單元(CE)屏蔽底層硬件差異實(shí)現(xiàn)透明數(shù)據(jù)傳輸?shù)哪芰7].
現(xiàn)以SCA 標(biāo)準(zhǔn)中的MHAL 接口為被測(cè)對(duì)象,設(shè)計(jì)測(cè)試用例,對(duì)MHAL 接口進(jìn)行SCA 標(biāo)準(zhǔn)符合性測(cè)試,測(cè)試用例分類及測(cè)試對(duì)象如表1 所示.
表1 測(cè)試用例分類及測(cè)試對(duì)象
硬件平臺(tái)符合性測(cè)試系統(tǒng)由測(cè)試平臺(tái)和被測(cè)設(shè)備組成,測(cè)試框架如圖2 所示.測(cè)試用例由硬件平臺(tái)控制終端的符合性測(cè)試軟件和分別部署在GPP、DSP、FPGA 上的GPP 測(cè)試組件、DSP 測(cè)試組件、FPGA測(cè)試組件組成.測(cè)試平臺(tái)是測(cè)試用例的主控單元,通過(guò)與GPP 測(cè)試組件、DSP 測(cè)試組件、FPGA 測(cè)試組件的數(shù)據(jù)收發(fā)完成測(cè)試用例流程.
圖2 測(cè)試框架示意圖
GPP 測(cè)試組件:在接口符合性測(cè)試中GPP 不需進(jìn)行相關(guān)操作,所有操作由PC 端符合性測(cè)試軟件直接調(diào)用MHAL 的接口執(zhí)行測(cè)試流程.在MHAL 吞吐量測(cè)試中,GPP 需精確計(jì)時(shí),并與DSP、FPGA 進(jìn)行數(shù)據(jù)收發(fā),完成MHAL 吞吐量測(cè)試.
DSP 測(cè)試組件接收到GPP 的測(cè)試指令后,完成GPP-DSP 的連通性測(cè)試、GPP-DSP-FPGA 的連通性測(cè)試,以及基于LD 的DSP 端SCA_API 接口符合性測(cè)試及MHAL 吞吐量測(cè)試.
FPGA 測(cè)試組件接收到GPP/DSP 的測(cè)試指令后,完成GPP-FPGA/DSP-FPGA 的連通性測(cè)試、以及基于LD 的FPGA 端MHAL 接口測(cè)試及吞吐量測(cè)試.
現(xiàn)以GPP 端MHAL 的pushPacket 接口測(cè)試為例,對(duì)MHAL 接口符合性測(cè)試進(jìn)行舉例說(shuō)明.
2.1.1 基本描述
pushPacket 接口函數(shù)測(cè)試用例如表2 所示.
表2 pushPacket 接口函數(shù)測(cè)試用例
2.1.2 內(nèi)容描述
2.1.2.1 測(cè)試聲明1
測(cè)試條件:GPP MHAL 設(shè)備工作正常,并從設(shè)備組件獲取到 MHAL::PF_MHALPacketConsumer接口,設(shè)置參數(shù)為無(wú)效的LD.
執(zhí)行過(guò)程:調(diào)用此方法,設(shè)置參數(shù)接收端口邏輯地址為無(wú)效的LD,觀察測(cè)試函數(shù)狀態(tài).
2.1.2.2 測(cè)試聲明2
測(cè)試條件:GPP MHAL 設(shè)備工作正常,并從設(shè)備組件獲取到MHAL::PF_MHALPacketConsumer 接口.
執(zhí)行過(guò)程:調(diào)用此方法,設(shè)置參數(shù)接收端口邏輯地址為有效的LD,觀察測(cè)試函數(shù)狀態(tài).
2.1.3 期望測(cè)試結(jié)果
pushPacket 方法期望測(cè)試結(jié)果如表3 所示.
表3 pushPacket 方法期望測(cè)試結(jié)果
現(xiàn)以工作頻段測(cè)試為例,對(duì)MHAL RF chain 接口進(jìn)行輸出響應(yīng)測(cè)試.硬件平臺(tái)控制被測(cè)設(shè)備的信道模塊輸出單載波,利用頻譜儀測(cè)量工作頻率.
硬件平臺(tái)控制端向被測(cè)設(shè)備的信道模塊發(fā)送RF chain 消息,控制被測(cè)設(shè)備的信道模塊依次輸出三個(gè)單載波信號(hào),這三個(gè)單載波信號(hào)的中心頻點(diǎn)為有效頻段范圍內(nèi)的任意三個(gè)頻點(diǎn).利用頻譜儀測(cè)量單載波信號(hào)是否滿足要求,測(cè)試圖如圖3 所示.
圖3 設(shè)備工作頻段測(cè)試圖
2.2.1 基本描述
設(shè)備工作頻段測(cè)試用例如表4 所示.
表4 設(shè)備工作頻段測(cè)試用例
工作頻段測(cè)試需進(jìn)行信道初始配置和信道工作配置,配置過(guò)程中需要向信道模塊下發(fā)MHAL RF chain 消息,具體操作如下:
1) 信道初始配置:硬件平臺(tái)測(cè)試終端向被測(cè)設(shè)備的信道模塊發(fā)送RF Chain 消息.首先構(gòu)建單載波模式參數(shù)表,通過(guò)RFC_DefModulationMode 接口,設(shè)置FM 模式,采樣率為4 M,通過(guò)RFC_ChannelFrequency接口依次配置工作頻率F1、F2、F3.
2)信道工作配置:下發(fā)RFC_ModulationMode 命令,調(diào)用RFC_DefModulationMode 中設(shè)置的調(diào)制模式編號(hào),通過(guò)RFC_TxBusyStatusResponse 命令查詢發(fā)射資源狀態(tài)是否可用,并發(fā)送RFC_ConnectTxBlock命令連接波形與射頻鏈發(fā)射通路,然后下發(fā)RFC_ChannelTxModeSet 命令請(qǐng)求進(jìn)入發(fā)射狀態(tài).
2.2.2 內(nèi)容描述
2.2.2.1 測(cè)試聲明1
測(cè)試條件:GPP MHAL 及信道模塊工作正常,測(cè)試儀器為頻譜分析儀.
執(zhí)行過(guò)程:
1)配置信道中心頻點(diǎn)F1;
2)通過(guò)頻譜分析儀測(cè)試信道輸出的射頻信號(hào).
2.2.2.2 測(cè)試聲明2
測(cè)試條件:GPP MHAL 及信道模塊工作正常,測(cè)試儀器為頻譜分析儀.
執(zhí)行過(guò)程:
1)配置信道中心頻點(diǎn)F2;
2)通過(guò)頻譜分析儀測(cè)試信道輸出的射頻信號(hào).
2.2.2.3 測(cè)試聲明3
測(cè)試條件:GPP MHAL 及信道模塊工作正常,測(cè)試儀器為頻譜分析儀.
執(zhí)行過(guò)程:
1)配置信道中心頻點(diǎn)F3;
2)通過(guò)頻譜分析儀測(cè)試信道輸出的射頻信號(hào).
2.2.3 期望測(cè)試結(jié)果
設(shè)備工作頻段測(cè)試期望結(jié)果如表5 所示.
表5 設(shè)備工作頻段測(cè)試期望結(jié)果
現(xiàn)以GPP?>DSP/FPGA 吞吐量測(cè)試為例,簡(jiǎn)述基于MHAL 接口的模塊間吞吐量測(cè)試.
2.3.1 基本描述
GPP?>DSP/FPGA 吞吐量測(cè)試基本描述如表6所示.
表6 GPP?>DSP/FPGA 吞吐量測(cè)試用例
2.3.2 內(nèi)容描述
2.3.2.1 測(cè)試聲明1
測(cè)試條件:GPP/DSP/FPGA MHAL 工作正常.
執(zhí)行過(guò)程:
1) GPP 接收到上位機(jī)下發(fā)的測(cè)試指令及測(cè)試參數(shù)后,將測(cè)試指令及測(cè)試參數(shù)轉(zhuǎn)發(fā)給DSP 或FPGA模塊,DSP 或FPGA 模塊接收測(cè)試指令及測(cè)試參數(shù),從測(cè)試參數(shù)中提取測(cè)試數(shù)據(jù)包數(shù)M.
2) GPP 重復(fù)發(fā)送測(cè)試數(shù)據(jù)給DSP 或FPGA模塊.
3) DSP 或者FPGA 模塊接收到第一包測(cè)試數(shù)據(jù)起開始計(jì)時(shí),當(dāng)測(cè)試包數(shù)等于測(cè)試數(shù)據(jù)包數(shù)M時(shí),向上位機(jī)上報(bào)統(tǒng)計(jì)時(shí)間,即傳送時(shí)間;當(dāng)測(cè)試包數(shù)小于測(cè)試數(shù)據(jù)包數(shù)M時(shí),數(shù)據(jù)包丟失,上報(bào)結(jié)果測(cè)試失敗.
4)上位機(jī)根據(jù)DSP 或FPGA 模塊上報(bào)的測(cè)試結(jié)果,吞吐量=成功傳送的數(shù)據(jù)/傳送時(shí)間,計(jì)算吞吐量.
2.3.3 期望測(cè)試結(jié)果
GPP->DSP/FPGA 吞吐量測(cè)試結(jié)果如表7 所示.
表7 GPP?>DSP/FPGA 吞吐量測(cè)試期望結(jié)果
波形可移植性評(píng)估是驗(yàn)證不同的波形能否在同一個(gè)硬件平臺(tái)上運(yùn)行,測(cè)試項(xiàng)包括:
1)軟件運(yùn)行環(huán)境標(biāo)準(zhǔn)符合性測(cè)試:對(duì)核心框架、設(shè)備組件、服務(wù)組件進(jìn)行接口驗(yàn)證;
2)波形SCA 標(biāo)準(zhǔn)符合性測(cè)試:對(duì)波形組件與核心框架組件之間的接口進(jìn)行驗(yàn)證;
3)波形傳輸性能評(píng)估:對(duì)功能波形所要求的功能、性能指標(biāo)進(jìn)行測(cè)試,從而判斷在硬件環(huán)境滿足波形傳輸性能測(cè)試的前提條件下,待移植的波形軟件功能;
4)硬件平臺(tái)標(biāo)準(zhǔn)符合性及性能測(cè)試:包含MHAL 接口符合性測(cè)試、MHAL 性能測(cè)試.
針對(duì)硬件平臺(tái)的性能測(cè)試,目前常用方法為單個(gè)模塊的吞吐量,如GPP 模塊內(nèi)兩組件之間的吞吐量.本文提出一套GPP?>DSP/FPGA、DSP/FPGA?>GPP、DSP?>FPGA、FPGA?>DSP 模塊之間MHAL 吞吐量測(cè)試方法,通過(guò)對(duì)比波形對(duì)硬件平臺(tái)的指標(biāo)要求和MHAL 吞吐量測(cè)試結(jié)果,可以完成波形可移植性評(píng)估中的第4 項(xiàng)硬件平臺(tái)性能測(cè)試.
MHAL 接口符合性測(cè)試中,PC 端通過(guò)采用CORBA 的中間件TAO 與被測(cè)設(shè)備通信,將設(shè)備端的嵌入式測(cè)試用例放在PC 端運(yùn)行,即可屏蔽被測(cè)設(shè)備之間的差異,提高測(cè)試用例的通用性、兼容性、測(cè)試效率,用戶只需在PC 端一鍵操作即可完成自動(dòng)化測(cè)試.采用中間件TAO[8]后,PC 端與被測(cè)設(shè)備的測(cè)試流程如圖4 所示.
圖4 GPP 標(biāo)準(zhǔn)符合性測(cè)試原理
步驟1)和2):PC 通過(guò)CORBA 軟總線與待測(cè)設(shè)備的域管理器[9]建立連接,并通過(guò)設(shè)備名查找到MHAL 設(shè)備,利用MHAL::PF_MHALPacketConsumer::pushpacket()方法將數(shù)據(jù)推送至DSP/FPGA 端.
步驟3)和4):DSP/FPGA 收到數(shù)據(jù)后,DSP/FPGA通過(guò)各自的推送接口將數(shù)據(jù)推送至MHAL; MHAL通過(guò)MHAL::WF_MHALPacketConsumer::pushpacket()將數(shù)據(jù)推送至PC 端.
根據(jù)以上描述,現(xiàn)將PC 端采用CORBA 中間件TAO 的測(cè)試方法和傳統(tǒng)不采用CORBA 中間件的測(cè)試方法進(jìn)行對(duì)比,如表8 所示.
表8 兩種測(cè)試方法對(duì)比
為兼容各廠家設(shè)備之間的差異性,提高測(cè)試的通用性,在測(cè)試用例設(shè)計(jì)時(shí)采用可配置參數(shù)法,實(shí)現(xiàn)軟件功能的動(dòng)態(tài)配置.
以MHAL 吞吐量測(cè)試為例,各廠家設(shè)備的MHAL吞吐量指標(biāo)不一樣.測(cè)試時(shí)需在EXCEL 文件上錄入多組參數(shù),如數(shù)據(jù)包大小、數(shù)據(jù)包間時(shí)延、數(shù)據(jù)包個(gè)數(shù)、發(fā)送數(shù)據(jù)類型等參數(shù),通過(guò)運(yùn)行多組測(cè)試數(shù)據(jù),直至逼近被測(cè)設(shè)備的最大吞吐量.
為判斷測(cè)試用例是否具有驗(yàn)證陪測(cè)設(shè)備硬件平臺(tái)標(biāo)準(zhǔn)符合性測(cè)試的功能,可依據(jù)SCA 標(biāo)準(zhǔn)[3],進(jìn)行MHAL 接口符合性測(cè)試功能驗(yàn)證和性能測(cè)試功能驗(yàn)證[10].
采用以下方法對(duì)MHAL 接口符合性測(cè)試用例進(jìn)行驗(yàn)證:
1)靜態(tài)代碼審查:檢查API 函數(shù)名、函數(shù)參數(shù)及返回值是否符合SCA 標(biāo)準(zhǔn).
2)收發(fā)數(shù)據(jù)標(biāo)準(zhǔn)符合性檢查:利用抓包工具抓取收發(fā)MHAL 數(shù)據(jù)并判斷該數(shù)據(jù)是否符合SCA 標(biāo)準(zhǔn).如圖5 所示,MHAL 通過(guò)數(shù)據(jù)包交換的方式進(jìn)行數(shù)據(jù)收發(fā).每個(gè)MHAL數(shù)據(jù)包含報(bào)頭和載荷,報(bào)頭中的邏輯目的地址為目的端口字段.ICD 結(jié)構(gòu)如圖5所示.
圖5 MHAL 消息格式
3)以某接收機(jī)為陪測(cè)對(duì)象進(jìn)行功能測(cè)試:如圖3所示,搭建測(cè)試環(huán)境,利用測(cè)試平臺(tái)控制端向陪測(cè)設(shè)備下發(fā)測(cè)試指令及測(cè)試參數(shù),根據(jù)測(cè)試結(jié)果判斷測(cè)試用例是否具有驗(yàn)證陪測(cè)設(shè)備MHAL 接口符合性測(cè)試的功能.
經(jīng)以上3 項(xiàng)驗(yàn)證測(cè)試,測(cè)試結(jié)果滿足測(cè)試期望,MHAL 接口符合性測(cè)試用例具有驗(yàn)證陪測(cè)設(shè)備MHAL 接口符合性測(cè)試的功能.
以某接收機(jī)為陪測(cè)對(duì)象對(duì)MHAL 進(jìn)行吞吐量測(cè)試,傳輸速率測(cè)試結(jié)果在1~1 000 Mbps,測(cè)試結(jié)果滿足測(cè)試期望.MHAL 吞吐量測(cè)試用例具有驗(yàn)證陪測(cè)設(shè)備MHAL 吞吐量測(cè)試的功能.
針對(duì)波形可移植性評(píng)估中的硬件平臺(tái)測(cè)試,本文實(shí)現(xiàn)了一組通用性測(cè)試用例集.經(jīng)過(guò)靜態(tài)代碼審查、收發(fā)數(shù)據(jù)標(biāo)準(zhǔn)符合性檢查、以某接收機(jī)為陪測(cè)對(duì)象進(jìn)行的功能測(cè)試3 項(xiàng)測(cè)試,結(jié)果表明,本文實(shí)現(xiàn)的測(cè)試用例集具有硬件平臺(tái)標(biāo)準(zhǔn)符合性測(cè)試能力.為波形可移植性評(píng)估中的硬件平臺(tái)測(cè)試提供了一種切實(shí)可行的辦法.