SCA平臺(tái)ARM組件的設(shè)計(jì)
軟件無(wú)線電是一個(gè)無(wú)線通信系統(tǒng)(從低容量的移動(dòng)電話到高容量的多信道無(wú)線電臺(tái))。在這個(gè)系統(tǒng)中,可通過(guò)在靈活的信號(hào)處理硬件上運(yùn)行專業(yè)的軟件來(lái)實(shí)現(xiàn)專用的通信和傳輸特性。它和傳統(tǒng)依靠單一的硬件非常不同,其好處是可復(fù)用或共享單一系統(tǒng)平臺(tái)來(lái)完成多種通信目的。實(shí)際上,在底層硬件物理限制內(nèi),任何通信任務(wù)都可以通過(guò)加載軟件來(lái)實(shí)現(xiàn),包括廣泛的領(lǐng)域升級(jí)和維護(hù)。
SCA的出現(xiàn)使得軟件無(wú)線電的民用成為現(xiàn)實(shí),SCA是通信平臺(tái)組件可移植性、可交換性、互用性、軟件可重用性、體系結(jié)構(gòu)可擴(kuò)展性的一個(gè)標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)主要體現(xiàn)在以下4個(gè)方面:1)使移植費(fèi)用降到最低;2)使一個(gè)波形應(yīng)用在不同廠商的多個(gè)平臺(tái)(比如操作系統(tǒng)、硬件、主機(jī)環(huán)境)上能實(shí)現(xiàn)最大無(wú)縫移植;3)多使用和重用即插即用組件來(lái)建立波形;4)支持通信平臺(tái)體系結(jié)構(gòu)可擴(kuò)展性,這樣從手持到基站都使用同樣的體系結(jié)構(gòu)。
SCA的開(kāi)發(fā)主要包括以下3點(diǎn):1)核心框架的設(shè)計(jì),核心框架是SCA系統(tǒng)的核心,通常選用成熟的核心框架產(chǎn)品,而不是開(kāi)發(fā)新的核心框架實(shí)現(xiàn);2)設(shè)備節(jié)點(diǎn)開(kāi)發(fā)和波形應(yīng)用開(kāi)發(fā):3)系統(tǒng)集成,主要是把上兩步中的核心框架和設(shè)備節(jié)點(diǎn),波形應(yīng)用集成到一個(gè)系統(tǒng)。
1 SCA節(jié)點(diǎn)開(kāi)發(fā)
在SCA體系結(jié)構(gòu)中,Node(節(jié)點(diǎn))是指注冊(cè)在同一個(gè)Device Manager(設(shè)備管理器)上的一系列Deviee(邏輯設(shè)備),包括GPP,DSP,F(xiàn)PGA,聲卡等。一個(gè)實(shí)際的基于SCA的軟件無(wú)線電電臺(tái),是由一個(gè)或多個(gè)節(jié)點(diǎn)構(gòu)成的,每個(gè)節(jié)點(diǎn)包含一個(gè)設(shè)備管理器,管理本節(jié)點(diǎn)內(nèi)的所有設(shè)備和服務(wù),完成相應(yīng)的功能。圖1所示為SCA節(jié)點(diǎn)設(shè)計(jì)框圖。
整個(gè)軟件無(wú)線電電臺(tái)由圖1中虛線框中所示的實(shí)際硬件設(shè)備構(gòu)成,按SCA規(guī)范分為Device(如I/0設(shè)備,聲卡設(shè)備等),Loadable Device(可加載設(shè)備)和Executable Device(可執(zhí)行設(shè)備)3類。SCA節(jié)點(diǎn)運(yùn)行在Executable Device上。然后對(duì)組件進(jìn)行封裝:對(duì)每一個(gè) Device組件,都需要根據(jù)SCA體系里規(guī)定的APl完成所有的實(shí)現(xiàn),然后對(duì)文件進(jìn)行編譯,最后設(shè)計(jì)邏輯設(shè)備的各種端口(Port)以實(shí)現(xiàn)與其他組件之間的數(shù)據(jù)通信。
2 ARM組件的設(shè)計(jì)
一個(gè)設(shè)備組件的設(shè)計(jì)工作包括兩大部分:一是設(shè)備組件的API(應(yīng)用程序編程接口)實(shí)現(xiàn),二是組件的端口和屬性設(shè)計(jì)。接下來(lái)將按照這兩個(gè)方面介紹ARM組件的設(shè)計(jì)。表1給出了ARM組件端口與屬性設(shè)計(jì)。
[!--empirenews.page--]2.1 ARM組件API的實(shí)現(xiàn)
根據(jù)可執(zhí)行設(shè)備在SCA體系中的繼承關(guān)系,結(jié)合系統(tǒng)設(shè)計(jì),得到所需的設(shè)備組件API,并逐步實(shí)現(xiàn)所有的接口。然后,根據(jù)設(shè)備的功能需求以及動(dòng)態(tài)調(diào)整設(shè)備屬性等需要,完成對(duì)該設(shè)備組件的端口和屬性的設(shè)計(jì)。按照SCA標(biāo)準(zhǔn),ARM API如圖2所示。邏輯設(shè)備接口(Device)是實(shí)際硬件的邏輯設(shè)備,它需要根據(jù)SCA體系里規(guī)定的API完成所有的實(shí)現(xiàn),通過(guò)API與時(shí)間的硬件設(shè)備通信。再通過(guò)LoadDevice來(lái)加載執(zhí)行設(shè)備,ARM處理器屬于執(zhí)行設(shè)備。在設(shè)計(jì)中需要注意組件的屬性和操作,應(yīng)根據(jù)其API詳細(xì)分析,這將直接影響上層波形應(yīng)用對(duì)底層硬件的操作。
2.2 ARM組件的端口和屬性
作為SCA系統(tǒng)的一個(gè)邏輯設(shè)備,它需要有各種端口(Port以實(shí)現(xiàn)與其他組件之間的數(shù)據(jù)通信,以及各種屬性(Property),以便在系統(tǒng)運(yùn)行階段實(shí)現(xiàn)動(dòng)態(tài)調(diào)整組件乃至整個(gè)波形的功能。可執(zhí)行組件主要用于在其上運(yùn)行其他設(shè)備代理以及波形組件,它無(wú)需與其他組件進(jìn)行直接的數(shù)據(jù)通信,所以不需要為它設(shè)計(jì)輸入輸出的端口,只需要保留與SCA體系里相關(guān)服務(wù)的連接端口。
3 結(jié)論
本文給出了具有SCA功能的軟件無(wú)線電平臺(tái)中核心設(shè)備ARM處理器的設(shè)備組件設(shè)計(jì),通過(guò)對(duì)其進(jìn)行組件封裝,使得CF可以通過(guò)邏輯設(shè)備的相關(guān)API控制實(shí)際設(shè)備的行為,以完成整個(gè)系統(tǒng)預(yù)定的功能,SCA系統(tǒng)中波形應(yīng)用通過(guò)設(shè)備組件以透明的方式使用硬件設(shè)備提供的功能。當(dāng)然還有很多組件需要封裝設(shè)計(jì),如DSP,F(xiàn)PGA,聲卡等,通過(guò)這些設(shè)計(jì)可以保證無(wú)線電平臺(tái)上波形應(yīng)用實(shí)現(xiàn)在不同操作系統(tǒng)和各種調(diào)制方式間進(jìn)行移植。