李 莉 李 鷹
(武漢船舶通信研究所 武漢 430079)
戰(zhàn)術(shù)數(shù)據(jù)鏈作為信息化戰(zhàn)爭(zhēng)的重要裝備,擔(dān)負(fù)著戰(zhàn)場(chǎng)態(tài)勢(shì)信息、作戰(zhàn)命令信息和超視距目標(biāo)指示信息等戰(zhàn)術(shù)數(shù)據(jù)的傳輸任務(wù)[1]。
未來戰(zhàn)爭(zhēng)中,為了充分發(fā)揮數(shù)據(jù)鏈的作用,在數(shù)據(jù)鏈波形體制和空中接口標(biāo)準(zhǔn)不同時(shí)有效地實(shí)現(xiàn)三軍的互通、互連及互操作,必須采用軟件無線電的設(shè)計(jì)思想?;诿儡娐?lián)合戰(zhàn)術(shù)無線電系統(tǒng)(JTRS)的核心思想就是采用軟件無線電技術(shù)實(shí)現(xiàn)通信系統(tǒng),軟件通信體系架構(gòu)(SCA)規(guī)范是在實(shí)施JTRS計(jì)劃的過程中發(fā)展和成熟起來的一個(gè)標(biāo)準(zhǔn)[2~3]。因此可以根據(jù)SCA規(guī)范對(duì)數(shù)據(jù)鏈波形進(jìn)行全新設(shè)計(jì),以使數(shù)據(jù)鏈具有靈活的應(yīng)變能力,從而提高通信業(yè)務(wù)的質(zhì)量,簡(jiǎn)化系統(tǒng)硬件的組成,并且通過軟件重用等技術(shù)減少新波形的開發(fā)周期。
SCA是一個(gè)還處于驗(yàn)證與發(fā)展階段的規(guī)范,需要在實(shí)踐運(yùn)用中不斷地改進(jìn)和完善。目前SCA規(guī)范中還存在著一些定義矛盾和不完整的地方,這些都給波形的設(shè)計(jì)和實(shí)現(xiàn)帶來了很大困難。本文在充分考慮波形跨平臺(tái)的可移植性和可復(fù)用性的基礎(chǔ)上,結(jié)合對(duì)現(xiàn)役某數(shù)據(jù)鏈波形的設(shè)計(jì)、開發(fā)的實(shí)踐經(jīng)驗(yàn),給出了基于SCA的數(shù)據(jù)鏈波形設(shè)計(jì)和開發(fā)時(shí)應(yīng)遵循的一些原則和方法。
數(shù)據(jù)鏈設(shè)計(jì)的基本核心是:在遵循我軍軟件無線電體系結(jié)構(gòu)標(biāo)準(zhǔn)的基礎(chǔ)上,依據(jù)SCA規(guī)范實(shí)現(xiàn)數(shù)據(jù)鏈的軟件開發(fā),并在解決關(guān)鍵技術(shù)的基礎(chǔ)上完成樣機(jī)的研制,以期提供一個(gè)基于軟件無線電設(shè)計(jì)思想的數(shù)據(jù)鏈波形開發(fā)典型實(shí)例。針對(duì)現(xiàn)役某數(shù)據(jù)鏈波形的特點(diǎn)以及SCA規(guī)范的要求,給出數(shù)據(jù)鏈系統(tǒng)架構(gòu)的層次結(jié)構(gòu)如圖1所示。
我們將整個(gè)系統(tǒng)架構(gòu)定義為六層,從底向上分別是:硬件層、設(shè)備驅(qū)動(dòng)層,實(shí)時(shí)操作系統(tǒng)層、中間件服務(wù)層、核心框架控制接口層、波形開發(fā)及應(yīng)用層[4]。硬件層和設(shè)備驅(qū)動(dòng)層構(gòu)成硬件架構(gòu),設(shè)備驅(qū)動(dòng)層到波形開發(fā)應(yīng)用層構(gòu)成軟件架構(gòu),其中設(shè)備驅(qū)動(dòng)層同時(shí)包含在軟件架構(gòu)和硬件架構(gòu)中。軟件架構(gòu)和硬件架構(gòu)的融合構(gòu)成系統(tǒng)架構(gòu)。
圖1 數(shù)據(jù)鏈系統(tǒng)架構(gòu)的層次結(jié)構(gòu)圖
硬件體系結(jié)構(gòu)的設(shè)計(jì)采用面向?qū)ο蠹夹g(shù)的設(shè)計(jì)思想,充分體現(xiàn)實(shí)現(xiàn)系統(tǒng)的開放性、模塊化。根據(jù)現(xiàn)役某數(shù)據(jù)鏈設(shè)備目前使用的硬件資源以及SCA規(guī)范要求的兼容性與可操作性,我們提出硬件架構(gòu)由機(jī)箱類和硬件模塊類組成。機(jī)箱類的屬性有模塊插槽數(shù)、組成要素、背板類型、平臺(tái)環(huán)境、功率和冷卻要求等。機(jī)箱類有獨(dú)特的物理、接口、平臺(tái)電源和外部環(huán)境屬性,由于這些屬性是最底層的,故不同模塊的機(jī)箱類不能被共享。硬件模塊類有兩種截然不同的硬件模塊類型,一種包含軟件集中處理單元,如數(shù)字信號(hào)處理器模塊和通用處理器模塊;另一種是不可編程的功能模塊,如射頻單元。
硬件平臺(tái)由射頻收發(fā)模塊、波形處理模塊、主控制模塊等構(gòu)成,所有模塊都采用CPCI總線方式,以提高系統(tǒng)硬件的兼容性和可擴(kuò)展性。數(shù)據(jù)鏈的協(xié)議處理由主控制模塊承擔(dān),數(shù)據(jù)鏈的信號(hào)處理由以FPGA、DSP為核心的波形處理模塊完成。主控制模塊由32位 MCU(ARM9內(nèi)核)微控制器、SDRAM、FLASH、以太網(wǎng)控制器、UART、實(shí)時(shí)鐘(RTC)等部件組成;波形處理模塊由Xilinx公司的Virtex-6系列FPGA、TI公司的四個(gè)C66X內(nèi)核的TMS320C6670、SDRAM、FLASH、AD/DA等部件組成。
軟件架構(gòu)是依據(jù)硬件平臺(tái)的資源以及SCA規(guī)范的要求而提出的。定義軟件結(jié)構(gòu)的目的就是為了提供一種標(biāo)準(zhǔn)的、開放的、可互操作的軟件平臺(tái),實(shí)現(xiàn)波形應(yīng)用的可移植性和可重用性[7]。軟件架構(gòu)的操作環(huán)境(Operating Environment,OE)和應(yīng)用(Applications)構(gòu)成通用軟件平臺(tái)[5],使數(shù)據(jù)鏈波形能夠從一個(gè)戰(zhàn)術(shù)平臺(tái)移植到另一個(gè)戰(zhàn)術(shù)平臺(tái)。OE包括核心框架(Core Frame work,CF)、CORBA(Common Object Request Broker Architecture)中間件、嵌入式實(shí)時(shí)操作系統(tǒng)以及網(wǎng)絡(luò)接口層和板級(jí)支持包等。應(yīng)用包含多個(gè)組件,這些組件由CF的控制接口管理。應(yīng)用組件之間或組件與系統(tǒng)提供的服務(wù)和設(shè)備(系統(tǒng)組件)之間的通信是通過SCA定義的Port接口。組件間通信由CORBA提供的邏輯“軟件總線”來完成,根據(jù)用戶需求定制不同的數(shù)據(jù)鏈波形,不同的數(shù)據(jù)鏈波形可在平臺(tái)上動(dòng)態(tài)地加載、卸載。
圖2 開發(fā)者環(huán)境視圖
軟件架構(gòu)設(shè)計(jì)首先要評(píng)估和分析各類實(shí)時(shí)操作系統(tǒng),特別是提出操作系統(tǒng)的移植方法;其次提出CORBA中間的選型要求,并根據(jù)其特點(diǎn)提出它的移植方法;第三建立開發(fā)者環(huán)境,并以此為核心將嵌入式實(shí)時(shí)操作系統(tǒng)、CORBA中間件和核心框架整合在一起構(gòu)成開發(fā)者環(huán)境[12],它的實(shí)現(xiàn)具體見圖2所示。
在戰(zhàn)術(shù)數(shù)據(jù)鏈波形的開發(fā)設(shè)計(jì)中,由于SCA框架的存在,雖然開發(fā)過程和常規(guī)的算法波形開發(fā)類似,但是數(shù)據(jù)流的生成和調(diào)用都有一定的特殊性。除了硬件平臺(tái)的設(shè)計(jì),軟件分為波形設(shè)計(jì)、SCA框架設(shè)計(jì)和上位機(jī)波形管理器設(shè)計(jì),其中采用開發(fā)工具 MATLAB、ISE、CCS、Spectra CX等用于波形設(shè)計(jì)。
開發(fā)一個(gè)新的數(shù)據(jù)鏈波形應(yīng)用程序,首先要定義波形應(yīng)用程序的功能。實(shí)現(xiàn)一套完整功能的軟件模塊稱為組件,波形組件承載了不同的波形功能,相互之間是獨(dú)立、可重用、可擴(kuò)展的。
戰(zhàn)術(shù)數(shù)據(jù)鏈作為一種特定的戰(zhàn)術(shù)傳輸手段,以實(shí)現(xiàn)各作戰(zhàn)平臺(tái)之間進(jìn)行快速、高效的戰(zhàn)術(shù)鏈接,其傳輸?shù)膬?nèi)容是實(shí)時(shí)性很強(qiáng)的戰(zhàn)術(shù)數(shù)據(jù)。如果不在規(guī)定的時(shí)間內(nèi)完成傳輸,許多戰(zhàn)術(shù)數(shù)據(jù)就失去了意義。因此,波形組件設(shè)計(jì)時(shí)要遵循以下幾個(gè)原則:
1)實(shí)時(shí)傳輸原則
能否滿足實(shí)時(shí)傳輸要求是數(shù)據(jù)鏈波形設(shè)計(jì)中需要考慮的一個(gè)重要因素。要求(1)數(shù)據(jù)鏈的網(wǎng)絡(luò)組件一般不采用復(fù)雜的路由算法;(2)物理層一般不采用交織組件,嚴(yán)禁在采用交織組件時(shí)設(shè)置深度屬性。
2)格式化信息原則
為了達(dá)到戰(zhàn)術(shù)平臺(tái)間的信息共享,波形組件設(shè)計(jì)時(shí)要遵循“格式化信息原則”,要求采用嚴(yán)格的面向比特定義的格式化信息。格式化信息有相對(duì)固定的長度,便于各作戰(zhàn)平臺(tái)按統(tǒng)一的要求解析、處理。具體體現(xiàn)在(1)物理層采用編碼組件時(shí),編碼后的長度與消息標(biāo)準(zhǔn)的單位數(shù)據(jù)包要相對(duì)應(yīng);(2)采用TDMA協(xié)議時(shí),單位發(fā)送時(shí)隙長度與生成的發(fā)送波形長度(該長度包括必要的傳輸延遲保護(hù))相匹配[8]。
3)組件粒度合理劃分原則
為了達(dá)到良好的可繼承性和可復(fù)用性,要求對(duì)組件粒度進(jìn)行合理劃分。如果組件粒度劃分過大,設(shè)計(jì)出的波形API就沒有好的可繼承性和可復(fù)用性,且不利于系統(tǒng)的升級(jí)和維護(hù);如果組件粒度劃分過小,在現(xiàn)有的通信體制、技術(shù)條件和硬件水平下,有些功能是不可能實(shí)現(xiàn)的。標(biāo)準(zhǔn)的API對(duì)于波形應(yīng)用程序的靈活使用和數(shù)據(jù)鏈系統(tǒng)的升級(jí)換代都很重要。
基于SCA的數(shù)據(jù)鏈波形軟件是戰(zhàn)術(shù)數(shù)據(jù)鏈系統(tǒng)的核心軟件,它通過模型化設(shè)計(jì),定義好各種波形算法的輸入輸出接口,用戶可以通過CORBA中間件去訪問這些接口,從而達(dá)到數(shù)據(jù)交互的功能,而且通過CORBA中間件的形式,解決了數(shù)據(jù)鏈波形和外部的異構(gòu)問題。
一般的,一個(gè)數(shù)據(jù)鏈波形由物理、MAC、安全、IO、網(wǎng)絡(luò)等組件來實(shí)現(xiàn)其完整的功能。不同的波形由不同的組件構(gòu)成,并且不同的波形對(duì)應(yīng)的組件數(shù)量也不相同。
我們開發(fā)的數(shù)據(jù)鏈波形的主要功能包括:支持實(shí)時(shí)戰(zhàn)術(shù)數(shù)據(jù)傳輸業(yè)務(wù)、具備無線自組網(wǎng)功能、支持加密體制。因?yàn)槠邢?,這里不描述安全模塊的設(shè)計(jì)。我們將數(shù)據(jù)鏈波形分為輸入輸出模塊、物理層模塊兩個(gè)功能模塊,其中輸入輸出模塊負(fù)責(zé)傳輸音頻信號(hào),物理層模塊負(fù)責(zé)數(shù)字音頻信號(hào)的編碼、映射、調(diào)制、解調(diào)、解映射、解碼等功能。
SCA規(guī)范規(guī)定每個(gè)波形必須包含一個(gè)裝配控制器組件(Assembly Controller)[6],所有對(duì)波形中其它組件的配置操作都由這個(gè)裝配控制器來完成,控制終端要對(duì)波形配置時(shí)只需訪問裝配控制器。所以數(shù)據(jù)鏈波形中共包含三個(gè)組件,即物理層組件、音頻組件和裝配控制器組件。
明確了波形的功能之后,進(jìn)行波形組件設(shè)計(jì),這是一個(gè)與具體實(shí)現(xiàn)相關(guān)的過程,包括組件的劃分、組件的配置和組件間的Port端口連接等。在SCA規(guī)范中,所有接口的描述以及接口關(guān)系的描述都是通過統(tǒng)一建模語言UML語言來完成的,其中類圖和序列圖是最常用的UML圖。SCA規(guī)范中所有關(guān)于接口的屬性和行為的描述都通過類圖來描述,這些接口的行為又是通過序列圖來描述。物理層組件的UML描述如圖3所示。
圖3 波形物理層組件的UML類圖
圖3中數(shù)據(jù)鏈波形建立了七個(gè)類,其中CodeandDecode類用于完成編譯碼算法;MapandDemap類用于完成映射和解映射功能;ModulandDemodul類用于完成調(diào)制和解調(diào)功能;ModulSetup和CodeModelSetup用于完成編解碼參數(shù)和調(diào)制解調(diào)參數(shù)的配置功能;ProviderPort和UserPort兩個(gè)類來完成建立連接、釋放連接以及數(shù)據(jù)傳輸?shù)墓δ?。物理層?yīng)用程序接口通過自身的control操作來控制各個(gè)類的使用。
完成波形建模后編譯UML模型生成相應(yīng)的IDL(Interface Description Language)文件,IDL文件對(duì)各接口進(jìn)行標(biāo)準(zhǔn)化定義。我們利用CORBA中間件將UML建立的模型轉(zhuǎn)化為IDL語言描述的波形組件,生成接口存根對(duì)象Sub和接口框架對(duì)象Skeleton,實(shí)現(xiàn)IDL語言到C++語言的映射[10]。這些波形組件IDL文件給出了數(shù)據(jù)鏈波形清晰的定義,由于IDL語言是獨(dú)立于實(shí)現(xiàn)語言的,因此它使得SC波形組件具有靈活的可移植性。
完成波形組件實(shí)現(xiàn)后,為了能通過核心框架(CF)對(duì)數(shù)據(jù)鏈波形進(jìn)行動(dòng)態(tài)加載、卸載、啟用和配置,還必須為每個(gè)波形組件編寫相應(yīng)的域描述文件[9],這些域描述文件包括SAD(軟件裝配描述文件)、SPD(軟件包描述文件)、SCD(軟件組件描述文件)等[11]。
每個(gè)波形組件及組件IDL描述文件共同代表了獨(dú)立的功能模塊,完成相應(yīng)的一系列算法過程。當(dāng)開發(fā)新的波形應(yīng)用時(shí),我們只需要重新編寫波形應(yīng)用的SAD文件,即可直接重用這些組件,或稍加修改即可使用,這對(duì)于波形應(yīng)用的開發(fā)來說,具有重要的意義。
完成上述數(shù)據(jù)鏈波形的開發(fā)工作后,需對(duì)波形組件進(jìn)行測(cè)試。我們進(jìn)行了波形組件的SCA兼容性測(cè)試、組件單元測(cè)試、應(yīng)用測(cè)試和部署測(cè)試。當(dāng)一個(gè)組件被測(cè)試時(shí),它的端口、屬性、執(zhí)行環(huán)境和依賴關(guān)系都會(huì)被測(cè)試。對(duì)基于SCA的波形組件進(jìn)行測(cè)試能大大減少開發(fā)的風(fēng)險(xiǎn),加速開發(fā)流程并提高波形軟件質(zhì)量和平臺(tái)質(zhì)量。
SCA是21世紀(jì)我三軍無線通信裝備的發(fā)展方向,是實(shí)現(xiàn)我三軍互通、互連及互操作,各個(gè)戰(zhàn)斗平臺(tái)之間高效、可靠地協(xié)同通信的有效手段。本文根據(jù)對(duì)現(xiàn)役某數(shù)據(jù)鏈波形的開發(fā)研究,重點(diǎn)對(duì)數(shù)據(jù)鏈波形的系統(tǒng)架構(gòu)、波形開發(fā)流程進(jìn)行了深入研究,給出了基于SCA的數(shù)據(jù)鏈波形開發(fā)時(shí)應(yīng)遵循的原則和注意的事項(xiàng)。本文所做的工作對(duì)我國新一代戰(zhàn)術(shù)數(shù)據(jù)鏈的研制具有一定的指導(dǎo)意義。
[1]張友愛.戰(zhàn)術(shù)數(shù)據(jù)鏈技術(shù)的發(fā)展趨勢(shì)[J].艦船科學(xué)技術(shù),2008,30:1-7.
[2]Modular Software-programmable Radio Consortium.Software Communication Architecture Specification(Version 3.0)[R].Washington:JTRS Joint Program Office,2004.
[3]Modular Software-Programmable Radio Consortium.Application Program Interface Supplement to the Software Communications Architecture Specification APPENDIX D Physical Real-Time Building Block Service Definition.(Version 3.0)[R].Washington:JTRS Joint Program Office,2004.
[4]Modular Software-Programmable Radio Consortium.Application Program Interface Supplement to the Software Communications Architecture Specification APPENDIX H I/O Building Block Service Definition.(Version 3.0)[R].Washington:JTRS Joint Program Office,2004.
[5]Software Communications Architecture Specification :JTRS Standards Joint Program Executive Office(JPEO)Joint Tactical Radio System(JTRS)Space and Naval Warfare Systems Center 2006:7-40.
[6]Software Communications Architecture Extensions :JTRS Standards Joint Program Executive Office(JPEO)Joint Tactical Radio System(JTRS)Space and Naval Warfare Systems Center 2006:4-11.
[7]Software Communications Architecture Specification Appendix B:SCA Application Environment Profile;JTRS Standards Joint Program Executive Office(JPEO)Joint Tactical Radio System(JTRS)2006:4-15.
[8]羅壯一,周金榮.戰(zhàn)術(shù)數(shù)據(jù)鏈中的波形設(shè)計(jì)[J].艦船科學(xué)技術(shù),2008,30:66-70.
[9]Software Communications Architecture Specification Appendix D:Domain Profile;JTRS Standards Joint Program Executive Office(JPEO)Joint Tactical Radio System(JTRS)2006:4-15.
[10]Communications Research Centre(CRC),SCA Architect User Guide V.1.0,3701Carling Avenue,P.O.BOX 11490,Station H,Ottawa,Ontario K2H8S2March,2007.
[11]Software Communications Architecture Specification Appendix C:Core Framework IDL;JTRS Standards Joint Program Executive Office(JPEO)Joint Tactical Radio System (JTRS)2006.
[12]Joint Program Executive Office Joint Tactical Radio System,SCA Service and Multi Channel Deployment Extensions JTRS Interface Control Working Group(ICWG),2006:6-23.