胡 宇,文永康,徐 衛,羅 文,龔建全
(成都天奧測控技術有限公司,成都 611731)
軟件無線電通信架構(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接口符合性測試是軟無設備開發驗證的必要環節。
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等四大部分。
MHAL消息格式,包括報頭和載荷兩部分,報頭包括在用標識、邏輯目的地址和長度,載荷包括消息ID和參數如圖2所示。

圖2 MHAL消息格式
“在用標識”:長度1位,當波形開發方的收、發數據采用共享緩存時,用于標識接收消息已處理完成。
“邏輯目的地址”:長度15位,用于指定消息傳輸的目的地,它可以代表一個或一組DSP函數和FPGA節點,邏輯目的地址在平臺中進行全局定義,在每個CE中具有相同的含義。
“長度”:長度16位,代表消息長度。
GPP MHAL被封裝成CORBA組件,并定義了一系列端口、服務和接口。MHAL定義的端口包括“提供者端口”和“使用者端口”,“提供者端口”用于通過MHAL發送數據,“使用者端口”用于從MHAL接收數據。發送數據時需將設備使用方的“使用者端口”連接到MHAL“提供者端口”;接收數據時將設備使用方的“提供者端口”連接到MHAL“使用者端口”。MHAL定義的服務包括“提供者服務”和“使用者服務”,“提供者服務”可被其它客戶端組件調用,當MHAL作為客戶端時可調用“使用者服務”。MHAL定義了“平臺接口”(MHAL::PF_MHALPacketConsumer)和“波形接口”(MHAL::WF_MHALPacketConsumer),“平臺接口”供軟無設備平臺使用,波形接口用于內部波形和應用程序訪問。GPP MHAL服務、接口及數原型如表1所示。
DSP MHAL由一系列傳輸MHAL消息的C函數組成,在DSP波形組件代碼中調用執行,包括通信路由模塊和消息在用模塊。通信路由模塊實現MHAL消息發送、接收和路由功能,消息在用模塊實現“在使用”標志控制、查詢功能。DSP MHAL共提供了6個接口函數,詳情如表2所示。
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常規命令列表

圖3 MHAL符合性測試信息流向圖
RFChain接口是用于控制平臺射頻信道的命令集,采用MHAL消息的方式進行傳輸,通過消息ID映射RFChain命令符號,命令參數封裝于消息載荷中。RFChain命令可設置信道調制參數、調制模式、功放參數、信道頻率、收發模式、收發控制、接收增益、信道狀態查詢等,主要命令如表4所示。
MHAL接口符合性測試基本思路為:按標準開發測試組件集,并部署到被測硬件平臺中,運行測試用例,調用被測MHAL接口傳輸消息,通過其響應判斷被測MHAL接口是否符合標準要求。上位機測試軟件將被測模塊的邏輯地址LD和測試數據按MHAL協議封裝成MHAL消息,通過CORBA下發MHAL消息至被測平臺,LD所指向的測試組件接收消息,并將消息轉發到其它測試組件,最后將消息回傳至測試終端,如圖3所示。測試軟件將收發數據進行比對,根據比對結果判斷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的應答數據,解析測試結果。
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 測試組件功能一覽
按照圖4所示搭建測試系統,首先對某單位軟無設備平臺進行了測試,測試內容包括:LD遍歷、MHAL接口符合性和RFChain輸出響應等,各項測試均達到預期效果。隨后,對多家其他單位研制的軟無設備平臺進行測試。由于不同單位的軟無平臺實現方式不同,測試用例需要分別進行移植。因為實現的功能不同,各被測平臺的RFChain輸出響應指標如發射功率也不盡相同。對于標準中提出的幾種FPGA接收接口,各單位采用了不同的方式,測試結果對比如表6所示。試驗結果表明該測試方法能適應SCA

表6 軟無設備MHAL符合性測試對比表
不同硬件架構下的MHAL符合性測試,測試組件/用例具有良好的兼容性,可快速移植到不同的軟無系統平臺上。
SCA是軟件無線電技術發展應用的里程碑技術,無論是對通信裝備的通用化、標準化推進,還是對民用通信產業的發展都能夠起到至關重要的推動作用。硬件平臺SCA符合性測試與軟件運行環境標準符合性測試、波形SCA標準符合性測試、波形傳輸性能符合性測試、波形組網性能符合性測試、安全可信性能符合性測試共同形成了軟無設備的測試體系。MHAL作為SCA關鍵技術之一,在整個技術體系中占據舉足輕重的地位,是實現軟件與硬件解耦的必要條件。在MHAL設計過程中,不同設計者對標準理解不同,采用的實現途徑不同,需要采用統一的方法、標準對其符合性進行衡量。目前,國內學者在SCA的研究主要集中在設計和實現等方面,鮮有文獻報道SCA MHAL標準符合性測試方法相關研究。在此之前本單位對于MHAL的測試驗證主要采用人工代碼走查和手動測試的方式,測試一致性差且效率低,RFChain響應測試覆蓋不全,不能實現接收性能測試。本方法針對MHAL API接口和RFChian指令兩個方面,創新性提出軟件測試和硬件測試相結合的方式,通過開發標準的測試用例,移植到被測平臺并運行,對被測軟無硬件平臺進行全面的測試驗證。基于ATML自動測試,測試可信度高、速度快,測試效率提高了10倍以上。經過對多家單位軟無設備的測試,驗證了測試方法的可行性、有效性。實踐表明該方法準確度高、兼容性強、適用范圍廣,可應用于軟無設備的設計驗證、測評、驗收和檢驗等環節,具有一定的推廣意義。