李蘭花 王玲 施峻武
【摘要】 軟件通信體系結構(SCA)為軟件無線電臺的設計提供了一個與實現無關的開放式架構。SCA4.0是一種自適應的軟件無線電體系架構,相較之前的版本更靈活,更易升級,同時支持不同量級的軟件架構。這種自適應性也能更好的適應目前具有不同設備資源的各類無線電臺。本文首先對SCA4.0規范的特性進行了詳細的分析,然后以小型化設備為例介紹了這種自適應性的軟件架構。
【關鍵詞】 SCA4.0 自適應 軟件無線電 小型化設備軟件架構
一、引言
SCA規范的制定實現了軟件無線電[1]的思想,提高了波形的可移植性、可重用性和互操作性,降低波形的開發成本。從1999年推出的最初版本到目前為止已有多個版本,SCA4.0[2-3]是2012年推出的。
SCA規范軟件架構包含了操作系統、核心框架、分布式處理中間件和應用層軟件。由于功能完備的軟件架構,往往需要占用比較多的資源,這對于一些小型設備來說并不適合。因此,JTRS提出了一種自適應的軟件無線電體系結構,相較之前的版本增加了輕量級組件,功能單元,輕量級AEP,選擇性繼承以及Push Model等機制,支持不同的傳輸機制,由此來提高框架的靈活性,便于在不同量級的平臺上實施。以小型化設備的軟件架構為例,采用輕量級核心框架、輕量級中間件以及輕量級應用環境架構能極大地提高設備的運行性能,降低資源的占用率。
二、SCA4.0規范特性
2.1 PUSH MODEL
在SCA4.0之前的版本,核心框架通過Pull Model獲取注冊資源的各項信息,SCA4.0中通過采用Push Model[4],一方面可以進行直接的信息交換,減少了調用的總次數,從而減少啟動和初始化的時間,另一方面,交換信息的屬性和操作是可選的,可以減少不必要的實現。圖1,對比了Pull Model和Push Model的注冊操作。為了適用Push Model,SCA4.0新制定了一個ComponentRegister接口用于設備和波形組件的注冊。
為了實現Push Model,SCA4.0對端口連接方式進行了改進。SCA4.0提供了Registered和Obtainable兩種類型的端口提供方式,對應于舊版本的靜態和動態兩種形式的端口提供方式。新的端口連接方式采用推送所有信息的方式,用單次的調用取代了多次連接。圖2對比了SCA2.2.2[5]和SCA4.0中obtainable 端口的連接序列圖。
2.2輕量級組件
輕量級組件和功能單元(UOFs)是SCA4.0的兩個機制,用于調整框架以適應不同產品和任務的需求。之前的SCA版本接口功能齊全,要求實現的功能往往比實際需要的大,決定實現一個接口時,即使是一個虛擬的實現,它會增加額外的成本,如需求分析、設計決策、開發時間、軟件集成和測試和遵從性測試。SCA4.0采用了新的接口繼承方式——選擇性繼承,開發人員可以通過預編譯和IDL指令定義特定的組件選擇性繼承需要實現的接口功能,這使得組件更小、更注重實現。
對于輕量級組件的實現,可參考SCA規范中各組件的繼承關系,以ResourceComponent為例,如圖3所示,通過IDL指令和預編譯配置接口繼承,只有在定義了標識符時,接口才被繼承,例如只有在定義了TESTABLE時TestableObject接口才需要被實現,因此通過控制Resource接口的繼承方式就能控制ResourceComponent的大小。
2.3功能單元
UOFs用以提供一個標準化的方法,允許從一個組件規范省略不必要的接口和需求。通過選擇不同的組件和UOFs可以構建不同量級的SCA架構。SCA4.0推薦了三種量級的架構[5]:輕量級架構、中量級架構和全功能架構。輕量級架構適用于硬件模塊靜態配置的無線電臺,提供的是一組最低功能的實現,往往應用在資源受限的平臺環境。中量級架構適用于硬件模塊支持即插即用,但不支持注銷的無線電臺,相對于輕量級架構,它引入了可動態配置的功能。全功能架構適用于支持硬件模塊的即插即用和可注銷的無線電臺。圖4展示了SCA不同架構的UOFs,針對實際情況可以選擇不同量級架構。
三、軟件架構
3.1核心框架
SCA4.0定制核心框架,去除了一些冗余接口,通過選擇性繼承實現輕量級組件。SCA4.0規范中將CF組件分為五類:基本構件組件,用于提供SCA軟件產品的一些共同特征、約束和關聯的抽象;基本應用組件為應用開發者提供應用結構定義;框架控制組件為組件在平臺上執行部署提供結構定義;基本設備組件提供的結構定義將被用于實現和管理域內的物理設備,如對設備進行加載、執行和聚合操作;框架服務組件為平臺開發者提供與邏輯設備不直接相關的通用軟件功能。在此針對處理器能力有限,系統硬件模塊固定,不存在分布式結構的小型化設備提出輕量級核心框架[6]的設計建議:移除文件服務由于小型化設備中其它專用處理器一般不向CF提供文件服務,可轉由GPP操作系統來提供文件服務,不需要專門的文件服務管理。在不需要使用嵌套應用時可移除集合操作組件。盡量少的繼承接口,使用輕量級組件。例如當不需要測試時,可不繼承TestableObject接口。先制定要求,再定制組件。在設備資源已知,設備信息基本不變時使用靜態部署提高系統運行效率。
3.2 中間件
SCA4.0支持不同的傳輸機制,SCA2.2中指定CORBA這種傳輸機制作為中間件,但是由于CORBA常采用TCP/IP作為 底層傳輸機制,引入的延時較大,對于一些產品并不適用。在此針對小型化設備的輕量級中間件設計建議:1)使用小型化的CORBA產品。CORBA/e是一種嵌入式CORBA規范,用于開發分布式嵌入式系統。CORBA/e定義的三種量級的架構:完全量級CORBA 架構、輕量級CORBA架構)、超輕量級CORBA 架構。其中,完全量級適用于一般的GPP;輕量級適用于資源受限的處理器(如DSPs);超輕量級適用于資源高度受限的處理器(如應用程序同時分布在DSPs和FPGAs上)。2)使用其他傳輸機制,如數據分發服務(DDS),簡單對象訪問協議(SOAP)等。DDS信息分發中間件是一種輕便、能夠提供實時信息傳送的中間件技術,應用于分布式實時系統中,能可靠實時的交換分配群體數據。SOAP用于在分布式環境中發送消息,并執行遠程過程調用。SOAP基于XML的輕量級協議,使不同操作系統平臺和不同編寫語言的應用程序可以進行相互通信。
3.3 應用程序環境架構
AEP是基于POSIX實時應用程序支持標準。SCA操作環境中的操作系統應是滿足POSIX兼容的實時操作系統,并且提供AFP指定的功能和選項。在SCA4.0規范附錄B中詳細的說明了與AEP相關的標準。附錄中定義的實時描述文件,只需在包括了這項標準的UOF使用即可。需要注意的是一旦引入約束,每個使用該功能的程序都必須遵守該項約束。SCA4.0包括了AEP和輕量級AEP(LwAEP)兩種描述。在小型化設備中建議使用LwAEP,它既能滿足資源受限的操作系統上的可移植性,還能保證系統的性能,減少集成和重用代碼的開發,減少代碼的修改量,提高代碼的可移植性。
四、結束語
在軟件無線電項目的實施過程中,SCA規范本身的語義不清、重復定義和不完整往往給軟件無線電架構的實現帶來了諸多挑戰。然而JTRS最新提出的SCA4.0是一種自適應的軟件無線電體系結構,為解決這些問題提出了很多優化機制,使框架具有更靈活、輕量級,更易實現新技術的特點,這讓它在未來的軟件無線電發展中將占有不可或缺的位置。本文分析了SCA4.0規范的各類優化機制,適用于多種平臺,并提出將各類特征機制應用于輕量級軟件架構,從而使得SCA的自適應性能夠在資源受限的小型化設備中體現。
參 考 文 獻
[1] 范建華, 王曉波, 李云洲. 基于軟件通信體系結構的軟件定義無線電系統[J]. 清華大學學報: 自然科學版, 2011, 51(8): 1031-1037.
[2] JTRS JPEO. SCA Specification Version 4.0 (2012-02-28),Software Communications Architecture Specification [S].
[3] JTNC. Software Communications Architecture Specification 4.0 Users Guide [EB/OL]. (2010-11-30) [2014-12-11]. http://jtnc.mil/Pages/ StandardsAndAssessments.aspx, 2012.
[4] 蔡卓, 張小瓊. SCA 4.0 規范概述[J]. 通信技術, 2013, 7: 041.
[5] 劉文斌, 廖文瑜, 彭麟, 等. 電臺軟件架構發展及其向 SCA4. 0 演進的途徑分析[J]. 通信技術, 2014, 4: 011.
[6] 唐麒. 小型化軟件通信體系結構的研究與實現[D]. 國防科學技術大學, 2011.