羅文
(成都航空職業技術學院,成都 610100)
當前,國內已經確立了下一代通信裝備完全按照軟件通信體系結構(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 測試用例分類及測試對象
硬件平臺符合性測試系統由測試平臺和被測設備組成,測試框架如圖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 接口符合性測試進行舉例說明.
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 方法期望測試結果
現以工作頻段測試為例,對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 設備工作頻段測試期望結果
現以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 吞吐量測試期望結果
波形可移植性評估是驗證不同的波形能否在同一個硬件平臺上運行,測試項包括:
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 所示.

圖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 兩種測試方法對比
為兼容各廠家設備之間的差異性,提高測試的通用性,在測試用例設計時采用可配置參數法,實現軟件功能的動態配置.
以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 項測試,結果表明,本文實現的測試用例集具有硬件平臺標準符合性測試能力.為波形可移植性評估中的硬件平臺測試提供了一種切實可行的辦法.