李秀朋李少輝
(1中國(guó)電子科技集團(tuán)公司第五十四研究所河北石家莊050081)
(2中國(guó)移動(dòng)通信集團(tuán)河北有限公司石家莊分公司河北石家莊050000)
軟件通信架構(gòu)是一個(gè)開(kāi)放的通信架構(gòu)規(guī)范,它告知通信系統(tǒng)設(shè)計(jì)者在符合SCA規(guī)范的系統(tǒng)中,軟件和硬件如何操作來(lái)達(dá)到協(xié)調(diào)一致;SCA允許通信平臺(tái)(如軟件定義無(wú)線電)加載應(yīng)用(如波形),運(yùn)行這些應(yīng)用并且組網(wǎng)成一個(gè)整體系統(tǒng);SCA被通信平臺(tái)(如電臺(tái)等)使用時(shí),硬件和軟件設(shè)計(jì)人員就如同建筑師或策劃者使用一種當(dāng)?shù)氐慕ㄖ?guī)范來(lái)設(shè)計(jì)和建造房屋[1]。
SCA并不只是一個(gè)開(kāi)放和被商業(yè)接受的標(biāo)準(zhǔn),它還使用了許多開(kāi)放的商用標(biāo)準(zhǔn)并以此為基礎(chǔ)。通過(guò)遵循SCA定義文件中詳述的標(biāo)準(zhǔn),硬件和軟件設(shè)計(jì)者知道設(shè)計(jì)什么設(shè)備和程序,但SCA并沒(méi)有告知硬件和軟件設(shè)計(jì)者怎樣來(lái)設(shè)計(jì)他們的設(shè)備和程序。當(dāng)設(shè)計(jì)符合SCA規(guī)范時(shí),符合SCA的網(wǎng)絡(luò)系統(tǒng)(如符合JTRS的電臺(tái)或其他通信系統(tǒng)等)將能夠滿足符合SCA規(guī)范標(biāo)準(zhǔn)的互操作性,就如按照當(dāng)?shù)匾?guī)則設(shè)計(jì)的水電系統(tǒng)能夠滿足當(dāng)?shù)氐慕ㄖ桶踩?guī)范[2]。
SCA主要由2部分組成,應(yīng)用層和基礎(chǔ)設(shè)施層,基礎(chǔ)設(shè)施層由紅方和黑方組成。紅方指戰(zhàn)術(shù)無(wú)線通信系統(tǒng)中處理未加密的需保密信息的功能模塊和總線,黑方指戰(zhàn)術(shù)無(wú)線通信系統(tǒng)中處理不保密信息或已加密的保密信息的功能模塊和總線。
軟件通信體系結(jié)構(gòu)采用了與以往無(wú)線通信裝備不同的體系架構(gòu),它不是簡(jiǎn)單的依據(jù)數(shù)據(jù)流處理過(guò)程將系統(tǒng)中的各類(lèi)軟件組合在一起,而是在系統(tǒng)內(nèi)部建立了一個(gè)通用的軟件平臺(tái),由該平臺(tái)負(fù)責(zé)完成對(duì)系統(tǒng)內(nèi)各類(lèi)硬件的管理,與通信過(guò)程相關(guān)的算法實(shí)現(xiàn)則由軟件平臺(tái)之上的應(yīng)用軟件完成。軟件平臺(tái)包括操作系統(tǒng)、分布式處理中間件和核心框架,其中操作系統(tǒng)和分布式處理中間件為成熟的商業(yè)軟件,核心框架需要依據(jù)本標(biāo)準(zhǔn)的定義開(kāi)發(fā)。應(yīng)用軟件包括完成波形功能的各類(lèi)組件,應(yīng)用軟件的開(kāi)發(fā)可以由不同的廠家完成,波形組件通過(guò)裝配組合,承擔(dān)特定的波形功能[3]。
軟件體系結(jié)構(gòu)要能適用于大多數(shù)工業(yè)總線體系結(jié)構(gòu),支持可靠的傳送機(jī)制,包括總線的錯(cuò)誤檢測(cè)和糾錯(cuò)。板支持包作為軟件通信結(jié)構(gòu)中的總線驅(qū)動(dòng)層,其位置介于主板硬件和操作系統(tǒng)之間,可以認(rèn)為是屬于操作系統(tǒng)的一部分,其主要功能是支持操作系統(tǒng),使之能夠更好的運(yùn)行于硬件主板之上。BSP是相對(duì)于操作系統(tǒng)而言的,不同的操作系統(tǒng)對(duì)應(yīng)于不同定義的BSP,在總線支持級(jí)的BSP應(yīng)當(dāng)執(zhí)行相應(yīng)的檢糾錯(cuò)機(jī)制[4],如圖1所示。

圖1 基礎(chǔ)設(shè)施-總線層
軟件架構(gòu)依賴(lài)商業(yè)組件來(lái)支持多種專(zhuān)用的串行和網(wǎng)絡(luò)接口(例如,RS-232、RS-422、RS-423、RS-485、以太網(wǎng)和 802.x等)。為了支持這些接口,可以使用多種低等級(jí)的網(wǎng)絡(luò)協(xié)議。(例如,PPP、SLIP、LAPx和其他。)波形聯(lián)網(wǎng)功能的原理也可以存在于操作系統(tǒng)層。(例如,完成波形之間路由的商業(yè)IP協(xié)議棧。)
由于無(wú)線通信裝備在應(yīng)用上的特殊性,操作系統(tǒng)應(yīng)為嵌入式實(shí)時(shí)操作系統(tǒng)(如VxWorks),主要提供本地系統(tǒng)引導(dǎo)、硬件設(shè)備驅(qū)動(dòng)、內(nèi)存管理、進(jìn)程管理和任務(wù)實(shí)時(shí)調(diào)度等功能,為上層軟件提供多線程支持。操作系統(tǒng)可以根據(jù)支持具體任務(wù)/板的環(huán)境進(jìn)行調(diào)整。例如:
①因?yàn)樘厥獾奶幚砥靼逶恚寮?jí)支持包(BSP)能夠調(diào)整實(shí)時(shí)操作系統(tǒng),包括電路板上支持專(zhuān)用設(shè)備/芯片的設(shè)備驅(qū)動(dòng);
②ORB需要支持必要交互處理器通信的設(shè)備驅(qū)動(dòng);

圖2 基礎(chǔ)設(shè)施-操作系統(tǒng)層
為了解決裝備內(nèi)部多處理器情況下的通信問(wèn)題,降低上層應(yīng)用軟件對(duì)底層具體通信機(jī)制的依賴(lài)性,在軟件平臺(tái)中使用分布式處理中間件屏蔽底層差異,為上層軟件提供統(tǒng)一的開(kāi)發(fā)模式,提高軟件的可移植性。目前國(guó)內(nèi)外均有成熟的CORBA商業(yè)軟件可用,考慮到無(wú)線通信裝備在計(jì)算資源上受限的情況,所選用的CORBA中間件應(yīng)該符合minimumCORBA規(guī)范,并提供命名服務(wù)、事件服務(wù)和日志服務(wù)[6],中間件設(shè)施如圖3所示。

圖3 基礎(chǔ)設(shè)施-中間件
核心框架是軟件平臺(tái)中最為核心的部分,通過(guò)核心框架定義的各類(lèi)接口,為系統(tǒng)內(nèi)部軟和硬件管理提供了手段,是系統(tǒng)根據(jù)用戶(hù)需求提供不同的通信功能的重要基礎(chǔ)。
核心框架由基本應(yīng)用接口、框架控制接口、框架服務(wù)接口和域配置文件構(gòu)成。基本應(yīng)用接口中的"資源"接口是所有的波形組件必須繼承和實(shí)現(xiàn)的接口,波形組件只有實(shí)現(xiàn)這些接口,才能在系統(tǒng)中被正確地控制和使用;核心框架服務(wù)接口通常由平臺(tái)開(kāi)發(fā)者完成,通過(guò)在系統(tǒng)內(nèi)部建立聯(lián)合文件系統(tǒng),用戶(hù)可以像使用本地文件系統(tǒng)一樣對(duì)電臺(tái)中的文件進(jìn)行操作,而不必關(guān)心其具體物理位置;域配置文件采用XML語(yǔ)言對(duì)硬件和軟件進(jìn)行描述和說(shuō)明,系統(tǒng)中的所有波形組件和設(shè)備在提交驗(yàn)收時(shí),都必須提供配置文件描述其功能、屬性信息和依賴(lài)性關(guān)系等,核心框架如圖4所示。

圖4 基礎(chǔ)設(shè)施-核心框架
本文詳細(xì)分析了SCA軟件架構(gòu)及其各部分的功能和特點(diǎn)。SCA可以最大化利用一些現(xiàn)成的商用協(xié)議、軟件和產(chǎn)品,通過(guò)分層的和開(kāi)放的商用基礎(chǔ)軟件將核心應(yīng)用和非核心應(yīng)用與底層硬件分離開(kāi);通過(guò)CORBA中間件技術(shù)提供分布式的處理環(huán)境,以提高波形應(yīng)用軟件的可移植性、可重用性和可擴(kuò)展性。基于SCA設(shè)計(jì)的電臺(tái),不僅能夠提高其硬件平臺(tái)的通用化水平,增加硬件設(shè)計(jì)的可重用性,同時(shí)增強(qiáng)了軟件設(shè)計(jì)的系統(tǒng)化水平,因此SCA為電臺(tái)的發(fā)展指明了方向。
[1]Joint Tactical Radio System.Software Communication Architecture(SCA)[P].USA:MSRC-5000SCA,2001.
[2]PLACEJ,KERR D,SCHAEFER D.Joint Tactical Radio System[C].IEEEMilitary Communications Conference,2000(19):209-213.
[3]周麗麗.SCA中間件技術(shù)淺析[J].計(jì)算機(jī)與網(wǎng)絡(luò),2011,37(10)51-53.
[4]王慶生.基于SCA規(guī)范的軟件無(wú)線電系統(tǒng)設(shè)計(jì)[J].現(xiàn)代導(dǎo)航,2012(1):56-60.
[5]孫佩剛,趙 海張文波.基于軟件通信體系結(jié)構(gòu)的波形實(shí)現(xiàn)及其研究[J].計(jì)算機(jī)工程,2006,32(17):170-172.
[6]陸志彬.基于軟件通信體系結(jié)構(gòu)的波形應(yīng)用研究與實(shí)現(xiàn)[D].四川:電子科技大學(xué),2008.