劉文斌,廖文瑜,彭 麟,丁建鋒
(西南通信研究所,四川成都610041)
電臺軟件架構發展及其向SCA4.0演進的途徑分析
劉文斌,廖文瑜,彭 麟,丁建鋒
(西南通信研究所,四川成都610041)
使用標準的軟件架構能夠實現波形應用的硬件無關設計,也便于電臺軟件走向分層開放的合作設計。采用軟件通信體系結構SCA,能夠實現電臺軟件的標準化、平臺化、智能化。首先對SCA在國內外的發展與應用現狀進行了介紹,在基于主流的SCA2.2規范進行的SCA電臺軟件開發經驗的基礎上,探討了SCA4.0架構的特點,提出了把核心框架、平臺、波形從SCA2.2架構升級到SCA4. 0架構的途徑,思考了基于SCA架構的電臺軟件未來發展趨勢。
軟件無線電 軟件通信體系結構 聯合戰術無線電系統 核心框架
經過超過10年的發展與使用,SCA標準得到不斷地更新,并經歷了實戰檢驗,已經比較成熟。在此背景下,美軍聯合戰術無線系統(JTRS,Joint Tactical Radio System)于近期又推出了軟件通信體系架構(SCA,Software Communication Architecture)的最新版本SCA4.0[1-3],其主要目標就是構建更利于采用新技術、尺寸更靈活的電臺軟件架構。
SCA的目的,不僅僅是簡單的波形動態加載。SCA定義的核心框架,指的是必要的、“核心”的開放軟件接口和配置文件,在嵌入式以及分布式計算環境中,提供對波形組件的部署、管理、互連與互通信[2,4,5]。
下文將先介紹SCA在國內外的發展與應用現狀,然后以基于SCA2.2規范進行SCA軟件開發為基礎,探討了如何把核心框架、平臺、波形從SCA2.2架構升級到SCA4.0架構的一種途徑。
JTRS于1999年推出了SCA最早標準版本1.0,后來又依次推出的版本有 SCA2.2(2001年), SCA2.2.2(2006年),SCA4.0(2012年)。在SCA2.2后先是推出過SCA3.0,后因使用上有爭議而不被支持,改用SCA2.2.2。SCA2.2.2在體系結構上與SCA2.2基本保持不變[5],但其安全體系結構不再放入標準主體中,而以非公開形式獨立研究。
JTRS推出的SCA規范已經經歷了兩個裝備階段的考驗,第一個階段是過渡期,為了應對戰爭的需求,以及JTRS項目難度過大成本過高的問題,美軍部署了部分單通道手持式JTRS電臺作為過渡,以AN/PRC-148 JTRS增強型[6]、AN/PRC-152(C)[7]為代表,主要加載的是傳統波形;第二階段是增長期,產品以多頻段的AN/PRC-117(G)[7]、多通道的AN/PRC-155[8]等為代表,除了能加載傳統波形外,還能加載高性能組網波形。這些產品均符合SCA2.2,取得了一定的市場認可,經歷了實戰檢驗,動態加載和管理波形已經不是難題。
雖然國內外不少高校和科研機構對SCA2.2.2進行過驗證,但其實質與SCA2.2差異不大。在推出SCA標準的同時,JTRS還推出了用于規范波形組件、平臺設備組件和服務組件之間接口的獨立的API規范,以利于波形組件的可移植與可重用。
實戰經驗提出了組網能力、較短的電臺啟動時間以及高速視頻業務等應用需求,這些需求使得核心框架應采用更靈活的架構,且傳輸機制需盡可能減少對資源的占用,且新的商業化技術應能夠方便地加入到電臺操作環境中來。SCA4.0在此背景下提出,其目標是能采用更多的商業化新技術產品,簡化SDR電臺的開發,最大化軟件應用的可移植性、可重用性以及組件尺寸的靈活性。
SCA2.2架構操作環境如圖1所示。在傳統軟件環境(如操作系統、板級支持包)上架構了SCA軟件平臺,該平臺基于SCA接口標準設計。在平臺之上部署了獨立于平臺的SCA組件,稱為SCA應用組件。SCA應用(波形)設計兼容傳統的開發方式,如把基于軟件實現的傳統 DSP、FPGA組件稱為非CORBA組件,通過一個SCA設備組件來代理該非CORBA組件,實現統一的加載以及與系統的標準化的控制、業務交互。

圖1 SCA2.2操作環境Fig.1 Operating environment of SCA2.2
SCA2.2架構因為考慮了較多安全因素,如安全加密模塊如何部署與控制,業務與控制是否要分離且如何與安全加密模塊交互等,這些因素給設計帶來了較大的難度。
SCA2.2電臺軟件中,SCA核心框架相關的軟件包括SCA核心框架庫,SCA軟件平臺以及SCA應用(波形)。SCA架構的底層支撐軟件還包括操作系統和CORBA中間件。各層軟件可以選擇購買商業現貨(COTS)或自主開發兩種方式中的一種來實現,根據需要進行權衡。下面將描述SCA核心框架相關的軟件開發內容與實現方法。
2.1 核心框架庫
核心框架一般以庫的形式提供給平臺開發人員和波形開發人員使用。如圖2所示,其完整實現需要實現下述核心框架接口的基本功能:
1)基本應用接口。主要為波形組件提供統一的接口封裝格式。
2)基本設備接口。主要為設備組件提供軟件加載和執行接口,支持的加載類型有四種:內核模塊、驅動程序、共享庫、可執行程序。DSP或FPGA程序以內核模塊方式進行加載。
3)框架管理接口。主要包含平臺管理,以及波形安裝、創建與管理,需要對域配置文件進行解析,對端口進行連接等。
4)框架服務接口。主要包含文件、文件系統、文件管理器接口,提供對文件或文件夾的分布式管理和訪問。

圖2 SCA2.2接口繼承關系與分類Fig.2 Classification and inheritance relationship of SCA2.2 interfaces
此外,核心框架還需要使用下面的技術:
1)IDL向C++的映射。中間件工具都支持基于IDL自動生成基于客戶端基類和服務端基類。
2)域配置文件的類抽象,以及把域配置XML文件解析成類對象。可以采用開源的XML_xerces解析器,或是其它尺寸更小的解析工具。
3)滿足SCA或CORBA規范的日志服務、事件服務和命名服務。
2.2 軟件平臺
SCA軟件平臺要實現的組件主要包括框架控制組件,以及SCA設備和服務組件。框架控制組件包含域管理器、設備管理器等組件,可以直接實例化相應核心框架接口類實現,需要為其設計XML配置文件。繼承核心框架基本設備接口且能提供對硬件資源的訪問能力的軟件組件稱為SCA設備組件,波形需要使用的公共非硬件資源可稱為服務組件,這些組件根據功能需要基于IDL添加,由平臺開發人員自定義或根據標準定義。
2.3 SCA波形
SCA波形一般根據OSI或TCP/IP分層模型對波形進行組件分層和連接,分為CORBA組件和非CORBA組件。基于CORBA組件模型設計SCA波形組件繼承核心框架資源接口,其需要使用的用戶自定義接口基于IDL設計;非CORBA組件基于傳統方式設計,如在DSP上運行的信號處理組件,但需要為其提供相應的CORBA適配組件(如SCA DSP設備組件),從而實現與CORBA組件的交互。
基于SCA4.0的電臺操作環境如圖3所示,其架構與SCA2.2本質上是相同的,如其中的CF控制組件指的是核心框架控制組件,實現了類似SCA2.2在圖1中的框架管理與服務。對比圖1和圖3可以看出,與SCA2.2版本相比,SCA4.0除了把CORBA替換成傳輸機制(Transfer Mechanism)外(SCA2.2.2已經剝離了安全架構),主要變化就是各種組件的分類命名、位置關系、接口關系更清晰,更加易于被初學者所理解。

圖3 SCA4.0操作環境Fig.3 Operating environment of SCA4.0
SCA4.0對屬于標準范疇的接口定義與組件定義進行了區分,同時與屬于產品范疇的組件實現(對象)區分開來。各種接口函數形式和功能保持不變,但其類封裝更加細致,接口繼承關系更為靈活。相比SCA2.2僅用斜體來區分是接口還是組件,SCA4.0為各種組件提供了專名的名字,更易于理解和分辨。
3.1 支持不同的傳輸機制
中間件是一種使用較為普遍的底層傳輸服務,它能夠屏蔽軟件組件間的底層消息傳輸機制,盡管這些組件可能部署在不同的處理器上,這樣設計人員就可以專注于上層應用軟件的設計。SCA2.2定義了CORBA作為中間件,并推薦使用這種特定的傳輸機制。CORBA較常采用的底層傳輸機制有TCP/IP和共享內存等。一些CORBA產品會引入較大的傳輸時延,特別是采用TCP/IP傳輸機制時[9]。在某些具體的硬件平臺上,一些波形應用的安全、高速等需求使得底層傳輸機制不適合采用TCP/IP,甚至不適合采用CORBA等中間件。為此,SCA4.0已經刪掉了CORBA需求。因此,電臺開發人員可以繼續使用CORBA,可以基于可插拔的底層傳輸機制來改進CORBA傳輸性能[10],也可以選擇其它非CORBA的傳輸機制[3]。如果使用不同的傳輸機制,波形會需要重新編譯,但因為組件間API保持不變,這樣可以保持波形的可移植性。
3.2 支持不同量級的架構
SCA4.0支持不同量級的架構,如文獻[3]所推薦的三種量級的架構,包括:全功能SCA架構,中量級SCA架構和輕量級SCA架構。全功能架構(Full Profile)是一種即插即用的架構,支持全部用于向域管理器和設備管理器注冊和注銷的接口,適用于硬件模塊需要即插即用的可動態配置的電臺。中量級架構(Middle Profile)是一種非即插即用架構,只支持向域管理器和設備管理器的注冊接口,不支持注銷,設備管理器不能釋放,適用于硬件模塊靜態配置的電臺。輕量級架構(Little Profile)不支持向域管理器和設備管理器注冊,適用于單通道電臺。
SCA4.0還支持不同量級的AEP(Appliation Environment Profiles,應用環境配置),以支持更多的操作系統;刪除了對CORBA命名服務的強制需求,并對注冊模型進行了修改。上述變化的結果就是,組件的尺寸也變得靈活,如果采用輕量級的框架,電臺軟件平臺啟動時間可能會大大縮短。SCA4.0核心框架的實現,與基于SCA2.2的實現基本相同,接口功能基本保持不變,只需要明確是哪種量級的核心框架版本,明確相應組件所需繼承的接口,設置相應的編譯開關即可。雖然國內也有輕量級核心框架的實踐,其創新值得肯定,但與SCA4.0架構相比,缺乏靈活性設計。
3.3 支持不同類型的域配置文件
SCA4.0標準3.1.3.6節中簡要描述了域配置文件的類型。域配置文件相比以往標準,增加了波形部署描述文件(ADD,Application Deployment Descriptor)和平臺部署描述文件(PDD,Platform Deployment Descriptor)文件以支持多通道的部署配置。SCA4.0的附件D中指出,標準允許采用不同的配置文件格式,如DTD(XML)、XSD schema等。這意味著XML文件不再是唯一可選的配置文件類型。此外,附件D-1描述了對XML的文件類型定義(DTD,Document Type Definition)方法,保持對SCA前期版本的前向兼容。
從域配置文件的描述可以看出,SCA4.0保持了前向兼容性。SCA2.2版本的域配置文件可以直接升級到SCA4.0版本。如果需要提供對通道部署配置的支持,相應設計應增加ADD和PDD兩種配置文件,核心框架應增加相應的解析。
3.4 支持接口標準化的SCA平臺設計
與SCA2.2相同,SCA4.0中平臺組件包含與硬件訪問相關的設備組件和與硬件訪問無關的服務組件,它們繼承了核心框架資源或設備接口。其它組件間交互的接口均要求使用IDL描述,即使組件間傳輸機制發生改變,組件接口和功能實現不需要改變,保持了可移植性。自2007年開始,JTRS標準設備和服務API(含MHAL)陸續推出和更新,使得SCA平臺組件的接口設計有了參考依據,便于波形在不同廠家平臺間的移植。SCA4.0中沒有強制使用這些API,但軟件平臺依然可以采用這些標準API進行參考設計。
3.5 支持SCA波形的平滑升級
SCA4.0中波形的改變主要體現在構成波形的SCA組件。標準升級只影響核心框架基類的定義,如果采用了輕量級的核心框架,只需要刪除原版本波形組件中相應不需使用的接口定義就能夠實現升級。波形組件間的接口不需要改變,波形組件與設備或服務組件的接口也不需改變,因此,在SCA2.2上實現的波形可以平滑升級到SCA4.0。因為采用了靈活的架構和傳輸機制等新技術,相比之前的SCA波形組件,新的組件可能尺寸更小,在相同硬件環境下,組件可以實現處理能力更快,組件間可以實現通信效率更高、時延更小。
從對SCA4.0的分析可以看出,該規范是為了應對無線通信設備實際發展需要而推出的一個改進的SCA架構,其主要改進,一是靈活的架構,二是便于新技術的可插入,其實現是可行的。但在實際的電臺應用中,符合性檢測的復雜性、軟件架構升級的成本等問題依然會成為SCA4.0規模使用的阻礙。此外,支持SCA的人機接口架構、安全體系結構,以及統一的波形庫的管理、加載、互通驗證的方法等,是不論哪個SCA版本的使用和推廣都需要進一步明確的。但從SCA的發展思路不難看出,靈活的、包容的,但又不弱化可移植性的開放軟件架構是未來軟件無線電發展的趨勢,這將吸引更多的目光投向到SCA,促進軟件無線電的發展。
[1] 蔡卓,張小瓊.SCA4.0規范概述[J].通信技術, 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增強型MBITR電臺[J].通信導航與指揮自動化,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].通信導航與指揮自動化,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應用的CORBA性能分析[J].中國電子科學研究院學報, 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的可插拔協議研究[J].電腦知識與技術,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—),男,碩士,工程師,主要研究方向為軟件無線電;
LIU Wen-bin(1983-),male,M.sci., engineer,mainly working at software defined radio.
廖文瑜(1986—),男,碩士,工程師,主要研究方向為軟件無線電;
LIAO Wen-yu(1986-),male,M.sci.,engineer,majoring in software defined radio.
彭 麟(1972—),男,碩士,高級工程師,主要研究方向為無線通信系統設計和電臺設計;
PENG Lin(1972-),male,M.sci.,senior engineer, mainly engaged in the design of wireless communication system and radio.
丁建鋒(1977—),男,學士,高級工程師,主要研究方向為無線通信系統。
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