劉文斌,廖文瑜,彭 麟,丁建鋒
(西南通信研究所,四川成都610041)
電臺軟件架構(gòu)發(fā)展及其向SCA4.0演進(jìn)的途徑分析
劉文斌,廖文瑜,彭 麟,丁建鋒
(西南通信研究所,四川成都610041)
使用標(biāo)準(zhǔn)的軟件架構(gòu)能夠?qū)崿F(xiàn)波形應(yīng)用的硬件無關(guān)設(shè)計,也便于電臺軟件走向分層開放的合作設(shè)計。采用軟件通信體系結(jié)構(gòu)SCA,能夠?qū)崿F(xiàn)電臺軟件的標(biāo)準(zhǔn)化、平臺化、智能化。首先對SCA在國內(nèi)外的發(fā)展與應(yīng)用現(xiàn)狀進(jìn)行了介紹,在基于主流的SCA2.2規(guī)范進(jìn)行的SCA電臺軟件開發(fā)經(jīng)驗(yàn)的基礎(chǔ)上,探討了SCA4.0架構(gòu)的特點(diǎn),提出了把核心框架、平臺、波形從SCA2.2架構(gòu)升級到SCA4. 0架構(gòu)的途徑,思考了基于SCA架構(gòu)的電臺軟件未來發(fā)展趨勢。
軟件無線電 軟件通信體系結(jié)構(gòu) 聯(lián)合戰(zhàn)術(shù)無線電系統(tǒng) 核心框架
經(jīng)過超過10年的發(fā)展與使用,SCA標(biāo)準(zhǔn)得到不斷地更新,并經(jīng)歷了實(shí)戰(zhàn)檢驗(yàn),已經(jīng)比較成熟。在此背景下,美軍聯(lián)合戰(zhàn)術(shù)無線系統(tǒng)(JTRS,Joint Tactical Radio System)于近期又推出了軟件通信體系架構(gòu)(SCA,Software Communication Architecture)的最新版本SCA4.0[1-3],其主要目標(biāo)就是構(gòu)建更利于采用新技術(shù)、尺寸更靈活的電臺軟件架構(gòu)。
SCA的目的,不僅僅是簡單的波形動態(tài)加載。SCA定義的核心框架,指的是必要的、“核心”的開放軟件接口和配置文件,在嵌入式以及分布式計算環(huán)境中,提供對波形組件的部署、管理、互連與互通信[2,4,5]。
下文將先介紹SCA在國內(nèi)外的發(fā)展與應(yīng)用現(xiàn)狀,然后以基于SCA2.2規(guī)范進(jìn)行SCA軟件開發(fā)為基礎(chǔ),探討了如何把核心框架、平臺、波形從SCA2.2架構(gòu)升級到SCA4.0架構(gòu)的一種途徑。
JTRS于1999年推出了SCA最早標(biāo)準(zhǔn)版本1.0,后來又依次推出的版本有 SCA2.2(2001年), SCA2.2.2(2006年),SCA4.0(2012年)。在SCA2.2后先是推出過SCA3.0,后因使用上有爭議而不被支持,改用SCA2.2.2。SCA2.2.2在體系結(jié)構(gòu)上與SCA2.2基本保持不變[5],但其安全體系結(jié)構(gòu)不再放入標(biāo)準(zhǔn)主體中,而以非公開形式獨(dú)立研究。
JTRS推出的SCA規(guī)范已經(jīng)經(jīng)歷了兩個裝備階段的考驗(yàn),第一個階段是過渡期,為了應(yīng)對戰(zhàn)爭的需求,以及JTRS項(xiàng)目難度過大成本過高的問題,美軍部署了部分單通道手持式JTRS電臺作為過渡,以AN/PRC-148 JTRS增強(qiáng)型[6]、AN/PRC-152(C)[7]為代表,主要加載的是傳統(tǒng)波形;第二階段是增長期,產(chǎn)品以多頻段的AN/PRC-117(G)[7]、多通道的AN/PRC-155[8]等為代表,除了能加載傳統(tǒng)波形外,還能加載高性能組網(wǎng)波形。這些產(chǎn)品均符合SCA2.2,取得了一定的市場認(rèn)可,經(jīng)歷了實(shí)戰(zhàn)檢驗(yàn),動態(tài)加載和管理波形已經(jīng)不是難題。
雖然國內(nèi)外不少高校和科研機(jī)構(gòu)對SCA2.2.2進(jìn)行過驗(yàn)證,但其實(shí)質(zhì)與SCA2.2差異不大。在推出SCA標(biāo)準(zhǔn)的同時,JTRS還推出了用于規(guī)范波形組件、平臺設(shè)備組件和服務(wù)組件之間接口的獨(dú)立的API規(guī)范,以利于波形組件的可移植與可重用。
實(shí)戰(zhàn)經(jīng)驗(yàn)提出了組網(wǎng)能力、較短的電臺啟動時間以及高速視頻業(yè)務(wù)等應(yīng)用需求,這些需求使得核心框架應(yīng)采用更靈活的架構(gòu),且傳輸機(jī)制需盡可能減少對資源的占用,且新的商業(yè)化技術(shù)應(yīng)能夠方便地加入到電臺操作環(huán)境中來。SCA4.0在此背景下提出,其目標(biāo)是能采用更多的商業(yè)化新技術(shù)產(chǎn)品,簡化SDR電臺的開發(fā),最大化軟件應(yīng)用的可移植性、可重用性以及組件尺寸的靈活性。
SCA2.2架構(gòu)操作環(huán)境如圖1所示。在傳統(tǒng)軟件環(huán)境(如操作系統(tǒng)、板級支持包)上架構(gòu)了SCA軟件平臺,該平臺基于SCA接口標(biāo)準(zhǔn)設(shè)計。在平臺之上部署了獨(dú)立于平臺的SCA組件,稱為SCA應(yīng)用組件。SCA應(yīng)用(波形)設(shè)計兼容傳統(tǒng)的開發(fā)方式,如把基于軟件實(shí)現(xiàn)的傳統(tǒng) DSP、FPGA組件稱為非CORBA組件,通過一個SCA設(shè)備組件來代理該非CORBA組件,實(shí)現(xiàn)統(tǒng)一的加載以及與系統(tǒng)的標(biāo)準(zhǔn)化的控制、業(yè)務(wù)交互。
圖1 SCA2.2操作環(huán)境Fig.1 Operating environment of SCA2.2
SCA2.2架構(gòu)因?yàn)榭紤]了較多安全因素,如安全加密模塊如何部署與控制,業(yè)務(wù)與控制是否要分離且如何與安全加密模塊交互等,這些因素給設(shè)計帶來了較大的難度。
SCA2.2電臺軟件中,SCA核心框架相關(guān)的軟件包括SCA核心框架庫,SCA軟件平臺以及SCA應(yīng)用(波形)。SCA架構(gòu)的底層支撐軟件還包括操作系統(tǒng)和CORBA中間件。各層軟件可以選擇購買商業(yè)現(xiàn)貨(COTS)或自主開發(fā)兩種方式中的一種來實(shí)現(xiàn),根據(jù)需要進(jìn)行權(quán)衡。下面將描述SCA核心框架相關(guān)的軟件開發(fā)內(nèi)容與實(shí)現(xiàn)方法。
2.1 核心框架庫
核心框架一般以庫的形式提供給平臺開發(fā)人員和波形開發(fā)人員使用。如圖2所示,其完整實(shí)現(xiàn)需要實(shí)現(xiàn)下述核心框架接口的基本功能:
1)基本應(yīng)用接口。主要為波形組件提供統(tǒng)一的接口封裝格式。
2)基本設(shè)備接口。主要為設(shè)備組件提供軟件加載和執(zhí)行接口,支持的加載類型有四種:內(nèi)核模塊、驅(qū)動程序、共享庫、可執(zhí)行程序。DSP或FPGA程序以內(nèi)核模塊方式進(jìn)行加載。
3)框架管理接口。主要包含平臺管理,以及波形安裝、創(chuàng)建與管理,需要對域配置文件進(jìn)行解析,對端口進(jìn)行連接等。
4)框架服務(wù)接口。主要包含文件、文件系統(tǒng)、文件管理器接口,提供對文件或文件夾的分布式管理和訪問。
圖2 SCA2.2接口繼承關(guān)系與分類Fig.2 Classification and inheritance relationship of SCA2.2 interfaces
此外,核心框架還需要使用下面的技術(shù):
1)IDL向C++的映射。中間件工具都支持基于IDL自動生成基于客戶端基類和服務(wù)端基類。
2)域配置文件的類抽象,以及把域配置XML文件解析成類對象??梢圆捎瞄_源的XML_xerces解析器,或是其它尺寸更小的解析工具。
3)滿足SCA或CORBA規(guī)范的日志服務(wù)、事件服務(wù)和命名服務(wù)。
2.2 軟件平臺
SCA軟件平臺要實(shí)現(xiàn)的組件主要包括框架控制組件,以及SCA設(shè)備和服務(wù)組件??蚣芸刂平M件包含域管理器、設(shè)備管理器等組件,可以直接實(shí)例化相應(yīng)核心框架接口類實(shí)現(xiàn),需要為其設(shè)計XML配置文件。繼承核心框架基本設(shè)備接口且能提供對硬件資源的訪問能力的軟件組件稱為SCA設(shè)備組件,波形需要使用的公共非硬件資源可稱為服務(wù)組件,這些組件根據(jù)功能需要基于IDL添加,由平臺開發(fā)人員自定義或根據(jù)標(biāo)準(zhǔn)定義。
2.3 SCA波形
SCA波形一般根據(jù)OSI或TCP/IP分層模型對波形進(jìn)行組件分層和連接,分為CORBA組件和非CORBA組件?;贑ORBA組件模型設(shè)計SCA波形組件繼承核心框架資源接口,其需要使用的用戶自定義接口基于IDL設(shè)計;非CORBA組件基于傳統(tǒng)方式設(shè)計,如在DSP上運(yùn)行的信號處理組件,但需要為其提供相應(yīng)的CORBA適配組件(如SCA DSP設(shè)備組件),從而實(shí)現(xiàn)與CORBA組件的交互。
基于SCA4.0的電臺操作環(huán)境如圖3所示,其架構(gòu)與SCA2.2本質(zhì)上是相同的,如其中的CF控制組件指的是核心框架控制組件,實(shí)現(xiàn)了類似SCA2.2在圖1中的框架管理與服務(wù)。對比圖1和圖3可以看出,與SCA2.2版本相比,SCA4.0除了把CORBA替換成傳輸機(jī)制(Transfer Mechanism)外(SCA2.2.2已經(jīng)剝離了安全架構(gòu)),主要變化就是各種組件的分類命名、位置關(guān)系、接口關(guān)系更清晰,更加易于被初學(xué)者所理解。
圖3 SCA4.0操作環(huán)境Fig.3 Operating environment of SCA4.0
SCA4.0對屬于標(biāo)準(zhǔn)范疇的接口定義與組件定義進(jìn)行了區(qū)分,同時與屬于產(chǎn)品范疇的組件實(shí)現(xiàn)(對象)區(qū)分開來。各種接口函數(shù)形式和功能保持不變,但其類封裝更加細(xì)致,接口繼承關(guān)系更為靈活。相比SCA2.2僅用斜體來區(qū)分是接口還是組件,SCA4.0為各種組件提供了專名的名字,更易于理解和分辨。
3.1 支持不同的傳輸機(jī)制
中間件是一種使用較為普遍的底層傳輸服務(wù),它能夠屏蔽軟件組件間的底層消息傳輸機(jī)制,盡管這些組件可能部署在不同的處理器上,這樣設(shè)計人員就可以專注于上層應(yīng)用軟件的設(shè)計。SCA2.2定義了CORBA作為中間件,并推薦使用這種特定的傳輸機(jī)制。CORBA較常采用的底層傳輸機(jī)制有TCP/IP和共享內(nèi)存等。一些CORBA產(chǎn)品會引入較大的傳輸時延,特別是采用TCP/IP傳輸機(jī)制時[9]。在某些具體的硬件平臺上,一些波形應(yīng)用的安全、高速等需求使得底層傳輸機(jī)制不適合采用TCP/IP,甚至不適合采用CORBA等中間件。為此,SCA4.0已經(jīng)刪掉了CORBA需求。因此,電臺開發(fā)人員可以繼續(xù)使用CORBA,可以基于可插拔的底層傳輸機(jī)制來改進(jìn)CORBA傳輸性能[10],也可以選擇其它非CORBA的傳輸機(jī)制[3]。如果使用不同的傳輸機(jī)制,波形會需要重新編譯,但因?yàn)榻M件間API保持不變,這樣可以保持波形的可移植性。
3.2 支持不同量級的架構(gòu)
SCA4.0支持不同量級的架構(gòu),如文獻(xiàn)[3]所推薦的三種量級的架構(gòu),包括:全功能SCA架構(gòu),中量級SCA架構(gòu)和輕量級SCA架構(gòu)。全功能架構(gòu)(Full Profile)是一種即插即用的架構(gòu),支持全部用于向域管理器和設(shè)備管理器注冊和注銷的接口,適用于硬件模塊需要即插即用的可動態(tài)配置的電臺。中量級架構(gòu)(Middle Profile)是一種非即插即用架構(gòu),只支持向域管理器和設(shè)備管理器的注冊接口,不支持注銷,設(shè)備管理器不能釋放,適用于硬件模塊靜態(tài)配置的電臺。輕量級架構(gòu)(Little Profile)不支持向域管理器和設(shè)備管理器注冊,適用于單通道電臺。
SCA4.0還支持不同量級的AEP(Appliation Environment Profiles,應(yīng)用環(huán)境配置),以支持更多的操作系統(tǒng);刪除了對CORBA命名服務(wù)的強(qiáng)制需求,并對注冊模型進(jìn)行了修改。上述變化的結(jié)果就是,組件的尺寸也變得靈活,如果采用輕量級的框架,電臺軟件平臺啟動時間可能會大大縮短。SCA4.0核心框架的實(shí)現(xiàn),與基于SCA2.2的實(shí)現(xiàn)基本相同,接口功能基本保持不變,只需要明確是哪種量級的核心框架版本,明確相應(yīng)組件所需繼承的接口,設(shè)置相應(yīng)的編譯開關(guān)即可。雖然國內(nèi)也有輕量級核心框架的實(shí)踐,其創(chuàng)新值得肯定,但與SCA4.0架構(gòu)相比,缺乏靈活性設(shè)計。
3.3 支持不同類型的域配置文件
SCA4.0標(biāo)準(zhǔn)3.1.3.6節(jié)中簡要描述了域配置文件的類型。域配置文件相比以往標(biāo)準(zhǔn),增加了波形部署描述文件(ADD,Application Deployment Descriptor)和平臺部署描述文件(PDD,Platform Deployment Descriptor)文件以支持多通道的部署配置。SCA4.0的附件D中指出,標(biāo)準(zhǔn)允許采用不同的配置文件格式,如DTD(XML)、XSD schema等。這意味著XML文件不再是唯一可選的配置文件類型。此外,附件D-1描述了對XML的文件類型定義(DTD,Document Type Definition)方法,保持對SCA前期版本的前向兼容。
從域配置文件的描述可以看出,SCA4.0保持了前向兼容性。SCA2.2版本的域配置文件可以直接升級到SCA4.0版本。如果需要提供對通道部署配置的支持,相應(yīng)設(shè)計應(yīng)增加ADD和PDD兩種配置文件,核心框架應(yīng)增加相應(yīng)的解析。
3.4 支持接口標(biāo)準(zhǔn)化的SCA平臺設(shè)計
與SCA2.2相同,SCA4.0中平臺組件包含與硬件訪問相關(guān)的設(shè)備組件和與硬件訪問無關(guān)的服務(wù)組件,它們繼承了核心框架資源或設(shè)備接口。其它組件間交互的接口均要求使用IDL描述,即使組件間傳輸機(jī)制發(fā)生改變,組件接口和功能實(shí)現(xiàn)不需要改變,保持了可移植性。自2007年開始,JTRS標(biāo)準(zhǔn)設(shè)備和服務(wù)API(含MHAL)陸續(xù)推出和更新,使得SCA平臺組件的接口設(shè)計有了參考依據(jù),便于波形在不同廠家平臺間的移植。SCA4.0中沒有強(qiáng)制使用這些API,但軟件平臺依然可以采用這些標(biāo)準(zhǔn)API進(jìn)行參考設(shè)計。
3.5 支持SCA波形的平滑升級
SCA4.0中波形的改變主要體現(xiàn)在構(gòu)成波形的SCA組件。標(biāo)準(zhǔn)升級只影響核心框架基類的定義,如果采用了輕量級的核心框架,只需要刪除原版本波形組件中相應(yīng)不需使用的接口定義就能夠?qū)崿F(xiàn)升級。波形組件間的接口不需要改變,波形組件與設(shè)備或服務(wù)組件的接口也不需改變,因此,在SCA2.2上實(shí)現(xiàn)的波形可以平滑升級到SCA4.0。因?yàn)椴捎昧遂`活的架構(gòu)和傳輸機(jī)制等新技術(shù),相比之前的SCA波形組件,新的組件可能尺寸更小,在相同硬件環(huán)境下,組件可以實(shí)現(xiàn)處理能力更快,組件間可以實(shí)現(xiàn)通信效率更高、時延更小。
從對SCA4.0的分析可以看出,該規(guī)范是為了應(yīng)對無線通信設(shè)備實(shí)際發(fā)展需要而推出的一個改進(jìn)的SCA架構(gòu),其主要改進(jìn),一是靈活的架構(gòu),二是便于新技術(shù)的可插入,其實(shí)現(xiàn)是可行的。但在實(shí)際的電臺應(yīng)用中,符合性檢測的復(fù)雜性、軟件架構(gòu)升級的成本等問題依然會成為SCA4.0規(guī)模使用的阻礙。此外,支持SCA的人機(jī)接口架構(gòu)、安全體系結(jié)構(gòu),以及統(tǒng)一的波形庫的管理、加載、互通驗(yàn)證的方法等,是不論哪個SCA版本的使用和推廣都需要進(jìn)一步明確的。但從SCA的發(fā)展思路不難看出,靈活的、包容的,但又不弱化可移植性的開放軟件架構(gòu)是未來軟件無線電發(fā)展的趨勢,這將吸引更多的目光投向到SCA,促進(jìn)軟件無線電的發(fā)展。
[1] 蔡卓,張小瓊.SCA4.0規(guī)范概述[J].通信技術(shù), 2013,46(07):126-128.
CAI Zhuo,ZHANG Xiao-qiong.Overview of SCA4.0 Specification[J].Communication Technology.2013,46 (07):126-128.
[2] JTRS JPEO.SCA Specification Version 4.0(2012-02-28),Software Communication Architecture Specification [S].USA:JTRS JPEO,2012.
[3] JTRS JPEO.SCA Specification Version:Next<Draft>Users Guide(2010-11-30),Software Communication Architecture Specification[S].USA:JTRS JPEO,2010.
[4] JTRS JPO.SCA Specification Version 2.2(2001-11-17),Software Communication Architecture Specification [S].USA:JTRS JPO,2001.
[5] JTRS JPEO.SCA Specification Version 2.2.2(2006-05-15),Software Communication Architecture Specification [S].USA:JTRS JPEO,2006.
[6] 徐惕.美空軍裝備AN/PRC-148 JTRS增強(qiáng)型MBITR電臺[J].通信導(dǎo)航與指揮自動化,2008(02):76-80.
XU Ti.USA Air Force Equipped AN/PRC-148 JTRS-enhanced MBITR Radios[J].Communication Navigation and Command Automation.2008(2):76-80.
[7] 徐剔.從美空軍購置“獵鷹”Ⅲ寬帶電臺談起[J].通信導(dǎo)航與指揮自動化,2009(06):67-70.
XU Ti.Topics about FalconⅢRadios Purchased by USA Air Force[J].Communication Navigation and Command Automation.2009(6):67-70.
[8] 曹偉.美國陸軍訂購雙信道AN/PRC-155電臺[J].國外坦克,2003(01):6. CAO Wei.USA Army Purchase Dual-channel AN/PRC-155 Radio[J].Tank Oversea.2003(1):6.
[9] 廖文瑜,劉文斌,蘇旸,等.基于分布式SCA應(yīng)用的CORBA性能分析[J].中國電子科學(xué)研究院學(xué)報, 2011,6(05):524-528.
LIAO Wen-yu,LIU Wen-bin,SU Yang,CONG Jian. CORBA Performance Test Based on Distributed SCA Applications[J].Journal of CAEIT.2011,6(5):524-528.
[10] 孫海彬,吳宇,魏急波.基于CORBA的可插拔協(xié)議研究[J].電腦知識與技術(shù),2009,5(27):7783-7787.
SUN Hai-bin,WU Yu,WEI Ji-bo.Research on CORBA Pluggable Protocols[J].Computer Knowledge and Technology.2009,5(27):7783-7787.
劉文斌(1983—),男,碩士,工程師,主要研究方向?yàn)檐浖o線電;
LIU Wen-bin(1983-),male,M.sci., engineer,mainly working at software defined radio.
廖文瑜(1986—),男,碩士,工程師,主要研究方向?yàn)檐浖o線電;
LIAO Wen-yu(1986-),male,M.sci.,engineer,majoring in software defined radio.
彭 麟(1972—),男,碩士,高級工程師,主要研究方向?yàn)闊o線通信系統(tǒng)設(shè)計和電臺設(shè)計;
PENG Lin(1972-),male,M.sci.,senior engineer, mainly engaged in the design of wireless communication system and radio.
丁建鋒(1977—),男,學(xué)士,高級工程師,主要研究方向?yàn)闊o線通信系統(tǒng)。
DING Jian-feng(1977-),male,B.Sci.,senior engineer, principally working at wireless communication system.
Analysis of Development and Methods Upgrade to SCA 4.0 for Radio Software Architecture
LIU Wen-bin,LIAO Wen-yu,PENG Lin,DING Jian-feng
(Southwest Research Institute of Communications,Chengdu Sichuan 610041,China)
Standard software architecture can be used to design platform-independent waveform applications,making the radio software based on hierarchy design more open and cooperative.Software Communication Architecture(SCA)helps implement standard,platform-independent and smart radio software.In this paper,development and application of SCA is first introduced,then the experience of SCA2.2 software development is proposed and features of SCA4.0 is discussed,and after that,upgrade methods from SCA2.2 architecture to SCA 4.0 for core framework,platform and waveforms are provided.Trends of radio software development based on SCA architecture are also considered.
SDR;SCA;JTRS;core framework
TN924
A
1002-0802(2014)04-0396-05
10.3969/j.issn.1002-0802.2014.04.011