《軟件無(wú)線電原理與技術(shù)》課件-第3章_第1頁(yè)
《軟件無(wú)線電原理與技術(shù)》課件-第3章_第2頁(yè)
《軟件無(wú)線電原理與技術(shù)》課件-第3章_第3頁(yè)
《軟件無(wú)線電原理與技術(shù)》課件-第3章_第4頁(yè)
《軟件無(wú)線電原理與技術(shù)》課件-第3章_第5頁(yè)
已閱讀5頁(yè),還剩115頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

3.1綜述

3.2主要的軟件體系結(jié)構(gòu)

3.3軟件通信結(jié)構(gòu)SC

3.4軟件下載以及軟件可重配置

3.5軟件無(wú)線電可用的編程語(yǔ)言軟件無(wú)線電以軟件方式實(shí)現(xiàn)各種空中接口,提供了靈活的無(wú)線通信方式,以及靈活的傳輸機(jī)制、協(xié)議和應(yīng)用。顯然,軟件的作用居于核心位置,這與傳統(tǒng)的基于硬件的無(wú)線電是完全不同的。軟件無(wú)線電的軟件設(shè)計(jì)包括:軟件的功能、軟/硬件之間的相互關(guān)系和軟件的體系結(jié)構(gòu)。軟件可定義的特性包括射頻頻帶、空中接口波形及其他相關(guān)功能。涉及軟件無(wú)線電的軟件是較為復(fù)雜的,并且其規(guī)模在迅速擴(kuò)大。因此,僅僅了解如何針對(duì)通信的某些特定功能來(lái)編制程序或研究算法顯然是不夠的。那么軟件無(wú)線電的軟件設(shè)計(jì)有什么特殊要求呢?在計(jì)算機(jī)互聯(lián)網(wǎng)時(shí)代,TCP/IP的出現(xiàn)屏蔽了異構(gòu)網(wǎng)絡(luò)(即不同物理層結(jié)構(gòu)的網(wǎng)絡(luò))的差異,而向上層提供統(tǒng)一的服務(wù),真正實(shí)現(xiàn)了網(wǎng)絡(luò)的互聯(lián),從而使Internet的發(fā)展有了質(zhì)的飛躍。類似的要求也出現(xiàn)在無(wú)線通信領(lǐng)域,即軟件無(wú)線電的軟件部分屏蔽硬件部分的差異(不同的硬件結(jié)構(gòu)和信號(hào)特征),而向上層提供統(tǒng)一的各類服務(wù)。因此要求軟件無(wú)線電的軟件部分具有以下特點(diǎn):

(1)具有良好的開(kāi)放性,采用模塊化結(jié)構(gòu)。這樣使通信的高級(jí)應(yīng)用可以利用現(xiàn)有的低層程序模塊,避免了低水平的技術(shù)重復(fù),提高了開(kāi)發(fā)效率,升級(jí)方便。

(2)軟件可重用。在不同開(kāi)發(fā)環(huán)境下開(kāi)發(fā)的軟件程序可以應(yīng)用于不同的硬件平臺(tái)上,軟件程序具有統(tǒng)一的源代碼并能夠屏蔽硬件平臺(tái)和開(kāi)發(fā)環(huán)境的差異。理想情況下,軟件也可以實(shí)現(xiàn)“即插即用”(plug&play)功能。這里引入一個(gè)重要的概念——“軟件總線”,軟件總線與硬件總線類似,將應(yīng)用模塊按標(biāo)準(zhǔn)做成插件,插入總線即可實(shí)現(xiàn)集成運(yùn)行,從而支持分布式的計(jì)算環(huán)境。

為了能夠達(dá)成上述目標(biāo),我們需要從一個(gè)更高的層次來(lái)認(rèn)識(shí)軟件無(wú)線電的軟件設(shè)計(jì)問(wèn)題,這就是軟件體系結(jié)構(gòu)。軟件體系結(jié)構(gòu)是指軟件系統(tǒng)的結(jié)構(gòu),它由一些規(guī)則、建議、習(xí)慣組成,從構(gòu)件的角度定義了系統(tǒng)的結(jié)構(gòu),說(shuō)明了構(gòu)成系統(tǒng)的各個(gè)構(gòu)件之間是如何通信和實(shí)現(xiàn)互操作的。簡(jiǎn)單地說(shuō),軟件體系結(jié)構(gòu)就是對(duì)系統(tǒng)軟件的總體描述,是一個(gè)系統(tǒng)的草圖,其描述對(duì)象是構(gòu)成系統(tǒng)的構(gòu)件。這些構(gòu)件是抽象的,只有在具體實(shí)現(xiàn)階段,這些抽象的構(gòu)件才會(huì)細(xì)化為實(shí)際的組件。軟件結(jié)構(gòu)用于指導(dǎo)大型軟件各個(gè)方面的設(shè)計(jì)。3.1綜述在軟件無(wú)線電應(yīng)用技術(shù)中,軟件體系結(jié)構(gòu)位于中心位置。在確定軟件體系結(jié)構(gòu)的基礎(chǔ)上,可以進(jìn)一步通過(guò)編程實(shí)現(xiàn)通信的功能和相應(yīng)的協(xié)議?,F(xiàn)有的軟件結(jié)構(gòu)很多,但是對(duì)于軟件無(wú)線電而言,重點(diǎn)在于開(kāi)發(fā)開(kāi)放的軟件結(jié)構(gòu)及其接口,這項(xiàng)工作的目標(biāo)是鼓勵(lì)軟件可重用、可移植以及保障在不同通信設(shè)備以及協(xié)議之間的互操作性。3.2主要的軟件體系結(jié)構(gòu)3.2.1硬件特定的軟件結(jié)構(gòu)硬件特定的軟件結(jié)構(gòu)如圖3-1所示,在這種結(jié)構(gòu)中,系統(tǒng)的軟件采用處理器自身的語(yǔ)言開(kāi)發(fā),軟件可以直接調(diào)用硬件資源,例如直接操作寄存器和I/O。軟件的具體功能實(shí)現(xiàn)直接與相應(yīng)的硬件相聯(lián)系,比如系統(tǒng)若采用DSP實(shí)現(xiàn)一個(gè)調(diào)制器,則調(diào)制器算法就通過(guò)相應(yīng)DSP的軟件實(shí)現(xiàn),軟件和硬件是緊密聯(lián)系的。這種結(jié)構(gòu)較為簡(jiǎn)單、直觀,容易實(shí)現(xiàn),與結(jié)構(gòu)化的軟件設(shè)計(jì)方法相聯(lián)系,但是這種方法是非面向?qū)ο蟮?,因此不可移植。圖3-1硬件特定的軟件結(jié)構(gòu)3.2.2開(kāi)放的軟件結(jié)構(gòu)

實(shí)現(xiàn)理想的軟件無(wú)線電要求軟件具有相對(duì)于硬件平臺(tái)的獨(dú)立性。實(shí)現(xiàn)軟件對(duì)硬件獨(dú)立的方式之一是建立介于硬件和軟件之間的中間件,形成硬件、軟件和中間插件的層次結(jié)構(gòu)。這就構(gòu)成了與硬件特定軟件結(jié)構(gòu)不同的開(kāi)放的軟件結(jié)構(gòu)。開(kāi)放的軟件結(jié)構(gòu)如圖3-2所示。從圖3-2中可以看到,開(kāi)放的軟件結(jié)構(gòu)是分層的,這樣硬件完全可以與應(yīng)用軟件剝離開(kāi)來(lái)。為了實(shí)現(xiàn)這種剝離,采用中間件將硬件單元封裝到對(duì)象中,并且允許對(duì)象通過(guò)標(biāo)準(zhǔn)接口互相通信,這個(gè)中間件較常采用公共對(duì)象服務(wù)代理結(jié)構(gòu)(CORBA,CommonObjectRequestBrokerArchitecture)。另外下層為操作系統(tǒng)、驅(qū)動(dòng)程序、資源管理,以及內(nèi)部處理器通信。硬件、中間件以及下層軟件通常合稱為框架。操作環(huán)境完成硬件資源的管理,比如分配硬件資源給不同的應(yīng)用,存儲(chǔ)器管理,中斷服務(wù),提供統(tǒng)一接口給硬件模塊。這種結(jié)構(gòu)使應(yīng)用軟件的開(kāi)發(fā)更易于移植,更為快捷,成本更低。應(yīng)用軟件的開(kāi)發(fā)者從對(duì)底層硬件的編程中解放出來(lái),可將精力集中在更為復(fù)雜和強(qiáng)有力的應(yīng)用設(shè)計(jì)中。圖3-2開(kāi)放的軟件結(jié)構(gòu)3.2.3面向過(guò)程和面向?qū)ο蟮能浖O(shè)計(jì)方法

硬件特定的軟件結(jié)構(gòu)和開(kāi)放的軟件結(jié)構(gòu)的軟件設(shè)計(jì)思想分別面向過(guò)程(或是結(jié)構(gòu)化)和面向?qū)ο?。在這里僅作簡(jiǎn)單介紹,詳細(xì)情況可以參考相關(guān)參考書(shū)。

1.面向過(guò)程的軟件設(shè)計(jì)方法

面向過(guò)程(或結(jié)構(gòu)化)的設(shè)計(jì)是從系統(tǒng)的功能入手,按照工程標(biāo)準(zhǔn)和嚴(yán)格規(guī)范將系統(tǒng)分解為若干功能模塊,通過(guò)函數(shù)實(shí)現(xiàn)其功能。結(jié)構(gòu)化方法首先關(guān)心的是功能,強(qiáng)調(diào)以模塊(即過(guò)程)為中心,采用模塊化、自頂向下、逐步求精的設(shè)計(jì)過(guò)程,系統(tǒng)是實(shí)現(xiàn)模塊功能的函數(shù)和過(guò)程的集合,結(jié)構(gòu)清晰,可讀性好。結(jié)構(gòu)化的設(shè)計(jì)著重于“如何做”。然而,用戶的需求和軟/硬件技術(shù)的不斷發(fā)展變化使得作為系統(tǒng)基本成分的功能模塊很容易受到影響,局部修改甚至?xí)鹣到y(tǒng)的根本性變化。開(kāi)發(fā)過(guò)程前期入手快而后期頻繁改動(dòng)的現(xiàn)象比較常見(jiàn)。在面向過(guò)程的思想中,一個(gè)程序一般都是由一個(gè)個(gè)函數(shù)組成的,這些函數(shù)之間相互調(diào)用,于是就形成了一個(gè)完整的程序,解決了一個(gè)問(wèn)題。它的基本結(jié)構(gòu)如下:

函數(shù)1()

{

……;}

函數(shù)2()

{

……;}

……

主函數(shù)()

{

……;}圖3-3PSK通信系統(tǒng)的工作流程下面舉一個(gè)通信系統(tǒng)的例子。PSK通信系統(tǒng)的工作流程如圖3-3所示。其程序中有一個(gè)主程序,每個(gè)模塊都用函數(shù)實(shí)現(xiàn),通過(guò)主程序調(diào)用函數(shù)來(lái)實(shí)現(xiàn)整個(gè)系統(tǒng)的功能。這樣的設(shè)計(jì)方法較為直觀,但是從可重用的角度來(lái)看,對(duì)結(jié)構(gòu)化的方法所強(qiáng)調(diào)的功能一般要求有嚴(yán)格定義的邊界,其功能在調(diào)用模型時(shí)不便于重用。如果我們需要改變系統(tǒng)的調(diào)制方式為FSK調(diào)制,那么原來(lái)程序中“PSK調(diào)制”和“PSK解調(diào)”功能將不可再用。

另外,如果初始設(shè)計(jì)的調(diào)制功能僅限于“PSK調(diào)制”,那么后來(lái)就需要對(duì)調(diào)制功能進(jìn)行擴(kuò)充,增加“FSK調(diào)制”。如果不是預(yù)先有所考慮的話,那么直接由“PSK調(diào)制”進(jìn)行擴(kuò)充也是較為麻煩的。

2.面向?qū)ο蟮能浖O(shè)計(jì)方法

對(duì)象其實(shí)非常簡(jiǎn)單,因?yàn)樵谶@個(gè)世界中,我們總是被“對(duì)象”所環(huán)繞,例如人、動(dòng)物、植物、建筑物等,它們都是對(duì)象。我們可以認(rèn)為,對(duì)象就是一個(gè)真實(shí)的實(shí)體,又可稱做實(shí)例。它具有以下性質(zhì):

(1)具有一系列屬性,比如對(duì)于球,有尺寸、形狀、顏色、重量等屬性。

(2)具有一系列行為,比如對(duì)于球,它能夠滾、彈跳、膨脹、縮小等。對(duì)于一組具有相同特性的對(duì)象,我們可以把它們抽象為“類”。類是對(duì)某一類事物的描述,是抽象的、概念上的定義。一個(gè)類可以看做是對(duì)象的“藍(lán)圖”,對(duì)象是類的一個(gè)實(shí)際例子(實(shí)例化的結(jié)果)。例如,我們可以在有輪子的能夠加速、剎車、轉(zhuǎn)向的對(duì)象集合中抽象出一個(gè)類——車,而小轎車就是“車”類的一個(gè)實(shí)例,是它的一個(gè)對(duì)象。在面向?qū)ο蟮脑O(shè)計(jì)中,編程的基本單元是類(面向過(guò)程編程的基本單元是函數(shù)),而類是由數(shù)據(jù)(用來(lái)描述屬性)和函數(shù)(用來(lái)描述行為)封裝起來(lái)得到的。面向?qū)ο蟮某绦蛟O(shè)計(jì)方法一般是先設(shè)計(jì)一個(gè)類,然后由這個(gè)類產(chǎn)生一個(gè)對(duì)象,之后對(duì)這個(gè)對(duì)象進(jìn)行相關(guān)操作。要說(shuō)明一點(diǎn),操作是對(duì)對(duì)象進(jìn)行的,沒(méi)有對(duì)象就無(wú)所謂操作。對(duì)象和對(duì)象之間會(huì)有一些相互的關(guān)系,有一些對(duì)象是獨(dú)立操作的(比如照相機(jī)),有一些對(duì)象則是彼此相互作用的(比如電話和電話應(yīng)答機(jī)之間)。對(duì)象之間的通信通過(guò)定義接口來(lái)實(shí)現(xiàn)。這樣的編程方法具有以下優(yōu)點(diǎn):

(1)信息隱藏。這意味著對(duì)象的具體實(shí)現(xiàn)細(xì)節(jié)是隱藏的,比如內(nèi)部組織是什么,使用了什么函數(shù),數(shù)據(jù)是如何組織的,等等。例如,一個(gè)汽車包括發(fā)動(dòng)機(jī)、傳動(dòng)機(jī)構(gòu)、排氣機(jī)構(gòu)等,我們駕駛汽車時(shí)可以使用每一個(gè)子系統(tǒng)而不需要知道內(nèi)部是如何工作的。

(2)程序可重用。一組經(jīng)過(guò)良好設(shè)計(jì)的類可以使程序具有良好的可重用性。我們?cè)谛枰臅r(shí)候只要建立類的對(duì)象,就能實(shí)現(xiàn)類的封裝功能。這樣可以提高編程的速度和質(zhì)量。

(3)繼承。從一個(gè)類中可以派生出子類,子類可以繼承父類的特性和行為。比如,父類“車”可以派生出子類“汽車”和“火車”,它們都繼承了“車”的基本特性,但又分別有其特性。一個(gè)新的“類”可以繼承一個(gè)或多個(gè)類的特性,并增加其他特性。

(4)多態(tài)。多態(tài)是指利用一個(gè)相同的名字定義不同的函數(shù),這些函數(shù)執(zhí)行的過(guò)程不同,但有相似的操作,即用同樣的接口訪問(wèn)不同的函數(shù)。例如,在遙控器上按下Play鍵時(shí),DVD可能在電視上播出一部電影;但是如果在播放機(jī)中放的是CD,那么它將通過(guò)音箱播放出音樂(lè)。雖然按鈕相同,操作相同,但是結(jié)果不同。綜上所述,面向?qū)ο蟮能浖O(shè)計(jì)方法可以簡(jiǎn)單總結(jié)如下:

(1)面向?qū)ο蟮木幊淌菍?duì)真實(shí)世界的建模,即對(duì)事物的屬性和行為進(jìn)行建模。

(2)面向?qū)ο蟮木幊虒?duì)數(shù)據(jù)和函數(shù)進(jìn)行了封裝。

(3)對(duì)象具有信息隱藏的特性。

(4)對(duì)象之間的通信是通過(guò)消息傳遞來(lái)完成的(通過(guò)接口)。

(5)對(duì)象允許繼承和多態(tài)。對(duì)于上面PSK調(diào)制的例子,我們首先對(duì)類進(jìn)行設(shè)計(jì),設(shè)計(jì)有信源/信宿、調(diào)制解調(diào)器、編譯碼器、濾波器幾個(gè)類,每個(gè)類分別有其屬性和行為,在確定類的基礎(chǔ)上形成對(duì)象,如圖3-4所示。這里采用了統(tǒng)一建模語(yǔ)言(UML)的類圖表示。類的UML表示是一個(gè)長(zhǎng)方形,該長(zhǎng)方形垂直地分為三個(gè)區(qū),頂部區(qū)域顯示類的名字,中間的區(qū)域列出類的屬性,底部的區(qū)域列出類的操作。圖3-4類的舉例如果初始設(shè)計(jì)的調(diào)制功能僅限于“PSK調(diào)制”,而我們需要改變或增加系統(tǒng)的調(diào)制方式為FSK調(diào)制,那么僅需要增加或改變調(diào)制解調(diào)器對(duì)象的屬性和行為就可以了,其他對(duì)象是不變的。在本書(shū)中,以“*()”表示函數(shù)描述行為。

下面具體給出一個(gè)調(diào)制解調(diào)器的例子來(lái)說(shuō)明針對(duì)軟件無(wú)線電的面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。根據(jù)前面的說(shuō)明,無(wú)論建模、仿真,還是軟件開(kāi)發(fā),開(kāi)發(fā)面向?qū)ο蠓椒ǖ牡谝徊蕉际谴_定對(duì)象的類。為了能定義無(wú)線電系統(tǒng)在受到外部激勵(lì)時(shí)的行為,可以把整個(gè)無(wú)線電系統(tǒng)作為一個(gè)對(duì)象,它封裝了整個(gè)系統(tǒng)。隨后定義構(gòu)成系統(tǒng)組成的下層的對(duì)象,這些下層的對(duì)象提供了我們所熟知的無(wú)線電功能,比如濾波、調(diào)制、解調(diào)、同步、控制等。這些軟件對(duì)象封裝了一組函數(shù),使無(wú)線電工程師可以實(shí)現(xiàn)重用和技術(shù)插入。下面具體說(shuō)明面向?qū)ο笤谲浖o(wú)線電中的應(yīng)用特點(diǎn)。

封裝。首先把整個(gè)調(diào)制解調(diào)器建模為一個(gè)調(diào)制解調(diào)器類,其屬性為調(diào)制類型、波特速率等,其行為是“調(diào)制()”和“解調(diào)()”。隨后,我們可以將調(diào)制解調(diào)器類按照功能分為調(diào)制器類、解調(diào)器類和時(shí)間標(biāo)準(zhǔn)類。調(diào)制器類的屬性為輸入比特流、輸出信號(hào)流,其行為是“調(diào)制()”;解調(diào)器類的屬性為輸入信號(hào)流、輸出比特流,行為是“解調(diào)()”;時(shí)間標(biāo)準(zhǔn)類的屬性是時(shí)鐘速率。同理,我們還可以繼續(xù)分下去,最終得到如圖3-5所示的調(diào)制解調(diào)器的模型圖。圖3-5一個(gè)簡(jiǎn)單調(diào)制解調(diào)器的部分對(duì)象模型

●消息傳遞。為了完成任務(wù),對(duì)象之間需要發(fā)生聯(lián)系,這依靠消息的傳送來(lái)實(shí)現(xiàn)。具體來(lái)講,若一個(gè)無(wú)線應(yīng)用發(fā)送一個(gè)消息到調(diào)制器對(duì)象去調(diào)制一個(gè)基帶比特流,那么將執(zhí)行一個(gè)調(diào)用調(diào)制解調(diào)器對(duì)象的“調(diào)制()”,即調(diào)用對(duì)象執(zhí)行“調(diào)制解調(diào)器.調(diào)制()”,這時(shí)調(diào)制解調(diào)器對(duì)象發(fā)送一個(gè)請(qǐng)求要求調(diào)制數(shù)據(jù)比特。消息的傳遞使各軟件單元可以概念化地綜合在一起,以完成特定的任務(wù),這實(shí)際也是各處理器之間的互聯(lián)。為了理解消息在軟件、硬件層面的傳遞,需要用到分層的概念。分層類似于OSI七層模型。另外,軟件和硬件實(shí)體之間通路的建立是通過(guò)管道化來(lái)實(shí)現(xiàn)的。驅(qū)動(dòng)程序?qū)⒂布庋b起來(lái),可形成其他對(duì)象可用的公開(kāi)方法或函數(shù)。

●繼承。當(dāng)一個(gè)新的類從已存在的類中合成產(chǎn)生時(shí),新的類繼承了屬性和行為。比如,我們可以在頂層建立一個(gè)調(diào)制解調(diào)器類,其子類為FSK調(diào)制解調(diào)器和PSK調(diào)制解調(diào)器。另外,我們還可以定義調(diào)制解調(diào)器由調(diào)制器和解調(diào)器構(gòu)成,通過(guò)狀態(tài)來(lái)確定對(duì)象工作在PSK或FSK模式下。子類的波特速率屬性是從父類中繼承的,不再重新定義。

特性繼承允許人們定義通用的可重用的類,比如FIR濾波器、時(shí)鐘恢復(fù)等,從這些類中,我們可以合成一個(gè)完成特定任務(wù)的對(duì)象。圖3-5所示的調(diào)制解調(diào)器模型用來(lái)恢復(fù)載波,提取位同步,估計(jì)信號(hào)參數(shù),實(shí)現(xiàn)位判決,可分別采用傳號(hào)和空號(hào)濾波器解調(diào)FSK信號(hào)。位判決對(duì)象在判決時(shí)間內(nèi)比較傳號(hào)濾波器和空號(hào)濾波器的能量,根據(jù)最大的濾波器輸出決定輸出傳號(hào)還是空號(hào)。這些濾波器繼承了FIR濾波器類的特性,對(duì)象模型表明調(diào)制解調(diào)器的成員單元,即調(diào)制解調(diào)器可以由多個(gè)軟件單元構(gòu)成,它可以將行為調(diào)制()和解調(diào)()分派給調(diào)制器對(duì)象和解調(diào)器對(duì)象,本質(zhì)上是將所有的行為都分派給成員對(duì)象,這些對(duì)象繼承了調(diào)制形式和波特率等特性。

多態(tài)性和重載。重載允許給定算法在不同的數(shù)據(jù)結(jié)構(gòu)上操作。調(diào)制器對(duì)象可以重載“調(diào)制()”,如果輸入比特流是打包的,一個(gè)打包的比特流包含一個(gè)幀頭,里邊有控制信息,幀體內(nèi)包含信號(hào),則“調(diào)制()”可以檢查幀頭并應(yīng)用在包中定義的調(diào)制類型;類似地,“解調(diào)()”函數(shù)可以被重載,這樣無(wú)論采用什么樣的信號(hào)都可以應(yīng)用合適的算法解調(diào),在這種情況下,需要一個(gè)調(diào)制類型識(shí)別算法來(lái)判定需要應(yīng)用的調(diào)制類型。在傳統(tǒng)的無(wú)線電結(jié)構(gòu)中,調(diào)制的形式是被嚴(yán)格定義的,然而,在軟件無(wú)線電通信系統(tǒng)中調(diào)制形式應(yīng)該可以根據(jù)QoS和SNR的實(shí)際情況進(jìn)行相應(yīng)的調(diào)整,在低信噪比的情況下采用BPSK調(diào)制,在高信噪比的條件下采用16QAM調(diào)制。因此可以很清楚地看到,封裝、消息傳遞、屬性繼承、多態(tài)在軟件無(wú)線電設(shè)計(jì)中是非常有用的。面向?qū)ο蟮恼Z(yǔ)言在20世紀(jì)60年代出現(xiàn),即Simula語(yǔ)言,到20世紀(jì)80年代早期出現(xiàn)了Smalltalk和Flavors語(yǔ)言,現(xiàn)在面向?qū)ο蟮恼Z(yǔ)言有C++、Python、Ruby、Java等。3.3軟件通信結(jié)構(gòu)SCA3.3.1SCA的定義軟件無(wú)線電的核心思想是“可重配置性”(Re-configurable)。對(duì)于基于硬件的無(wú)線設(shè)備,如果沒(méi)有物理的修改或重新設(shè)計(jì),那么是不可能進(jìn)行重配置的。隨著GPP、DSP、FPGA等器件處理能力的提高,以及ADC/DAC等器件其速度和精度的穩(wěn)定增長(zhǎng),越來(lái)越多的波形信號(hào)處理從傳統(tǒng)的模擬領(lǐng)域轉(zhuǎn)向數(shù)字領(lǐng)域通過(guò)軟件來(lái)實(shí)現(xiàn)。但是每一個(gè)無(wú)線設(shè)備制造商所開(kāi)發(fā)的系統(tǒng)結(jié)構(gòu)及其實(shí)現(xiàn)都是不同的,因此,雖然軟件的應(yīng)用使無(wú)線系統(tǒng)越來(lái)越靈活,但每種系統(tǒng)又各不相同。這樣無(wú)線系統(tǒng)雖然可以通過(guò)改變軟件來(lái)實(shí)現(xiàn)某種意義上的重配置,但是這些無(wú)線系統(tǒng)中的控制結(jié)構(gòu)和管理體系之間缺乏共性,因此不能夠采用相容的接口和協(xié)議進(jìn)行管理、配置以及控制。所以,當(dāng)多個(gè)來(lái)自不同廠商的無(wú)線設(shè)備在一起共同工作時(shí),比如在軍事、救災(zāi)等場(chǎng)合,多種基于軟件的無(wú)線系統(tǒng)之間既不能進(jìn)行互操作,也不能容易地進(jìn)行重配置,這無(wú)法達(dá)到軟件無(wú)線電的要求。簡(jiǎn)單地說(shuō),需要有共同的規(guī)范來(lái)約束所有的相關(guān)研發(fā)機(jī)構(gòu)和廠商。對(duì)于這一點(diǎn),我們完全可以通過(guò)對(duì)個(gè)人計(jì)算機(jī)進(jìn)行類比來(lái)想象這樣的情況,由于有相應(yīng)的規(guī)范存在,因此我們可以很輕易地自己購(gòu)買不同公司的配件來(lái)組裝一臺(tái)自己滿意的計(jì)算機(jī),并安裝自己需要的軟件,而這根本不需要我們具有多么淵博的計(jì)算機(jī)方面的知識(shí)。顯然,將軟件無(wú)線電規(guī)范化、標(biāo)準(zhǔn)化對(duì)產(chǎn)業(yè)以及技術(shù)的發(fā)展是十分有利的。最早提出這種需求的是美國(guó)軍隊(duì)。早期的基于軟件的無(wú)線電SPEAKeasy系統(tǒng)的成功已經(jīng)表明了采用軟件結(jié)構(gòu)的優(yōu)勢(shì),繼而大量無(wú)線設(shè)備開(kāi)始采用軟件來(lái)實(shí)現(xiàn)核心信號(hào)處理。例如,開(kāi)發(fā)于20世紀(jì)90年代的JCIT聯(lián)合戰(zhàn)斗信息終端、數(shù)字模塊無(wú)線電(DMR)等都提供了無(wú)線資源管理軟件的基礎(chǔ)結(jié)構(gòu)。隨著重配置需求的增長(zhǎng),為了使系統(tǒng)能夠支持多任務(wù),同時(shí)降低長(zhǎng)期工作和維持的成本,美軍建立了聯(lián)合戰(zhàn)術(shù)無(wú)線系統(tǒng)(JTRS)聯(lián)合工程辦公室(JPO),這個(gè)國(guó)防工程的目標(biāo)是建立未來(lái)的通信系統(tǒng),其特性是增強(qiáng)了靈活性、互操作性,易于升級(jí),降低了采購(gòu)、使用、維護(hù)的費(fèi)用。為了達(dá)到系統(tǒng)的設(shè)計(jì)目標(biāo),一個(gè)重要的步驟就是規(guī)范軟件無(wú)線電通用軟件結(jié)構(gòu)。這個(gè)努力開(kāi)始于20世紀(jì)90年代中期,并進(jìn)一步演變?yōu)楝F(xiàn)在所說(shuō)的軟件通信結(jié)構(gòu),簡(jiǎn)寫(xiě)為SCA,由美國(guó)聯(lián)合戰(zhàn)術(shù)無(wú)線電系統(tǒng)聯(lián)合工程辦公室發(fā)布,雖然此前各個(gè)廠商早已有各自的架構(gòu)和體系,但SCA是第一個(gè)軟件無(wú)線電規(guī)范。在這個(gè)規(guī)范中,美國(guó)政府的幾個(gè)主要的無(wú)線產(chǎn)品提供商均做出了相應(yīng)的貢獻(xiàn),而且美軍也將SCA應(yīng)用于新的無(wú)線系統(tǒng)的開(kāi)發(fā)。JTRSJPO構(gòu)建SCA的目標(biāo)如下:

(1)在遵循SCA規(guī)范的不同無(wú)線設(shè)備之間實(shí)現(xiàn)應(yīng)用軟件的可移植性。

(2)基于開(kāi)放的商業(yè)標(biāo)準(zhǔn)。

(3)支持無(wú)線系統(tǒng)的互操作能力、可編程能力和可裁減能力,而且系統(tǒng)成本可負(fù)擔(dān)得起。

(4)最大可能地將軟件和硬件相獨(dú)立,要求應(yīng)用以及設(shè)備是可移植和可重用的,具備新技術(shù)快速引入的能力。例如,在SCA中的應(yīng)用部分描述了可提供特定功能的軟件單元,而這可能有幾個(gè)不同的實(shí)現(xiàn)方案,比如一個(gè)在DSP上實(shí)現(xiàn),一個(gè)在GPP上實(shí)現(xiàn)。當(dāng)技術(shù)進(jìn)步時(shí),一個(gè)曾經(jīng)在DSP上實(shí)現(xiàn)的可以容易地在GPP上實(shí)現(xiàn)。

(5)通過(guò)可重用設(shè)計(jì)模塊,降低新波形的開(kāi)發(fā)時(shí)間。

(6)可擴(kuò)展新的波形和硬件組件。

(7)可與嵌入式可編程的信息安全模塊INFOSEC相結(jié)合。

(8)支持JTRSORD的要求,即要求操作者可重配置,能夠支持多種現(xiàn)有的和新的波形,可以同時(shí)多信道操作(大于10個(gè))。

SCA是什么呢?SCA定義了用于管理、控制、配置軟件無(wú)線電的軟件體系結(jié)構(gòu),由接口、行為規(guī)范、一般規(guī)則、波形應(yīng)用程序接口(API)以及所需的安全需求構(gòu)成,是一組用來(lái)實(shí)現(xiàn)軟件無(wú)線電的規(guī)則、方法和設(shè)計(jì)標(biāo)準(zhǔn),它獨(dú)立于實(shí)現(xiàn)的框架,約束軟件無(wú)線電系統(tǒng)設(shè)計(jì)以幫助達(dá)到設(shè)計(jì)目標(biāo)。

SCA結(jié)構(gòu)的重點(diǎn)在于可重用模塊的設(shè)計(jì)和開(kāi)發(fā),以及推動(dòng)商用軟件和標(biāo)準(zhǔn)的應(yīng)用。確切地說(shuō),SCA是一個(gè)規(guī)范集,說(shuō)明了軟件無(wú)線電的硬件和軟件之間的交互,并提供了控制這些組件的命令集。SCA建立了獨(dú)立于設(shè)備的結(jié)構(gòu)框架,其目標(biāo)是確保軟件和硬件的可移植性和可配置性。SCA基于面向?qū)ο蠛虲ORBA技術(shù),使用統(tǒng)一建模語(yǔ)言(UML,UnifiedModelingLanguage)對(duì)接口進(jìn)行圖示,使用接口定義語(yǔ)言(IDL,InterfaceDefinitionLanguage)對(duì)接口進(jìn)行定義。SCA形成了開(kāi)放分布的結(jié)構(gòu)規(guī)范,使應(yīng)用和操作環(huán)境分開(kāi),定義了管理和配置軟件構(gòu)件的公共接口,還定義了支持器件以及應(yīng)用移植能力的公共服務(wù)和API。

需要注意的是,SCA并沒(méi)有為無(wú)線電系統(tǒng)的硬件或波形應(yīng)用指定任何特定的結(jié)構(gòu)、設(shè)計(jì)或?qū)崿F(xiàn)。3.3.2SCA的版本發(fā)展

SCA首先由JTRSJPO發(fā)布,后來(lái)被軟件無(wú)線電論壇(SDRForum)作為SDR的標(biāo)準(zhǔn),其對(duì)軟件模塊之間的應(yīng)用程序接口(API)進(jìn)行標(biāo)準(zhǔn)化,并推薦Vxworks為操作系統(tǒng)。美國(guó)政府希望SCA通過(guò)對(duì)象管理組織OMG而成為商用標(biāo)準(zhǔn),并且已經(jīng)設(shè)計(jì)了使用商業(yè)需求的規(guī)范。到2001年9月,F(xiàn)CC發(fā)布了第一個(gè)關(guān)于軟件無(wú)線電的報(bào)告和規(guī)則,其內(nèi)容要點(diǎn)如下:

(1)允許設(shè)備制造商和運(yùn)營(yíng)商在設(shè)備部署到位后進(jìn)行重配置。

(2)第三方可以在原硬件制造商確認(rèn)的情況下制造和銷售終端軟件。

(3)軟件無(wú)線電對(duì)無(wú)所不在的無(wú)線通信世界是必然的。

(4)需要多頻段和多模式能力。

(5)可實(shí)現(xiàn)較高的頻帶利用率。

(6)多個(gè)軟件模塊進(jìn)行協(xié)作可以實(shí)現(xiàn)認(rèn)知無(wú)線電。

(7)對(duì)操作系統(tǒng)和軟件API進(jìn)行標(biāo)準(zhǔn)化,使得在各軟件模塊之間進(jìn)行通信成為可能。

這些對(duì)軟件無(wú)線電標(biāo)準(zhǔn)化和SCA的發(fā)展起到了推動(dòng)作用。SCA自誕生到現(xiàn)在已經(jīng)發(fā)展了多個(gè)版本,圖3-6給出了SCA發(fā)展進(jìn)程中的幾個(gè)重要的里程碑。圖3-6SCA的版本演化

2000年2月,SCA第一個(gè)正式版本SCA1.0出現(xiàn)。

2000年7月,經(jīng)過(guò)補(bǔ)充后形成SCA1.1。

2000年12月,經(jīng)過(guò)較大變動(dòng)后形成SCA2.0。

2001年5月,SCA2.0增補(bǔ)版本SCA2.1形成。

2001年11月,SCA2.0增補(bǔ)版本SCA2.2形成。通常認(rèn)為這個(gè)版本為完備的版本,足以應(yīng)用于戰(zhàn)場(chǎng)無(wú)線電系統(tǒng)。

2002年6月,波音公司首次在地面移動(dòng)無(wú)線電(GMR)計(jì)劃中應(yīng)用SCA2.2。這是JTRS第一類終端(Cluster1)。

2004年4月,SCA2.2.1發(fā)布。該版本對(duì)SCA2.2進(jìn)行了修正和補(bǔ)充。

2004年5月,OMG發(fā)布了軟件無(wú)線電規(guī)范,這個(gè)規(guī)范是由一些SCA的開(kāi)發(fā)商發(fā)起的,目的是將SCA發(fā)展為商用標(biāo)準(zhǔn),而不僅僅是軍用標(biāo)準(zhǔn)。

同時(shí),在2004年初,在JTRS各類無(wú)線電終端的開(kāi)發(fā)上提出了波形可移植的要求,因?yàn)樵贕PP上開(kāi)發(fā)的代碼在平臺(tái)間移植較為容易,但是在DSP或FPGA上開(kāi)發(fā)的代碼通常只能用于特定的處理器和無(wú)線電結(jié)構(gòu),所以,JPO提出要解決DSP和FPGA代碼的移植問(wèn)題。幾個(gè)專業(yè)工作組解決了這個(gè)問(wèn)題,以此為基礎(chǔ),2004年8月,SCA3.0產(chǎn)生。

2006年8月,SCA2.2.2發(fā)布,這是SCA2.2.1的增補(bǔ)版本。

SCA規(guī)范包含以下三個(gè)方面的內(nèi)容:

(1)SCA基本規(guī)范;

(2)應(yīng)用程序接口(API)補(bǔ)充;

(3)安全補(bǔ)充。

其中,SCA基本規(guī)范還可進(jìn)一步分為硬件結(jié)構(gòu)和軟件結(jié)構(gòu)。應(yīng)用程序接口(API)補(bǔ)充為建立模塊化可移植應(yīng)用單元提供了需求和指導(dǎo)方針。一個(gè)API組成了兩個(gè)構(gòu)件之間用于通信的語(yǔ)言、語(yǔ)法以及可提供服務(wù)的協(xié)議。遵從SCA的API采用IDL描述,是應(yīng)用可移植能力和設(shè)備可交換能力的要素。API保證了服務(wù)提供者和用戶可以在不考慮操作環(huán)境和編程語(yǔ)言的情況下進(jìn)行通信。

安全補(bǔ)充定義了無(wú)線系統(tǒng)的安全需求,確定了這些需求的行為影響,定義了支持這些需求的API,采用公共標(biāo)準(zhǔn)評(píng)估等級(jí)作為安全需求定義的基礎(chǔ)(CommonCriteriaEvaluationAssuranceLevels)。安全需求可以分解為以下幾個(gè)成分:密碼子系統(tǒng)、INFOSEC界限、裝備水平界限、安全政策等。

下面將分別對(duì)SCA基本規(guī)范中的硬件結(jié)構(gòu)和軟件結(jié)構(gòu)進(jìn)行說(shuō)明。3.3.3SCA的硬件結(jié)構(gòu)

SCA采用面向?qū)ο蟮姆绞椒指钴浖o(wú)線電的硬件。面向?qū)ο蟮姆椒枋隽擞布惡推渥宇悓?duì)象的層次。類的結(jié)構(gòu)是分層的,它描述面向?qū)ο蟮念惡妥宇愔g是如何聯(lián)系的。SCA中類的結(jié)構(gòu)確定了用于建立物理系統(tǒng)硬件設(shè)備的功能元素。采用面向?qū)ο蟮姆椒?,設(shè)備從父類繼承通用的物理和接口特性。理論上,這將很容易確認(rèn)和比較設(shè)備的可交換性。

劃分類的重點(diǎn)在于把系統(tǒng)分成不同的物理單元以及把這些單元組成一個(gè)功能單元,如圖3-7所示。

總的硬件父類是SCA-CompliantHardware類,它定義了可維護(hù)性、可用性、物理、環(huán)境、設(shè)備注冊(cè)等參數(shù),它有兩個(gè)子類,即Chassis和HWModule(s)。

圖3-7SCA的硬件結(jié)構(gòu)

Chassis子類包含模塊插槽、構(gòu)成要素、背板類型、平臺(tái)環(huán)境、功率、冷卻需求等。HWModule(s)是所有功能模塊子類的父類,這些功能模塊有射頻、電源、調(diào)制解調(diào)器、GPS、處理器、參考標(biāo)準(zhǔn)、I/O等。HWModule(s)類從SCA-CompliantHardware類繼承系統(tǒng)級(jí)屬性,HWModule(s)以下的類從HWModule(s)中繼承類屬性。不同的屬性值滿足不同的要求,可以在實(shí)現(xiàn)過(guò)程中進(jìn)行選擇。硬件設(shè)備(Device)即類的物理實(shí)現(xiàn),它是具有相應(yīng)的物理平臺(tái)環(huán)境和設(shè)備性能要求的屬性值。一些屬性由設(shè)備描述體(DeviceProfile)給出,用于產(chǎn)生波形應(yīng)用。核心框架(CF)可以解讀設(shè)備描述文件。每一個(gè)硬件子類都可以進(jìn)一步擴(kuò)展,比如射頻應(yīng)用類可以擴(kuò)展為天線類、接收機(jī)類、功率放大器類和激勵(lì)器類。每個(gè)類都包含相應(yīng)的屬性或參數(shù),如圖3-8所示。調(diào)制解調(diào)器類也可以擴(kuò)展為調(diào)制器類和解調(diào)器類,如圖3-9所示。圖3-8SCA中射頻類的擴(kuò)展圖3-9SCA中調(diào)制解調(diào)器類的擴(kuò)展3.3.4SCA的軟件結(jié)構(gòu)

SCA軟件結(jié)構(gòu)主要分為以下幾個(gè)部分:

(1)操作環(huán)境(OE)。操作環(huán)境包括實(shí)時(shí)操作系統(tǒng)ROTS、實(shí)時(shí)對(duì)象請(qǐng)求代理ORB和核心框架CF,它規(guī)定了實(shí)現(xiàn)SCA兼容的無(wú)線系統(tǒng)所必須遵循的接口、規(guī)則、約束以及過(guò)程等。

(2)核心框架(CF)CORBA接口。

(3)日志接口(LogInterface)。

(4)事件服務(wù)(EventService)。

(5)命名服務(wù)(NamingService)。

(6)域描述體(DomainProfile)。

SCA軟件結(jié)構(gòu)如圖3-10所示。圖3-10SCA軟件結(jié)構(gòu)由圖3-10可見(jiàn),SCA軟件結(jié)構(gòu)是分層的,操作環(huán)境可以進(jìn)一步擴(kuò)展成為基礎(chǔ)設(shè)施層?;A(chǔ)設(shè)施層可以細(xì)分為總線層、網(wǎng)絡(luò)和串行接口層、操作系統(tǒng)層、CORBA中間件層、核心框架層。上層應(yīng)用為應(yīng)用層。

SCA的軟件結(jié)構(gòu)具有以下特點(diǎn):

(1)分層的軟件結(jié)構(gòu),把應(yīng)用與底層硬件相分離。

(2)使用CORBA提供了一個(gè)分布式處理環(huán)境,保障實(shí)現(xiàn)軟件的可移植性、可重用性和可擴(kuò)展性;CORBA還提供了一定的透明性及不依賴于編程語(yǔ)言的特性。對(duì)于非CORBA的應(yīng)用,可以首先通過(guò)適配器的方式連接。

(3)盡可能利用商品標(biāo)準(zhǔn)和產(chǎn)品,比如,采用商用硬件總線結(jié)構(gòu)(VME、cPCI等)。軟件架構(gòu)操作系統(tǒng)采用具有嵌入實(shí)時(shí)能力的商用操作系統(tǒng),且支持可移植操作系統(tǒng)接口(POSIX)標(biāo)準(zhǔn),該標(biāo)準(zhǔn)對(duì)操作系統(tǒng)特定的方法提供了一個(gè)抽象層,從而將移植波形軟件的成本降到最低。圖3-10中的深色部分表明商用產(chǎn)品。

1.總線層

SCA的總線層如圖3-11所示。圖3-11SCA的總線層

SCA可以根據(jù)實(shí)際需要(比如數(shù)據(jù)帶寬等)使用現(xiàn)有的商用總線產(chǎn)品(例如VME、cPCI等),總線層的主要成分是板級(jí)支持包,分別連接黑色的保密總線和紅色的非保密總線(對(duì)于沒(méi)有保密需求的應(yīng)用,不需要進(jìn)行兩種總線的劃分)。板級(jí)支持包通常由設(shè)備提供方提供,并且需要避免非典型特性,其作用如下:

(1)提供硬件抽象層。

(2)作為硬件和操作系統(tǒng)之間的分割。

(3)允許操作系統(tǒng)從一個(gè)主板到另一主板進(jìn)行數(shù)據(jù)吞吐。

(4)提供設(shè)備驅(qū)動(dòng),以提供到操作系統(tǒng)的接口。

(5)使不同的底板同質(zhì)化。

(6)統(tǒng)一存儲(chǔ)器映射。

2.網(wǎng)絡(luò)和串行接口層

SCA的網(wǎng)絡(luò)和串行接口層如圖3-12所示。

SCA使用商用網(wǎng)絡(luò)協(xié)議,支持多個(gè)獨(dú)立的串行接口和網(wǎng)絡(luò)接口,例如RS-232、RS-422等。為了提供與總線層可靠的傳輸,使用了不同的底層協(xié)議棧。TCP/IP或1394可以工作在背板上,PPP、SLIP工作在串口上。另外,CORBA可以繞過(guò)操作系統(tǒng)直接接入。圖3-12SCA的網(wǎng)絡(luò)和串行接口層

3.操作系統(tǒng)層

SCA的操作系統(tǒng)層如圖3-13所示。

操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中的一個(gè)系統(tǒng)軟件,它是一些程序模塊的集合。這些程序模塊用于管理和控制計(jì)算機(jī)系統(tǒng)中的硬件及軟件資源,合理地組織計(jì)算機(jī)的工作流程,以便有效地利用這些資源為用戶提供一個(gè)功能強(qiáng)大、使用方便的工作環(huán)境,從而在計(jì)算機(jī)和用戶之間起到接口的作用。在軟件無(wú)線電中通常采用的操作系統(tǒng)為實(shí)時(shí)嵌入式操作系統(tǒng)(簡(jiǎn)稱RTOS)。

所謂嵌入式系統(tǒng),是指以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件、硬件可裁減,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng),而實(shí)時(shí)是指物理進(jìn)程的真實(shí)時(shí)間。實(shí)時(shí)操作系統(tǒng)具有實(shí)時(shí)性,能從硬件方面支持實(shí)時(shí)控制系統(tǒng)的工作。圖3-13SCA的操作系統(tǒng)層目前市場(chǎng)上比較著名的實(shí)時(shí)操作系統(tǒng)有VxWorks、Unix、Linux、PSOS、Nucleus、QNX、VRTX、WindowsCE、PalmOS、LynxOS等。其中,由WRS(WindRiverSystems)公司開(kāi)發(fā)的VxWorks是一個(gè)具有微內(nèi)核、可裁減的高性能、強(qiáng)實(shí)時(shí)操作系統(tǒng),在實(shí)時(shí)操作系統(tǒng)市場(chǎng)上處于領(lǐng)先地位。該操作系統(tǒng)支持廣泛的網(wǎng)絡(luò)通信協(xié)議,并能夠根據(jù)用戶的需求進(jìn)行組合。其開(kāi)放式的結(jié)構(gòu)和對(duì)工業(yè)標(biāo)準(zhǔn)的支持使開(kāi)發(fā)者只需做最少的工作即可設(shè)計(jì)出有效的適合于不同用戶要求的系統(tǒng)。該操作系統(tǒng)非常適合于軟件無(wú)線電應(yīng)用,并得到了軟件無(wú)線電論壇的推薦。它以其良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中,如衛(wèi)星通信、彈道制導(dǎo)、飛機(jī)導(dǎo)航等。另外,Linux等系統(tǒng)也很適于軟件無(wú)線電的應(yīng)用。國(guó)內(nèi)一些廠商也開(kāi)發(fā)了具有自主知識(shí)產(chǎn)權(quán)的實(shí)時(shí)操作系統(tǒng),比如科銀京成所開(kāi)發(fā)的DeltOS“道”系統(tǒng)也具備軟件無(wú)線電應(yīng)用方面的能力。另外,SCA的操作系統(tǒng)還支持可移植操作系統(tǒng)接口(POSIX)標(biāo)準(zhǔn),若在SCA中采用了基于POSIX的操作系統(tǒng)以及相應(yīng)的主板支持包,則一個(gè)POSIX兼容的操作系統(tǒng)編寫(xiě)的程序可以在任何其他POSIX操作系統(tǒng)上(即使是來(lái)源于另一個(gè)廠商)編譯執(zhí)行。系統(tǒng)軟件具有很好的可移植性。POSIX是IEEE為了在各種Unix操作系統(tǒng)上運(yùn)行軟件而定義的API(一組用于應(yīng)用程序呼叫某個(gè)功能或服務(wù)的函數(shù))的一系列互相關(guān)聯(lián)的標(biāo)準(zhǔn)的總稱,POSIX可提高Unix環(huán)境下應(yīng)用程序的可移植性?,F(xiàn)在許多其他操作系統(tǒng)(如MicrosoftWindowsNT)同樣支持POSIX標(biāo)準(zhǔn),其正式稱呼為IEEE1003,國(guó)際標(biāo)準(zhǔn)名稱為ISO/IEC9945。

4.CORBA中間件層

SCA的CORBA中間件層如圖3-14所示。

在軟件無(wú)線電多工作方式的實(shí)現(xiàn)過(guò)程中,要求能實(shí)時(shí)加入新的功能軟件,通過(guò)軟件資源分配的辦法來(lái)實(shí)現(xiàn)軟件的功能重組,這就要求將通信協(xié)議及軟件標(biāo)準(zhǔn)化、通用化,從而實(shí)現(xiàn)軟件的即插即用功能。圖3-14SCA的CORBA中間件層中間件是一種用來(lái)將應(yīng)用和操作環(huán)境細(xì)節(jié)(如硬件)相屏蔽的軟件,一般位于操作系統(tǒng)之上,在應(yīng)用軟件之下,總的作用是形成一個(gè)在操作系統(tǒng)上可復(fù)用的部分,為處于上層的應(yīng)用軟件提供運(yùn)行與開(kāi)發(fā)環(huán)境,幫助用戶高效、靈活地開(kāi)發(fā)和集成復(fù)雜的應(yīng)用軟件。這樣應(yīng)用程序的開(kāi)發(fā)和維護(hù)與底層的硬件和系統(tǒng)軟件相隔離,只要相應(yīng)的中間件做出變化就可以保證原應(yīng)用軟件不發(fā)生變化。特別是在軟件無(wú)線電應(yīng)用中,通常會(huì)存在多種硬件平臺(tái)(DSP、FPGA等),這些硬件平臺(tái)又存在各種不同的系統(tǒng)軟件,而且這些硬件平臺(tái)還可能通過(guò)網(wǎng)絡(luò)連接,形成分布式異構(gòu)環(huán)境,這使軟件無(wú)線電應(yīng)用程序的開(kāi)發(fā)面臨新的需求,這就是中間件的必要性所在。中間件具有如下一些特點(diǎn):

(1)滿足大量應(yīng)用的需要。

(2)運(yùn)行于多種硬件和OS平臺(tái)。

(3)支持分布式計(jì)算,提供跨網(wǎng)絡(luò)、硬件和OS平臺(tái)的透明性的業(yè)務(wù)和服務(wù)的交互。

(4)支持標(biāo)準(zhǔn)的協(xié)議。

(5)支持標(biāo)準(zhǔn)的接口。中間件的種類很多,在JTRS中采用的是對(duì)象請(qǐng)求代理中間件(ORB),即公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu)(CORBA,CommonObjectRequestBrokerArchitecture)。這是由對(duì)象管理組織(OMG,ObjectMangementGroup)指定的一種標(biāo)準(zhǔn)的面向?qū)ο髴?yīng)用的應(yīng)用程序體系規(guī)范,它是一種中間件標(biāo)準(zhǔn)。

1991年OMG提出CORBA1.1,同時(shí)還提出了接口定義語(yǔ)言IDL,能夠讓客戶/服務(wù)器對(duì)象在特定的ORB中進(jìn)行通信。1994年提出并被采納的CORBA2.0標(biāo)準(zhǔn)真正實(shí)現(xiàn)了不同生產(chǎn)廠商間的互操作性。CORBA體系結(jié)構(gòu)是OMG為解決分布式計(jì)算環(huán)境(DCE)中硬件和軟件系統(tǒng)的互聯(lián)而提出的一種解決方案;它基于“軟件總線”的思想(與硬件總線類似,軟件總線是將應(yīng)用模塊按標(biāo)準(zhǔn)做成插件,插入總線即可實(shí)現(xiàn)集成運(yùn)行,從而支持分布式計(jì)算環(huán)境),目的是建立一個(gè)標(biāo)準(zhǔn)、開(kāi)放、通用的體系結(jié)構(gòu)。符合這個(gè)結(jié)構(gòu)的對(duì)象可以互相交互,不論它們是用什么樣的語(yǔ)言編寫(xiě)的,且不論它們運(yùn)行于什么樣的機(jī)器和操作系統(tǒng)下。這種體系結(jié)構(gòu)可以讓分布的應(yīng)用程序完成通信,無(wú)論這種應(yīng)用程序是什么廠商生產(chǎn)的,只要符合CORBA標(biāo)準(zhǔn)就可以相互通信,即對(duì)象之間的數(shù)據(jù)是通過(guò)CORBA進(jìn)行傳輸?shù)?。可以說(shuō),CORBA是一種描述接口的工業(yè)標(biāo)準(zhǔn)。當(dāng)系統(tǒng)向分布式結(jié)構(gòu)和用戶/服務(wù)器模式演化時(shí),在兩個(gè)單元之間需要有相應(yīng)的接口連接,這種接口采用偽代碼(稱為接口定義語(yǔ)言IDL)描述。IDL提供了指定可用接口的方法,通過(guò)IDL“編譯器”產(chǎn)生的源代碼可以編譯進(jìn)每一個(gè)應(yīng)用中,另外代碼產(chǎn)生必要的支持程序來(lái)支持遠(yuǎn)程過(guò)程調(diào)用(在一個(gè)計(jì)算機(jī)內(nèi)或計(jì)算機(jī)之間),即可應(yīng)用于分布式環(huán)境。這樣,開(kāi)發(fā)者就從編寫(xiě)低級(jí)的過(guò)程間通信代碼的工作中解放出來(lái),更為重要的是,只要采用相同的IDL,不同的開(kāi)發(fā)者開(kāi)發(fā)的CORBA代碼就可以進(jìn)行互操作。顯然,這對(duì)于開(kāi)發(fā)模塊化軟件是非常重要的。在具體工作時(shí),CORBA采用接口定義語(yǔ)言(IDL)定義系統(tǒng)中對(duì)象的接口,IDL通過(guò)編譯會(huì)生成針對(duì)客戶的stub代碼和針對(duì)對(duì)象實(shí)現(xiàn)的skeleton代碼,stub和skeleton的作用是作為客戶和對(duì)象之間的代理。當(dāng)客戶請(qǐng)求對(duì)一個(gè)對(duì)象進(jìn)行操作時(shí),將工作交給ORB,由ORB決定哪個(gè)對(duì)象完成這個(gè)請(qǐng)求,激活該對(duì)象并將完成請(qǐng)求所需參數(shù)傳送給該對(duì)象,其過(guò)程如圖3-15所示。用戶(比如控制器)向兩個(gè)對(duì)象(Rake接收機(jī)和發(fā)射機(jī))請(qǐng)求了不同的操作(如增加用戶和設(shè)置導(dǎo)頻),它們分別用不同的ORB連接(ORB1、ORB2)。由于CORBA將其內(nèi)部操作細(xì)節(jié)封裝起來(lái),同時(shí)嚴(yán)格定義了接口,因此可通過(guò)代理完成客戶和對(duì)象之間的通信,客戶不需要知道每個(gè)對(duì)象的底層平臺(tái)是什么,即使語(yǔ)言以及ORB的實(shí)現(xiàn)都不同。圖3-15通過(guò)ORB實(shí)現(xiàn)通信例如,Rake接收機(jī)可以通過(guò)運(yùn)行在GPP上的一個(gè)軟件單元實(shí)現(xiàn),而發(fā)射機(jī)可以通過(guò)運(yùn)行在DSP上的另外一個(gè)軟件單元實(shí)現(xiàn)。系統(tǒng)中每個(gè)對(duì)象(比如Rake接收機(jī))有它的接口,這個(gè)接口由接口定義語(yǔ)言定義,當(dāng)客戶調(diào)用一個(gè)對(duì)象上的操作(請(qǐng)求)時(shí),它將使用IDL接口指定操作。

5.核心框架層

SCA的核心框架層如圖3-16所示。

核心框架是開(kāi)放軟件接口和描述體(Profile)的基本“核心”集,這些接口和描述體用于嵌入式通信系統(tǒng)中的軟件應(yīng)用單元進(jìn)行配置、管理、互聯(lián)以及通信。

框架是一種特殊的軟件,可以作為操作系統(tǒng)的一部分,它為軟件應(yīng)用的設(shè)計(jì)者提供了底層的軟件和硬件的抽象,它為軟件開(kāi)發(fā)帶來(lái)了高度的可重用性,這也是它稱為框架的重要原因。圖3-16SCA的核心框架層使用框架的主要目的是讓框架負(fù)責(zé)將核心應(yīng)用和第三方技術(shù)隔離開(kāi)來(lái),使當(dāng)前軟件開(kāi)發(fā)朝著協(xié)作的方向發(fā)展,可允許大量第三方軟件的使用。這樣雖然會(huì)帶來(lái)軟件開(kāi)發(fā)的繁榮,但是對(duì)于軟件組織者而言,還必須考慮第三方軟件的成本、生命周期、本組織系統(tǒng)對(duì)其依賴程度等問(wèn)題。核心框架由下面4個(gè)部分構(gòu)成,其中包含3種接口,接口由IDL語(yǔ)言定義。

(1)基于應(yīng)用接口:提供了一組通用接口,用于軟件應(yīng)用單元之間的信息交換,可以被所有應(yīng)用軟件使用。

(2)框架控制接口:提供用于軟件應(yīng)用單元開(kāi)啟、控制、關(guān)閉的接口,以及用于硬件分配和控制的接口。

(3)框架服務(wù)接口:為軟件應(yīng)用單元提供分布式文件訪問(wèn)服務(wù)和事件日志服務(wù)。

(4)域描述體文件:是一組可擴(kuò)展標(biāo)記語(yǔ)言(XML)文件,這些文件描述了系統(tǒng)的硬件和軟件成員及其特點(diǎn)、互聯(lián)關(guān)系等。

6.應(yīng)用層

應(yīng)用是指執(zhí)行一個(gè)特定的遵從SCA功能的程序,它必須滿足用戶的需求。除了應(yīng)用于OE的接口操作外,SCA沒(méi)有對(duì)其進(jìn)行其他定義。

圖3-17、3-18分別給出了兩種不同應(yīng)用的示意圖:一種是支持CORBA的應(yīng)用;另一種是非CORBA應(yīng)用。圖3-17SCA的操作應(yīng)用層圖3-18SCA的操作應(yīng)用層(非CORBA應(yīng)用)應(yīng)用層主要完成用戶的通信功能,包括通信數(shù)字信號(hào)處理、鏈路級(jí)的協(xié)議處理、網(wǎng)絡(luò)級(jí)的協(xié)議處理、網(wǎng)絡(luò)互聯(lián)的路由選擇、外部的輸入/輸出訪問(wèn)、安全性處理和嵌入式應(yīng)用。應(yīng)用層應(yīng)使用CF服務(wù)的接口,不能直接訪問(wèn)操作系統(tǒng)。網(wǎng)絡(luò)功能可以在應(yīng)用層以下實(shí)現(xiàn),像商用的IP網(wǎng)絡(luò)層就可以直接訪問(wèn)操作系統(tǒng)。對(duì)于非CORBA類型的應(yīng)用,必須使用適配器(adapter)進(jìn)行轉(zhuǎn)換。適配器也是一種資源和設(shè)備。

應(yīng)用由一個(gè)或多個(gè)資源組成。資源接口給軟件構(gòu)件的控制和配置提供公共的API。應(yīng)用的開(kāi)發(fā)者可以通過(guò)生成特定的資源接口擴(kuò)展這些定義,資源接口擴(kuò)展時(shí)至少必須繼承基本的資源接口。另外,設(shè)備(Device)與資源是一個(gè)類型,它把實(shí)際的硬件映射為軟件,便于在應(yīng)用中使用。3.4軟件下載以及軟件可重配置3.4.1軟件下載的定義軟件無(wú)線電技術(shù)最初是現(xiàn)代多模式通信系統(tǒng)的解決方案,即側(cè)重于在單一通用硬件平臺(tái)上實(shí)現(xiàn)多模式的通信。雖然軟件重配置是軟件無(wú)線電的重要特征,但是早期這種重配置在相當(dāng)程度上是靜態(tài)的,即在一次有效的通信中,通信系統(tǒng)的狀態(tài)是不變的,而且重配置后的系統(tǒng)特性也是預(yù)先內(nèi)置好的,缺乏靈活性。今天,軟件無(wú)線電更多地看做是一種可以通過(guò)軟件下載實(shí)現(xiàn)可重配置通信終端的技術(shù)。這樣的可重配置可以在設(shè)備的任何階段實(shí)現(xiàn),從設(shè)計(jì)階段到生產(chǎn)階段,乃至那些已經(jīng)被消費(fèi)者購(gòu)買的產(chǎn)品均可以實(shí)現(xiàn)可重配置,即軟件無(wú)線電研究關(guān)注的是如何設(shè)計(jì)一個(gè)開(kāi)放的體系結(jié)構(gòu),將標(biāo)準(zhǔn)化、模塊化的硬件功能單元通過(guò)軟件下載和重配置方式來(lái)實(shí)現(xiàn)各種類型的無(wú)線通信系統(tǒng)。這種需求的出現(xiàn)源于現(xiàn)代移動(dòng)通信的發(fā)展。由于現(xiàn)代移動(dòng)通信的標(biāo)準(zhǔn)其種類很多,因此對(duì)于用戶而言,在不同的網(wǎng)絡(luò)中使用不同的終端是相當(dāng)不便的,而通過(guò)軟件下載進(jìn)行重配置是實(shí)現(xiàn)一機(jī)無(wú)縫介入多種無(wú)線通信系統(tǒng)的關(guān)鍵技術(shù),這在軍用通信中也具有相當(dāng)?shù)奈?。圖3-19和圖3-20分別顯示了軟件無(wú)線電終端和基站通過(guò)軟件下載在技術(shù)升級(jí)或修補(bǔ)漏洞方面所呈現(xiàn)的巨大優(yōu)勢(shì)。圖3-19軟件下載實(shí)現(xiàn)不同空中接口標(biāo)準(zhǔn)之間的通信以及軟件缺陷修補(bǔ)圖3-20軟件下載實(shí)現(xiàn)系統(tǒng)升級(jí)軟件下載是指為軟件無(wú)線電設(shè)備提供重配置數(shù)據(jù)或者新的可執(zhí)行代碼以改變其操作或性能的過(guò)程。軟件下載和重配置技術(shù)是軟件無(wú)線電與數(shù)字無(wú)線電的主要區(qū)別,這使通信系統(tǒng)能夠快速、有效地配置成不同的通信標(biāo)準(zhǔn),可以更快速、更容易適應(yīng)新技術(shù)的發(fā)展。軟件下載可以獲得以下優(yōu)勢(shì):

(1)可以升級(jí)無(wú)線設(shè)備形成新的無(wú)線功能或業(yè)務(wù)。

(2)修補(bǔ)現(xiàn)有設(shè)備中軟件的缺陷。

(3)在空中接口標(biāo)準(zhǔn)不同的區(qū)域之間實(shí)現(xiàn)漫游通信。

軟件下載的方法有多種,例如可以通過(guò)直接連接下載,采用智能卡(SIM)下載或通過(guò)空中接口(OTA)下載。雖然通過(guò)空中接口下載具有非常大的優(yōu)勢(shì),不僅可以使下載過(guò)程變得非常簡(jiǎn)便,而且下載成本大為降低,對(duì)無(wú)線設(shè)備生產(chǎn)商、運(yùn)營(yíng)商、用戶等多方均非常有利。其實(shí),我們只需想象一下如果不采用網(wǎng)絡(luò)升級(jí),那么計(jì)算機(jī)庫(kù)會(huì)有多么麻煩。從圖3-19和3-20中可看出通過(guò)空中接口下載所顯現(xiàn)的優(yōu)勢(shì),因此該法是軟件無(wú)線電重點(diǎn)考慮的方式。3.4.2軟件下載的內(nèi)容

軟件無(wú)線電中的軟件包括兩個(gè)大類:應(yīng)用軟件和操作軟件(包括操作系統(tǒng)、中間件、驅(qū)動(dòng)程序等)。軟件下載的內(nèi)容所涵蓋的范圍很寬,從最簡(jiǎn)單的用戶應(yīng)用到空中接口的特性。如果系統(tǒng)的硬件和軟件結(jié)構(gòu)允許完全可編程,那么通過(guò)軟件下載實(shí)現(xiàn)功能改變可以分為五個(gè)層次,如圖3-21所示。圖3-21通過(guò)軟件下載實(shí)現(xiàn)功能改變的層次第一層次是用戶應(yīng)用。如電子郵件閱讀器、MP3播放器、游戲、用戶接口等,這些相應(yīng)的程序在有些地方稱為非無(wú)線電軟件,因?yàn)樗鼈儾桓淖儫o(wú)線電特性。

第二層次是協(xié)議漏洞的修補(bǔ)。在該層次可以實(shí)現(xiàn)對(duì)現(xiàn)有通信協(xié)議出現(xiàn)錯(cuò)誤的修補(bǔ)或升級(jí)。

第三層次是新的通信代碼。在該層次可以對(duì)終端的物理層到用戶接口的功能進(jìn)行改變,比如語(yǔ)音編碼的形式可以改變等,這些是在處理器上運(yùn)行的,但并沒(méi)有改變終端軟件之間的接口。

第四層次是新的空中接口。注意,這不同于原來(lái)的雙模式終端,現(xiàn)在新的空中接口標(biāo)準(zhǔn)不是終端內(nèi)已經(jīng)設(shè)置好的,而是通過(guò)某種方式下載得到的。第五層次是靈活的空中接口。這是可重配置終端的最高級(jí)形式。在這種情況下,當(dāng)通信發(fā)生時(shí),通過(guò)軟件下載對(duì)本終端空中接口參數(shù)(如調(diào)制方式、編碼類型、比特速率等)均按照實(shí)際情況重新定義。這種完全靈活的空中接口就是指在通信發(fā)生以前,空中接口的參數(shù)都是不確定的,通信雙方根據(jù)實(shí)際業(yè)務(wù)以及鏈路情況來(lái)具體商定物理層的參數(shù),比如,語(yǔ)音通信和圖像通信的要求是不同的。因此需要具體情況予以特別對(duì)待,這還可以擴(kuò)展到頻譜的利用上。這個(gè)概念和認(rèn)知無(wú)線電的概念相一致,后面將具體介紹。3.4.3軟件下載的過(guò)程

實(shí)施軟件下載的有兩個(gè)主體:一個(gè)是下載軟件的提供方,稱為軟件無(wú)線電服務(wù)器以及配套網(wǎng)絡(luò);另一個(gè)是下載軟件的接收方,即軟件無(wú)線電設(shè)備。無(wú)線電軟件的下載大體上可以分為下載前、下載期間、下載后三個(gè)階段,每個(gè)階段還可以進(jìn)一步劃分,如圖3-22所示,圖中也相應(yīng)給出了各個(gè)階段的需求和功能。圖3-22軟件下載的過(guò)程為了保障軟件無(wú)線電設(shè)備的下載重配置功能,需要有重配置管理器對(duì)無(wú)線電軟件的下載、安裝、重配置、原位檢測(cè)、恢復(fù)等過(guò)程進(jìn)行管理。這樣的重配置管理器位于軟件無(wú)線電設(shè)備中的一個(gè)安全的區(qū)域中,以保證其不會(huì)受到重配置的影響。另外,對(duì)下載服務(wù)器及其網(wǎng)絡(luò)也有特殊的要求,即它們也必須有重配置管理器的功能,可以維護(hù)當(dāng)前配置數(shù)據(jù)庫(kù),安排對(duì)軟件無(wú)線電設(shè)備的下載,能夠支持對(duì)大批設(shè)備的下載,保存并管理第三方或OEM生產(chǎn)的波形軟件,與軟件無(wú)線電設(shè)備中的重配置管理器進(jìn)行通信以協(xié)調(diào)軟件下載以及重配置的過(guò)程等。另外,軟件下載實(shí)際上是將一些數(shù)據(jù)比特從一個(gè)地方移向另一個(gè)地方的過(guò)程,這些比特的傳輸需要遵循相應(yīng)的通信協(xié)議,以保證通信的順暢。為了實(shí)現(xiàn)軟件下載,特別是通過(guò)空中接口進(jìn)行下載,實(shí)現(xiàn)標(biāo)準(zhǔn)化是必須的,可以使下載與無(wú)線電接口技術(shù)和核心網(wǎng)絡(luò)相獨(dú)立,以具有最大擴(kuò)展的可能。這意味著軟件可以采用相同的方式下載到不同的設(shè)備上。圖3-23給出了軟件下載標(biāo)準(zhǔn)化的示意圖。

幾個(gè)主要的國(guó)際組織,如軟件無(wú)線電論壇(SDRF)、對(duì)象管理組織(OMG)、第三代伙伴計(jì)劃(3GPP、3GPP2)、國(guó)際電聯(lián)(ITU)等均開(kāi)展了相應(yīng)的標(biāo)準(zhǔn)化工作。圖3-23軟件下載標(biāo)準(zhǔn)化的示意圖3.4.4軟件下載需考慮的問(wèn)題

軟件下載和重配置對(duì)軟件無(wú)線電系統(tǒng)的影響是全面的。軟件無(wú)線電系統(tǒng)的多層視圖如圖3-24所示,可以分為物理層、網(wǎng)絡(luò)層、服務(wù)層、應(yīng)用層。圖3-24軟件無(wú)線電的多層視圖軟件下載貫穿軟件無(wú)線電系統(tǒng)的各個(gè)層次,需要考慮如下問(wèn)題。

1.下載的程度

根據(jù)下載的內(nèi)容覆蓋原系統(tǒng)的程度,我們可以將下載分為部分下載和完全下載兩類。完全下載就是完全替換原系統(tǒng)代碼,這需要較大的系統(tǒng)資源,如帶寬。部分下載只是替換原系統(tǒng)的部分代碼,下載量相對(duì)較少,但各層之間的接口通常較為穩(wěn)定。

2.系統(tǒng)單元之間的通信

系統(tǒng)各層以及層內(nèi)各單元之間均是相互聯(lián)系、共同完成任務(wù)的,那么在軟件下載和重配置的過(guò)程中必須保持這種通信,無(wú)論是完全下載還是部分下載,各個(gè)單元之間必須有能力相互發(fā)現(xiàn),這也稱為綁定。

3.下載的內(nèi)容

下載的內(nèi)容可根據(jù)其執(zhí)行情況分為可執(zhí)行代碼和數(shù)據(jù)兩大類??蓤?zhí)行代碼就是可供系統(tǒng)主動(dòng)執(zhí)行功能的代碼;數(shù)據(jù)是被動(dòng)執(zhí)行的,例如系統(tǒng)所需的一些參數(shù)等。

4.安裝

當(dāng)內(nèi)容下載完畢且得到認(rèn)證后,就可以開(kāi)始安裝了。根據(jù)結(jié)構(gòu)和內(nèi)容的種類,安裝可以分為以下三類:

(1)離線安裝模式:整個(gè)通信終端離線進(jìn)行安裝,當(dāng)重新工作時(shí),終端重置進(jìn)入新?tīng)顟B(tài)工作。

(2)部分離線安裝模式:對(duì)終端暫時(shí)沒(méi)有用到的部分進(jìn)行安裝,在安裝過(guò)程中,終端的功能受限。

(3)在線安裝模式:即在工作過(guò)程中同時(shí)完成安裝。

5.對(duì)異常情況的預(yù)防

終端下載的內(nèi)容會(huì)造成一些異常情況,可能會(huì)與系統(tǒng)資源沖突,從而引起死機(jī),處理器過(guò)載,要求系統(tǒng)更大的總線流量等。這需要在系統(tǒng)設(shè)計(jì)時(shí)更多地考慮在下載重置時(shí)系統(tǒng)的完整性問(wèn)題。

6.版本管理

這個(gè)問(wèn)題在部分下載的時(shí)候是非常突出的,比如什么版本的軟件可以與之配合工作,從一個(gè)提供商獲得的軟件是否能被另一個(gè)提供商所提供的軟件替代等。

7.軟件下載的標(biāo)準(zhǔn)

在新空中接口標(biāo)準(zhǔn)上運(yùn)行的終端重配置將需要標(biāo)準(zhǔn)化協(xié)議,以用于傳輸、認(rèn)證和下載軟件。

8.軟件下載的安全保障

由于下載軟件的來(lái)源很多,既可以是原設(shè)備提供者,也可以是第三方軟件供應(yīng)商,因此軟件的安全下載對(duì)軟件無(wú)線電設(shè)備是至關(guān)重要的,其核心任務(wù)是保證惡意的軟件代碼不能被下載以及激活。安全威脅存在于軟件編寫(xiě)到軟件下載的各個(gè)階段,如軟件本身的有意或無(wú)意的漏洞等。同時(shí)還需要考慮軟件在下載、存儲(chǔ)、安裝之后,如果安全檢測(cè)失敗所需要的恢復(fù)措施。安全性需求可以歸納為以下五類:

(1)授權(quán):確認(rèn)用戶可以訪問(wèn)數(shù)據(jù)或使用網(wǎng)絡(luò)。

(2)完整性:確認(rèn)接收的數(shù)據(jù)在傳輸中沒(méi)被修改和破壞。在接收和安裝新軟件之前,軟件無(wú)線電設(shè)備需要確認(rèn)下載的數(shù)據(jù)沒(méi)有被修改。采用加密和編碼等技術(shù)驗(yàn)證信息的完整性。

(3)隱私:確保他人不能訪問(wèn)用戶的個(gè)人信息和受保護(hù)的設(shè)備制造商或軟件發(fā)行者的可執(zhí)行軟件,可以采用加密技術(shù)實(shí)現(xiàn)。

(4)認(rèn)證:指可以確認(rèn)接收原始數(shù)據(jù)的能力,確認(rèn)交易的雙方是它們本身,可以采用簡(jiǎn)單的口令方法或高級(jí)的加密技術(shù)實(shí)現(xiàn)。認(rèn)證包括身份認(rèn)證、消息來(lái)源認(rèn)證、消息內(nèi)容認(rèn)證。

(5)認(rèn)可:接收者和傳送者都肯定各自的行為,采用數(shù)字簽名或適當(dāng)?shù)膮f(xié)議方法實(shí)現(xiàn)。3.5軟件無(wú)線電可用的編程語(yǔ)言3.5.1匯編語(yǔ)言匯編語(yǔ)言是一種面向機(jī)器的低級(jí)語(yǔ)言。它依賴于硬件,能通過(guò)巧妙的程序設(shè)計(jì)充分發(fā)揮硬件的潛力。如果采用匯編語(yǔ)言實(shí)現(xiàn)軟件無(wú)線電的編程,則需要編程人員熟悉處理器的結(jié)構(gòu)。雖然采用匯編語(yǔ)言開(kāi)發(fā)處理器芯片能充分利用處理器的軟硬件資源,程序代碼的執(zhí)行效率高,有其性能方面的優(yōu)勢(shì),但是卻延長(zhǎng)了開(kāi)發(fā)周期,降低了開(kāi)發(fā)效率,而且匯編語(yǔ)言程序在可讀性、可修改性、可移植性和可重用性等方面的缺點(diǎn)日益突出,軟件需求與軟件生產(chǎn)力之間的矛盾日益嚴(yán)重。一般情況下,采用匯編語(yǔ)言編程主要用于對(duì)運(yùn)算速度以及實(shí)時(shí)性要求極高,或者在不能擴(kuò)展外部存儲(chǔ)器而且片內(nèi)存儲(chǔ)器又非常有限的條件下。3.5.2高級(jí)軟件語(yǔ)言

采用高級(jí)語(yǔ)言的目的是使程序與將要執(zhí)行指令的目標(biāo)處理器相分離,通過(guò)編譯器來(lái)決定哪一種硬件特定的指令將被執(zhí)行,這與匯編語(yǔ)言是不同的。在軟件無(wú)線電應(yīng)用中,常用的高級(jí)語(yǔ)言是C和C++。

1.C語(yǔ)言

DennisRitchie在1972年改進(jìn)了B語(yǔ)言,在一臺(tái)DECPDP-11計(jì)算機(jī)上開(kāi)發(fā)出了最早的C語(yǔ)言版本,其主要目的是開(kāi)發(fā)Unix操作系統(tǒng)。C語(yǔ)言優(yōu)秀的設(shè)計(jì)和合理的結(jié)構(gòu)使得移植C代碼變得異常容易。Kernighan和Ritchie于1978年出版的《TheCProgrammingLanuage》成為了最成功的計(jì)算機(jī)學(xué)術(shù)著作之一。很快C語(yǔ)言得到了推廣,在各種機(jī)型上都有了C的不同版本。但這也造成了很大的問(wèn)題,不同版本的C編譯器往往并不兼容,于是標(biāo)準(zhǔn)C出現(xiàn)了。1989年,美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)制定了一個(gè)C語(yǔ)言標(biāo)準(zhǔn)(ANSIC),Kernighan和Ritchi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論