當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀] 軟件無(wú)線電(Software Radio)是指用軟件定義的、能實(shí)現(xiàn)多種功能的無(wú)線電通訊系統(tǒng),其核心思想是構(gòu)造一個(gè)具有開(kāi)放性、標(biāo)準(zhǔn)化、模塊化的通用硬件平臺(tái),以將各種功能(如工作頻段、調(diào)制解調(diào)類型、數(shù)據(jù)格式、加密模式、通

 軟件無(wú)線電(Software Radio)是指用軟件定義的、能實(shí)現(xiàn)多種功能的無(wú)線電通訊系統(tǒng),其核心思想是構(gòu)造一個(gè)具有開(kāi)放性、標(biāo)準(zhǔn)化、模塊化的通用硬件平臺(tái),以將各種功能(如工作頻段、調(diào)制解調(diào)類型、數(shù)據(jù)格式、加密模式、通信協(xié)議等)用軟件來(lái)完成,從而通過(guò)加載不同的通信軟件來(lái)實(shí)現(xiàn)不同的通信模式和功能。由于功能的定義和實(shí)現(xiàn)都由軟件完成,所以可以通過(guò)配置不同的參數(shù)來(lái)支持不同電臺(tái)系統(tǒng)的互連互通,這使得軟件定義無(wú)線電具有很強(qiáng)的靈活性。

  由于軟件無(wú)線電的諸多優(yōu)點(diǎn),美軍的聯(lián)合戰(zhàn)術(shù)無(wú)線電系統(tǒng)(JTRS)計(jì)劃采用了軟件無(wú)線電的設(shè)計(jì)思想,并定義了軟件通信體系結(jié)構(gòu)(SCA)規(guī)范。目的是實(shí)現(xiàn)電臺(tái)硬件的模塊化,軟件的可移植、可重用和可互操作性。將SCA體系結(jié)構(gòu)逐漸擴(kuò)展到2 GHz以上使用時(shí),如果還在SCA的硬件體系結(jié)構(gòu)中僅僅使用通用處理器(GPP)和DSP等,將無(wú)法滿足高速數(shù)字信號(hào)處理發(fā)展的需求,因此,能更好適應(yīng)高速數(shù)字信號(hào)處理的可編程器件(FPGA)將不可避免的需要應(yīng)用到SCA的硬件平臺(tái)中。目前,F(xiàn)PGA并不支持CORBA中間件,故不能直接應(yīng)用到SCA體系結(jié)構(gòu)中。另外,由于FPGA芯片的外部輸入/輸出端口沒(méi)有像通用處理器和DSP芯片那樣從應(yīng)用程序中抽象出來(lái),當(dāng)每次應(yīng)用程序代碼移植到新的平臺(tái)時(shí),這些接口都要改變,這一點(diǎn)不利于實(shí)現(xiàn)波形應(yīng)用的可移植性。

  SCA3.0規(guī)范中提出了硬件抽象層連接(HAL-C)的概念。硬件抽象層可對(duì)具體硬件的實(shí)現(xiàn)進(jìn)行抽象,它介于硬件平臺(tái)和運(yùn)行于硬件平臺(tái)上的軟件之間。負(fù)責(zé)完成軟件設(shè)計(jì)中與硬件相關(guān)的內(nèi)容,并完成相關(guān)的接口功能,它可使軟件的設(shè)計(jì)很好地獨(dú)立于硬件,從而有效地提高軟件設(shè)計(jì)的可移植性。使得在JTRS設(shè)備的開(kāi)發(fā)過(guò)程中能實(shí)現(xiàn)應(yīng)用軟件的設(shè)計(jì)與通用硬件平臺(tái)的開(kāi)發(fā)相分離,盡可能減小硬件平臺(tái)的具體結(jié)構(gòu)對(duì)應(yīng)用軟件設(shè)計(jì)的影響。

  1硬件抽象層的基本概念及結(jié)構(gòu)

  HAL-C通過(guò)對(duì)硬件單元的對(duì)外接口進(jìn)行抽象,從而定義了一系列標(biāo)準(zhǔn)的通信應(yīng)用編程接口(API),以實(shí)現(xiàn)與外部的通信功能。這樣,當(dāng)要求與外部通信時(shí),僅需要通過(guò)對(duì)定義好的不同的API進(jìn)行調(diào)用即可,這將極大地減小硬件平臺(tái)結(jié)構(gòu)對(duì)軟件設(shè)計(jì)的影響,有效地降低對(duì)重要軟件組件接口進(jìn)行重新編寫(xiě)的可能性。

  1.1基本概念

  在硬件抽象層概念中,波形(Waveform)一般是指為了實(shí)現(xiàn)信息的無(wú)線傳輸而對(duì)信息所采取的一系列變換,一般包括無(wú)線通信雙方為實(shí)現(xiàn)傳輸而采取的所有協(xié)議;處理元件(Processing Element,PE)是指一個(gè)能夠執(zhí)行信號(hào)處理功能的硬件組件,通常GPP、DSP、FPGA、ASIC或者其它的能夠執(zhí)行信號(hào)處理功能的硬件設(shè)備都可以看作是一個(gè)處理元件;硬件抽象層組件(HAI-CComponent,HC)是完成一定處理功能的一個(gè)功能模塊,它屬于波形應(yīng)用的一個(gè)部分,通常HC是一個(gè)執(zhí)行于目標(biāo)設(shè)備上的、由波形開(kāi)發(fā)人員編寫(xiě)的軟件模塊,HC需要運(yùn)行于一個(gè)給定的PE上,且同一個(gè)PE可以運(yùn)行多個(gè)HC。

  1.2硬件抽象層基本結(jié)構(gòu)

  硬件抽象層連接時(shí),可根據(jù)不同硬件模塊的特點(diǎn)對(duì)硬件模塊進(jìn)行抽象,抽象后的硬件再對(duì)外接口。對(duì)于軟件模塊的設(shè)計(jì)者來(lái)說(shuō),只是提供收發(fā)數(shù)據(jù)的功能,那么,具體如何實(shí)現(xiàn)收發(fā)功能即不需要軟件設(shè)計(jì)者考慮。其典型的HAL-C模型如圖1所示。

[!--empirenews.page--]

  如圖1所示,組件一般用于實(shí)現(xiàn)應(yīng)用功能。這類組件由波形開(kāi)發(fā)者依據(jù)HAL-C應(yīng)用接口進(jìn)行設(shè)計(jì),而在硬件平臺(tái)上則依據(jù)PE的具體環(huán)境實(shí)現(xiàn)這些HAL-C應(yīng)用接口。由硬件平臺(tái)提供的HAL-C應(yīng)用接口可給HC提供一個(gè)底層的通信接口,這些底層API的主要目的是讓同一或者不同PE上的HC能夠通信。HC1、HC2之間的通信并不是直接進(jìn)行的,而是通過(guò)HAL-C提供的通信機(jī)制來(lái)實(shí)現(xiàn)。HC1、HC2的開(kāi)發(fā)者只需要把數(shù)據(jù)發(fā)送給HAL就可以了。具體數(shù)據(jù)如何從HC1傳輸?shù)紿C2,則是硬件抽象層要完成的工作。

  通??捎靡粋€(gè)貯存在HAL-C基層結(jié)構(gòu)的簡(jiǎn)單傳輸模塊Tx來(lái)描述數(shù)據(jù)的傳輸。有兩種類型的傳輸需要描述,一種是貯存在不同PE上的HC之間通過(guò)物理信道進(jìn)行數(shù)據(jù)和控制信號(hào)的傳輸,如圖1中HC2到HC3的數(shù)據(jù)傳輸。它可以通過(guò)不同的物理信道實(shí)現(xiàn)(如PCI,RapidIO等),物理信道可以看作是傳輸在硬件平臺(tái)上的映射;另一種傳輸是在硬件內(nèi)部進(jìn)行的傳輸,雖然組件自己可以實(shí)現(xiàn)數(shù)據(jù)的傳輸,但是若使用硬件抽象層連接來(lái)約束這種傳輸,則能提高組件的通用性。

  為了簡(jiǎn)化上面的連接模型,這里引入了end-point的概念。即一條從HC出發(fā),通過(guò)傳輸模塊的路徑被指定為一條邏輯通道。HC可使用HAL-C應(yīng)用接口來(lái)訪問(wèn)endpoint,以發(fā)送和接收數(shù)據(jù)。HAL-C基層結(jié)構(gòu)負(fù)責(zé)把數(shù)據(jù)通過(guò)邏輯信道移動(dòng)到指定的endpoint,這就可以把以前HC開(kāi)發(fā)者應(yīng)該做的工作轉(zhuǎn)移到硬件抽象層中來(lái)實(shí)現(xiàn),從而使波形開(kāi)發(fā)與硬件相關(guān)資源相分離。

  2 FPGA硬件抽象層連接接口

  SCA規(guī)范中使用了兩種類型的接口:“provides”和“uses”。其中“provides”接口用來(lái)提供服務(wù),“uses”接口用來(lái)使用這種服務(wù)。這種思想可被擴(kuò)展應(yīng)用到FPGA的組件級(jí)。也就是把一個(gè)由HAL-C基層結(jié)構(gòu)向組件提供數(shù)據(jù)的接口定義為HAL-C基層結(jié)構(gòu)的“provides”端口,然后由組件利用HAL-C基層結(jié)構(gòu)的“uses”端口給其它組件提供數(shù)據(jù)。HAL-C API希望HC通過(guò)通用接口來(lái)發(fā)送和接收數(shù)據(jù)。在FPGA上,可使用source和sink來(lái)定義SCA中的這兩種端口。這些接口通常以線路和信號(hào)的形式存在。

  2.1 source接口

  source接口用于從HC向HAL-C基層結(jié)構(gòu)傳遞數(shù)據(jù),它可根據(jù)硬件平臺(tái)的實(shí)現(xiàn)來(lái)確定信息被發(fā)送到指定的HC中。source接口應(yīng)當(dāng)實(shí)現(xiàn)的信號(hào)如下:

  clock:接口的同步時(shí)鐘,所有信號(hào)均應(yīng)與該時(shí)鐘同步;

  data:數(shù)據(jù)總線,其寬度可以是1,8,16,32,64位;

  channel:與數(shù)據(jù)傳輸相關(guān)的邏輯通道號(hào);

  length:定義數(shù)據(jù)緩沖區(qū)中要傳輸?shù)淖止?jié)數(shù),可用MAXBUFFERSIZE描述數(shù)據(jù)的最大長(zhǎng)度;

  write:傳輸數(shù)據(jù)的使能信號(hào);

  socketRequest:寬度為MAXSOURCESOCK-ETS的矢量,用于描述一個(gè)指定的邏輯信道接口正在請(qǐng)求訪問(wèn)sink的邏輯信道;

  socketReady:寬度為MAXSINKSOCKETS的矢量所包含的一個(gè)流控制信號(hào),用以應(yīng)答source接口的請(qǐng)求信號(hào)。

  source接口模塊如圖2所示。

  2.2 sink接口

  sink接口主要用于從HAL-C基層結(jié)構(gòu)接收數(shù)據(jù)并送給HC。sink接口應(yīng)當(dāng)接收source接口輸出的信號(hào),它應(yīng)當(dāng)接收大小由length信號(hào)確定的數(shù)據(jù)。socketReady表示當(dāng)sink接口從source接口接收數(shù)據(jù)時(shí)的寬度,該寬度為MAXSINKSOCKETS的矢量所包含的一個(gè)流控制信號(hào),是為source端口應(yīng)答的信號(hào)。

  圖3所示為sink接口模塊圖。

  2.3 source和sink的典型應(yīng)用模型

  FPGA是硬件可編程設(shè)備,F(xiàn)PGA的內(nèi)部功能模塊可通過(guò)直接線路或總線相互連接。這意味著一個(gè)包含多個(gè)功能模塊的FPGA內(nèi)部體系可以被分解成分散的子模塊,這些子模塊可通過(guò)外部連接機(jī)制相互連接。圖4所示是FPGA內(nèi)部使用sink和source的典型模塊圖。

[!--empirenews.page--]

  在FPGA上運(yùn)行的波形組件,在設(shè)計(jì)時(shí)只需要按照HAL-C所定義好的格式設(shè)計(jì)好波形組件與HAL-C的交互即可。數(shù)據(jù)與其他模塊間交互的具體過(guò)程可交給HAL-C去完成,即將與具體接口相關(guān)的工作交由HAL-C去完成。也就是說(shuō),在進(jìn)行軟件設(shè)計(jì)時(shí)不需要關(guān)心底層硬件模塊能為軟件設(shè)計(jì)提供怎樣的具體端口形式,而只要硬件抽象層模塊能夠滿足軟件模塊設(shè)計(jì)所需的數(shù)據(jù)傳輸速率就行。

  3  在硬件平臺(tái)上實(shí)現(xiàn)HAL-C應(yīng)用

  為實(shí)現(xiàn)SCA規(guī)范下的數(shù)字信號(hào)處理功能,可以設(shè)計(jì)一個(gè)通用硬件平臺(tái),其結(jié)構(gòu)如圖5所示。該方案以FPGA、DSP為信號(hào)處理平臺(tái)的算法核心,以CPLD為結(jié)構(gòu)的控制核心,從而構(gòu)造一個(gè)具有通用性、可擴(kuò)充、易升級(jí)的多功能信號(hào)處理平臺(tái)。

  本設(shè)計(jì)中的FPGA采用Xilinx公司Virtex 5系列的2200萬(wàn)門(mén)器件XC5VLX220-1FF1760I以及500萬(wàn)門(mén)器件XC5VSX95T-lFF1136I。DSP選用TI公司的TMS320C6416T,該DSP具有的豐富的集成外設(shè),可適應(yīng)各種不同的應(yīng)用需求。通用FLASH采用Spansion公司的S29GL512N10TAI高密度NOR型FLASH。S9GL512N的容量高達(dá)512Mbit,可以存儲(chǔ)多個(gè)版本的DSP和FPGA程序。NOR型FLASH的讀操作時(shí)序和EEPROM相同,讀/寫(xiě)操作最短周期為100ns,可以直接用于DSP的BOOT引導(dǎo)。TMS320C6416T與CPLD配合,可以控制FPGA配置文件的下載過(guò)程。FPGA芯片通過(guò)高速并行接口可與AD和DA直接相連,以進(jìn)行高速的數(shù)字處理。DSP芯片可通過(guò)EMIFA(外部存儲(chǔ)器接口)接口與FPGA進(jìn)行通信。

  在實(shí)際應(yīng)用中,平臺(tái)需以多模式的方式工作,并應(yīng)根據(jù)需要實(shí)時(shí)更新功能程序。因此,用戶可在FLASH芯片中劃分區(qū)域,以將多種功能程序分別存儲(chǔ)在不同區(qū)域,并確定區(qū)域首地址。系統(tǒng)上電復(fù)位后,DSP和FLASH芯片先完成初始化,之后DSP會(huì)按照默認(rèn)方式訪問(wèn)默認(rèn)首地址并加載默認(rèn)DSP和FPGA功能程序,以便系統(tǒng)工作在默認(rèn)模式下;當(dāng)需要更新模式時(shí),主控設(shè)備先發(fā)送指令,DSP檢測(cè)到指令后,DSP便按照指令要求查到對(duì)應(yīng)首地址,并從新功能的首地址開(kāi)始為DSP和FPGA加載新的功能程序,系統(tǒng)即工作在新模式下。如此便可在同一個(gè)硬件平臺(tái)上,通過(guò)動(dòng)態(tài)調(diào)用不同的軟件程序來(lái)實(shí)現(xiàn)多功能、多模式的工作。

  利用此硬件平臺(tái)還可實(shí)現(xiàn)MSK數(shù)字調(diào)制解調(diào)功能。FPGA的硬件抽象層的實(shí)現(xiàn)可將FPGA與外部接口在FPGA內(nèi),用一個(gè)專用的小模塊來(lái)實(shí)現(xiàn)對(duì)外交互,并在這個(gè)特定模塊里定義好HC與外部交互的接口形式(如數(shù)據(jù)總線,相關(guān)的時(shí)鐘信號(hào)、控制信號(hào)等)。然后根據(jù)功能需要在FPGA內(nèi)為AD、DA、DSP、CPLD以及互連的FPGA抽象出獨(dú)立的標(biāo)準(zhǔn)通信接口模塊ADHAL、DAHAL、DSPHAL、CPLDHAL和FPGAHAL,另外,還需要設(shè)計(jì)MSK調(diào)制和解調(diào)的HC模塊,其中調(diào)制部分包括DDS和數(shù)字正交上變頻兩個(gè)子模塊。數(shù)字正交上變頻可采用AD9779來(lái)實(shí)現(xiàn)。解調(diào)部分主要包括數(shù)字正交下變頻、基帶解調(diào)、中值濾波和位同步四個(gè)子模塊。這些HC模塊均為獨(dú)立的文件,而且各個(gè)模塊的參數(shù)均可配置。這樣便可利用上述編制好的文件來(lái)實(shí)現(xiàn)MSK調(diào)制解調(diào)功能。事實(shí)上,只需要在一個(gè)工程中把用到的文件包含進(jìn)來(lái),并在頂層文件中實(shí)例化各個(gè)模塊,同時(shí)根據(jù)實(shí)際硬件連接約束FPGA的引腳,最后通過(guò)綜合實(shí)現(xiàn)并生成FPGA配置文件,再用DSP和CPLD來(lái)完成配置,即可實(shí)現(xiàn)如圖6所示的FPGA內(nèi)部抽象層。也可以通過(guò)主機(jī)動(dòng)態(tài)配置各個(gè)模塊的參數(shù)以及連接關(guān)系,以實(shí)現(xiàn)不同頻段的調(diào)制和解調(diào)。如果要完成其它方式的數(shù)字調(diào)制解調(diào),只需要把MSK調(diào)制和解調(diào)的HC模塊替換為其他數(shù)字調(diào)制解調(diào)算法,并通過(guò)主機(jī)發(fā)送指令重新對(duì)FPGA進(jìn)行配置即可。這樣就可提高軟件模塊的可移植性、可重用和可互操作性。

  4結(jié)束語(yǔ)

  通過(guò)HAL-C提供的平臺(tái),不但可使波形應(yīng)用開(kāi)發(fā)者從底層硬件的細(xì)節(jié)處理中脫離出來(lái),專注實(shí)現(xiàn)組件的算法功能,而且,基于FPGA硬件抽象層連接設(shè)計(jì)的軟件,還具有很好的可移植性,因而能有效縮短系統(tǒng)開(kāi)發(fā)周期,提高系統(tǒng)開(kāi)發(fā)效率。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉