999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SCA的軟件無(wú)線電在FPGA上設(shè)計(jì)與實(shí)現(xiàn)

2011-04-12 00:00:00高宏偉吳宇施峻武鄒黎華
現(xiàn)代電子技術(shù) 2011年19期

摘 要:在分析現(xiàn)有基于SCA的軟件無(wú)線電在FPGA上實(shí)現(xiàn)方案優(yōu)缺點(diǎn)的基礎(chǔ)上,提出了一種基于FPGA的CORBA通信系統(tǒng)設(shè)計(jì)方案,有效克服了原有實(shí)現(xiàn)方案的缺點(diǎn),不但為FPGA上的波形組件提供了良好的可重用性、可移植性和動(dòng)態(tài)部分重配置的支持,而且還有效提高了FPGA硬件資源的使用效率,降低了通用處理器的工作負(fù)擔(dān)。最后,針對(duì)該設(shè)計(jì)方案搭建了硬件平臺(tái),并給出了系統(tǒng)的性能測(cè)試結(jié)果,測(cè)試結(jié)果表明此設(shè)計(jì)方案是行之有效的。

關(guān)鍵詞:軟件通信體系架構(gòu); 軟件無(wú)線電; 對(duì)象請(qǐng)求代理; GIOP; FPGA

中圖分類號(hào):

TN92-34

文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1004-373X(2011)19

-0103

-05

Design and Implementation of SCA-based SDR on FPGA

GAO Hong-wei1,2, WU Yu1, SHI Jun-wu1, ZOU Li-hua2

(1. School of Electronic Science and Engineering, National University of Defense Technology, Changsha 410073, China;

2. PLA Unit of 91604, Longkou 265700, China)

Abstract: A design scheme of CORBA communication system based on FPGA is presented through analyzing advantages and disadvantages of SCA-based SDR implemented on FPGA. Comparing with the existing scheme, this scheme with several advantages such as reusability, transportability and reconfiguration of dynamic part, which has improved availability of hardware resource of FPGA and reduced the operation of GPP(general purpose processor). Finally, a hardware platform is built based on the system scheme. The performance test results show that the design can work well in use.

Keywords: software communication architecture; software defined radio; object request broker; general inter-ORB protocol; FPGA

收稿日期:2011-05-10

0 引 言

自1992年Jeo Mitola中提出了軟件無(wú)線電(Software Defined Radio,SDR)的概念[1]以來(lái),有許多公司和團(tuán)體致力于SDR的研究和開發(fā),并取得了一定成果。但由于沒有統(tǒng)一的標(biāo)準(zhǔn),各研發(fā)單位采用各自不同的解決方案和實(shí)現(xiàn)架構(gòu),從而導(dǎo)致了不同制造商的SDR波形組件相互不兼容,難以實(shí)現(xiàn)互連、互通、互操作,不能進(jìn)行有效的協(xié)同工作,而且也不容易實(shí)現(xiàn)重配置[2]。為了解決這些問題,美軍JTRS(Joint Tactical Radio System)JPEO(Joint Program Executive Office)制定了軟件通信體系架構(gòu)(Software Communication Architecture,SCA)規(guī)范,用以實(shí)現(xiàn)不同波形組件間的可移植性,以降低開發(fā)費(fèi)用、縮短開發(fā)時(shí)間[3]。SCA基于POSIX、CORBA(Common Object Request Broker Architecture)和面向?qū)ο蟮燃夹g(shù),提高了SDR的互操作性以及波形組件的可移植性和可重用性,并獲得了GPP(General Purpose Processor)的良好支持,使基于SCA的SDR在GPP上能夠很好地實(shí)現(xiàn)。

隨著對(duì)無(wú)線通信帶寬、速率等提出的更高要求, GPP受工作方式、處理能力的限制,難以滿足這些要求,這就需要FPGA(Field Programmable Gate Array)的加入來(lái)實(shí)現(xiàn)波形組件的并行處理和高速運(yùn)算等功能。雖然SCA為GPP上的波形組件提供了很好的可移植性和可重用性,但目前還沒有一個(gè)標(biāo)準(zhǔn)能夠?yàn)镕PGA上的波形組件提供這種支持。為了實(shí)現(xiàn)FPGA上波形組件的可移植性和可重用性,一些方案是在GPP上實(shí)現(xiàn)FPGA上波形組件的代理,其中比較典型的是JTRS JPEO提出的MHAL(Modem Hardware Abstraction Layer)[4],同時(shí),也有部分公司或團(tuán)體提出了直接在FPGA上實(shí)現(xiàn)CORBA的方案。本文將在分析MHAL和現(xiàn)存的CORBA方案優(yōu)缺點(diǎn)的基礎(chǔ)上,提出一種在FPGA上實(shí)現(xiàn)CORBA的改進(jìn)設(shè)計(jì)方案,并對(duì)該方案進(jìn)行了測(cè)試驗(yàn)證。

1 技術(shù)介紹

1.1 CORBA簡(jiǎn)介

CORBA中間件標(biāo)準(zhǔn)是SCA必需的中間件層,它為SDR系統(tǒng)提供所需的通信架構(gòu)。CORBA位于應(yīng)用程序和操作系統(tǒng)之間,屏蔽了不同平臺(tái)、操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議等的差別,為開發(fā)者提供了一致的調(diào)用模式。通過CORBA,應(yīng)用組件可以獲得良好的可移植性、可重用性和互操作性。

ORB(Object Request Broker)是CORBA的核心,其任務(wù)是幫助客戶調(diào)用對(duì)象上的方法,包括:定位對(duì)象、激活對(duì)象、把客戶的請(qǐng)求傳遞給對(duì)象。ORB能夠屏蔽與底層平臺(tái)有關(guān)的細(xì)節(jié),保證了信息在分布式環(huán)境中不同平臺(tái)上的應(yīng)用組件間透明地傳輸。為了使由不同開發(fā)者開發(fā)的實(shí)現(xiàn)之間能相互通信,CORBA規(guī)范定義了GIOP(General Inter-ORB Protocol)協(xié)議標(biāo)準(zhǔn),能夠在任何具有連接的傳輸層上實(shí)現(xiàn)[5-6]。

1.2 SCA簡(jiǎn)介

SCA是美軍在JTRS中制定的軟件通信架構(gòu)標(biāo)準(zhǔn),是JTRS的主干。SCA通過面向?qū)ο蠓椒▌澐周浖?硬件結(jié)構(gòu),建立了開放的系統(tǒng)標(biāo)準(zhǔn),提供了與具體實(shí)現(xiàn)無(wú)關(guān)的軟件無(wú)線電開發(fā)框架,保證了軟、硬件的可移植、可重構(gòu)及設(shè)備的互操作性。SCA規(guī)范包含軟件體系結(jié)構(gòu)定義、硬件體系結(jié)構(gòu)定義、安全體系結(jié)構(gòu)定義和應(yīng)用程序接口(API)四部分[7]。

通過SCA所定義的分布式構(gòu)件規(guī)范,可將應(yīng)用與操作環(huán)境分離,同時(shí)使應(yīng)用功能模塊化,并為管理和使用軟件構(gòu)件定義了通用接口,通用業(yè)務(wù)和API以支持軟/硬件模塊移植。

2 現(xiàn)有實(shí)現(xiàn)方案分析

GPP處理器受其處理能力的限制,無(wú)法滿足當(dāng)前通信業(yè)務(wù)需求,使通信設(shè)備越來(lái)越多地依靠DSP(Digital Signal Processor)、FPGA等專用處理器來(lái)完成高速的數(shù)據(jù)處理任務(wù),這就使SDR系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)必須面對(duì)由GPP,DSP和FPGA共同組成的多處理器平臺(tái)。雖然通過使用CORBA中間件技術(shù)可以很容易地實(shí)現(xiàn)分布式波形應(yīng)用,但由于CORBA標(biāo)準(zhǔn)是針對(duì)GPP的,在DSP,F(xiàn)PGA等處理器上沒有相應(yīng)的標(biāo)準(zhǔn)可用。這導(dǎo)致SCA/SDR的研究焦點(diǎn)分別集中在應(yīng)用程序接口(API)和商用中間件上[8],使SCA/SDR的設(shè)計(jì)和實(shí)現(xiàn)出現(xiàn)了兩種主要模式:使用使用硬件抽象層(如MHAL)和使用分布式中間件技術(shù)(如CORBA)。

2.1 使用MHAL方式實(shí)現(xiàn)的SCA/SDR系統(tǒng)

MHAL是JTRS JPEO提出的一種基于硬件抽象層的解決方案。其實(shí)現(xiàn)方法是通過在核心框架與FPGA之間加入代理,并明確規(guī)范代理與FPGA之間的數(shù)據(jù)格式來(lái)實(shí)現(xiàn)FPGA在SCA中的應(yīng)用的。圖1是以MHAL方式實(shí)現(xiàn)的分布式SCA/SDR系統(tǒng)布局結(jié)構(gòu)示意圖。這種方式下,GPP需要為FPGA上的每個(gè)波形組件實(shí)現(xiàn)一個(gè)代理,以實(shí)現(xiàn)分布式波形組件間的通信。通過使用代理,系統(tǒng)可以將FPGA上的波形組件當(dāng)作GPP上的波形組件一樣處理,這樣就可以實(shí)現(xiàn)對(duì)FPGA上波形組件的靈活、高效的管理和使用。

圖1 基于MHAL的系統(tǒng)實(shí)現(xiàn)布局圖

在FPGA上實(shí)現(xiàn)的MHAL波形組件并通過接收帶參數(shù)的操作來(lái)調(diào)用波形組件所實(shí)現(xiàn)的功能,雖然這樣的實(shí)現(xiàn)方式對(duì)于FPGA開發(fā)人員而言,可以減小編寫波形組代碼的難度,但對(duì)于GPP開發(fā)人員來(lái)說(shuō),卻要在GPP上為每個(gè)FPGA上的波形組件實(shí)現(xiàn)一個(gè)組件代理,大大增加了開發(fā)的負(fù)擔(dān)。而且這這種實(shí)現(xiàn)方式也必然會(huì)相應(yīng)地增加GPP的運(yùn)行負(fù)擔(dān)以及內(nèi)存資源占用,同時(shí),在進(jìn)行GPP上的波形組件與FPGA上的波形組件間通信時(shí),必須要經(jīng)過組件代理的處理,實(shí)現(xiàn)GIOP報(bào)文與MHAL報(bào)文格式的轉(zhuǎn)換,這也就必然會(huì)給整個(gè)通信過程引入一定的延遲的增加、吞吐量的降低和低層次的重用。

而且,在以MHAL方式實(shí)現(xiàn)的SCA/SDR系統(tǒng)中,開發(fā)者需要在GPP上設(shè)計(jì)實(shí)現(xiàn)適配器來(lái)完成GIOP報(bào)文和MHAL報(bào)文的轉(zhuǎn)換,以便使用CORBA機(jī)制的波形組件和使用MHAL機(jī)制的波形組件間的通信。但對(duì)于適配器的實(shí)現(xiàn),目前還沒有統(tǒng)一的標(biāo)準(zhǔn),而且,MHAL也不是一個(gè)針對(duì)通用市場(chǎng)的可用標(biāo)準(zhǔn),它受到ITARS(International Traffic in Arms Regulations)限制,其實(shí)現(xiàn)細(xì)節(jié)并不公開,且MHAL報(bào)文結(jié)構(gòu)的細(xì)節(jié)并不足以完成波形組件的實(shí)際需要,從而必然會(huì)導(dǎo)致不同的MHAL實(shí)現(xiàn)方式,且彼此間相互不兼容,這也必然會(huì)破壞MHAL波形組件的可移植性和可重用性。

2.2 使用CORBA方式實(shí)現(xiàn)的SCA/SDR系統(tǒng)

由于GPP上的波形組件是使用CORBA實(shí)現(xiàn)的,所以只要將CORBA擴(kuò)展到DSP和FPGA上,就能夠很容易地實(shí)現(xiàn)布署在各種類型處理器上的波形組件間的通信。圖2是以CORBA方式實(shí)現(xiàn)的分布式SCA/SDR系統(tǒng)布局結(jié)構(gòu)示意圖。在以CORBA方式實(shí)現(xiàn)的SCA/SDR系統(tǒng)中,GPP保持原有狀態(tài)即可,而DSP和FPGA上的ORB負(fù)責(zé)完成CORBA報(bào)文的處理。這使系統(tǒng)中所有波形組件使用CORBA中間件進(jìn)行通信,而不需要在GPP上實(shí)現(xiàn)代理,不僅減輕了GPP的運(yùn)行負(fù)擔(dān)以及內(nèi)存資源占用,而且系統(tǒng)中波形組件間的通信不再需要通過代理的轉(zhuǎn)換,從而也就降低了通信時(shí)延,提高了通信效率。

圖2 基于CORBA的系統(tǒng)實(shí)現(xiàn)布局圖

同時(shí),CORBA為不同類型的處理器提供統(tǒng)一的通信架構(gòu),使任何組件都能夠以簡(jiǎn)單的函數(shù)調(diào)用方式獲得分布于系統(tǒng)中的其他組件的服務(wù)。軟件客戶端和硬件服務(wù)程序之間由此變得連接無(wú)縫、快速并且使用較少的系統(tǒng)資源。與MHAL實(shí)現(xiàn)方式相比,該架構(gòu)提供了波形組件的移動(dòng)性和位置透明性,使得在同一處理器與在遠(yuǎn)程處理器中調(diào)用對(duì)象相比沒有什么差別,使設(shè)計(jì)人員可以很容易地將波形組件從一個(gè)處理器中轉(zhuǎn)移到另一個(gè)處理器中。這意味著,設(shè)計(jì)人員一開始可以在他們的工作站上構(gòu)建SDR,然后很容易地將部件一塊塊轉(zhuǎn)移到GPP、DSP和FPGA上,來(lái)優(yōu)化系統(tǒng)總性能。

雖然使用CORBA方式實(shí)現(xiàn)的SCA/SDR既保持SCA的兼容性,又減小了傳輸負(fù)載,而且,開發(fā)者也無(wú)需開發(fā)通用GPP上的定制代理。但由于FPGA的設(shè)計(jì)實(shí)現(xiàn)方式與GPP完全不同,其編程主要集中于底層硬件,往往同特定的可編程資源緊密聯(lián)系在一起,而且FPGA不能提供等效的操作系統(tǒng)中虛擬地址等機(jī)制,從而使FPGA上CORBA功能的實(shí)現(xiàn)比較困難。目前為止,在FPGA上實(shí)現(xiàn)ORB的主要的方案有以下兩種:

(1) Prismtech公司開發(fā)了一款集成電路ORB(ICO)產(chǎn)品[9],該產(chǎn)品提供了一個(gè)使用VHDL語(yǔ)言編寫的ORB模塊,能夠運(yùn)行于Xilinx,Altera等公司的多款FPGA上。整個(gè)產(chǎn)品包括ORB引擎、IDL-to-VHDL代碼產(chǎn)生器和SCA應(yīng)用組件等幾個(gè)部分。ORB引擎負(fù)責(zé)GIOP報(bào)文的解析和封裝,對(duì)于到達(dá)的GIOP請(qǐng)求報(bào)文,ORB引擎對(duì)報(bào)文中的對(duì)象鍵值、操作名稱、參數(shù)等信息進(jìn)行解析,然后將數(shù)據(jù)傳遞給特定的FPGA邏輯模塊進(jìn)行處理;如果處理結(jié)果需要向外部發(fā)送,則ORB引擎根據(jù)預(yù)先獲得的一些信息,將結(jié)果封裝為GIOP請(qǐng)求報(bào)文或應(yīng)答報(bào)文,并通過網(wǎng)絡(luò)進(jìn)行傳輸。

盡管ICO實(shí)現(xiàn)了FPGA程序與分布式系統(tǒng)的直接ORB通信,但由于其ORB引擎的實(shí)現(xiàn)代碼是由IDL-to-VHDL代碼生成器根據(jù)特定的應(yīng)用生成的,這就使其ORB引擎的實(shí)現(xiàn)邏輯與特定的FPGA應(yīng)用程序密切相關(guān),從而也就導(dǎo)致了ORB的引擎不具備通用性。一旦FPGA的應(yīng)用程序做了修改,原有的ORB引擎往往無(wú)法對(duì)新應(yīng)用程序的GIOP報(bào)文進(jìn)行正確的解析和封裝,此時(shí)必須再次使用IDL-to-VHDL代碼生成器重新生成新的邏輯。目前有很多FPGA在硬件上已經(jīng)具備了部分重配置功能,而且有一部分分布式應(yīng)用,也需要實(shí)現(xiàn)FPGA的動(dòng)態(tài)部分重配置,這就需要在動(dòng)態(tài)改變FPGA部分邏輯功能的同時(shí),依然保持ORB引擎和其他FPGA模塊的正常工作,但I(xiàn)CO與FPGA應(yīng)用程序的緊密相關(guān)性使這一功能無(wú)法實(shí)現(xiàn)。

(2) OIS公司在一項(xiàng)專利[10]中提出了一種新的基于FPGA的CORBA實(shí)現(xiàn)方法。該方法是將ICO的ORB引擎的分為4個(gè)功能模塊,包括ORB接收模塊、ORB發(fā)送模塊、接收操作適配器和發(fā)送操作適配器。其中ORB接收模塊和ORB發(fā)送模塊僅負(fù)責(zé)解析和封裝GIOP的報(bào)文頭信息,而接收操作適配器和發(fā)送操作適配器負(fù)責(zé)解析和封裝與每個(gè)應(yīng)用模塊相關(guān)的操作名稱和參數(shù)。這樣,每個(gè)應(yīng)用模塊都有自己專屬的處理操作名稱和參數(shù)的處理單元,從而保證了FPGA上應(yīng)用模塊的靈活性和通用性,也可以滿足部分重配置的需求。

然而,由于在OIS公司的專利中所提出的解決方案中,必須為每個(gè)應(yīng)用模塊都實(shí)現(xiàn)一個(gè)接收操作適配器和一個(gè)發(fā)送操作適配器,由此導(dǎo)致應(yīng)用模塊的實(shí)現(xiàn)十分復(fù)雜,必然會(huì)給應(yīng)用模塊的開發(fā)人員帶來(lái)一定的負(fù)擔(dān);同時(shí),F(xiàn)PGA內(nèi)部各應(yīng)用模塊之間的信息傳遞必須經(jīng)過發(fā)送操作適配器和接收發(fā)送操作適配器的處理,這對(duì)于FPGA內(nèi)部乃至FPGA之間高速數(shù)據(jù)傳輸?shù)囊箫@然是不恰當(dāng)?shù)?;而且,?dāng)一塊FPGA中運(yùn)行的應(yīng)用模塊數(shù)量較多時(shí),也必然要有大量的計(jì)算資源和存儲(chǔ)資源被處理操作名稱和參數(shù)的邏輯所占用,無(wú)法實(shí)現(xiàn)硬件資源的有效利用,甚至造成資源的浪費(fèi),這也是實(shí)際應(yīng)用中無(wú)法接受的。

3 改進(jìn)的設(shè)計(jì)方案

以上分析表明現(xiàn)存的種實(shí)現(xiàn)方案都不夠理想,有必要設(shè)計(jì)一種新都實(shí)現(xiàn)機(jī)制來(lái)改善當(dāng)前的設(shè)計(jì)。

根據(jù)實(shí)際應(yīng)用中通信系統(tǒng)的需求,結(jié)合上述分析的幾種實(shí)現(xiàn)方案的優(yōu)缺點(diǎn),在兼顧系統(tǒng)的資源利用率、應(yīng)用組件的易開發(fā)性、通用性、靈活性等各方面的性能,在現(xiàn)有設(shè)計(jì)方案對(duì)基礎(chǔ)上,對(duì)FPGA上的ORB實(shí)現(xiàn)方案進(jìn)行了改進(jìn),改進(jìn)后的設(shè)計(jì)方案實(shí)現(xiàn)結(jié)構(gòu)如圖3所示。

圖3 系統(tǒng)實(shí)現(xiàn)結(jié)構(gòu)

在實(shí)際應(yīng)用中,實(shí)現(xiàn)各種波形的應(yīng)用模塊一般需要支持初始化、參數(shù)配置、參數(shù)查詢、建立連接、斷開連接、啟動(dòng)、停止、數(shù)據(jù)傳遞等操作功能,所以在改進(jìn)后的方案中,根據(jù)應(yīng)用模塊的實(shí)際需要抽象出一組與上述操作相對(duì)應(yīng)的操作名稱:initialize,configure,query,connectPort,disconnectPort,start,stop,pushPacket等,可稱之為公有操作。公有操作名稱的識(shí)別和處理由ORB主適配器完成。另外,對(duì)那些只是個(gè)別應(yīng)用模塊所實(shí)現(xiàn)的操作,可稱之為私有操作,其識(shí)別和處理則由應(yīng)用模塊的ORB輔助適配器完成。各模塊發(fā)所實(shí)現(xiàn)的功能如下:

ORB主適配器(ORB Mian Adapter)實(shí)現(xiàn)的功能包括兩個(gè)方面:一是解析接收到的GIOP報(bào)文信息,從接收到到報(bào)文信息中抽取出GIOP報(bào)文頭和數(shù)據(jù)域,丟棄填充域。在該過程中,ORB主適配器需要基于GIOP報(bào)文頭信息所提供的協(xié)議版本和數(shù)據(jù)大小端標(biāo)志完成報(bào)文格式的識(shí)別和數(shù)據(jù)的大小端轉(zhuǎn)換。需要注意的是GIOP報(bào)文中的ObjecKey和Operation Name段均是變長(zhǎng)的信息,為了便于后續(xù)處理,需要在ORB主適配器的處理過程中將它們轉(zhuǎn)換為固定的編碼,其中ObjectKey轉(zhuǎn)換為用于標(biāo)識(shí)應(yīng)用模塊的地址編碼,而Operation Name則轉(zhuǎn)換為與之對(duì)應(yīng)的控制信息;二是封裝需要發(fā)送到GIOP報(bào)文信息,負(fù)責(zé)從應(yīng)用模塊的數(shù)據(jù)總線和控制總線接收數(shù)據(jù)與控制信息,然后加上GIOP報(bào)文頭,將控制信息轉(zhuǎn)換為相應(yīng)的操作名稱,填充對(duì)齊數(shù)據(jù)等完成GIOP報(bào)文信息封裝,之后通過FIFO等類似的接口將數(shù)據(jù)傳送出去。

交叉開關(guān)(Crossbar Switch)實(shí)現(xiàn)的功能是根據(jù)接收到的地址編碼完成控制信息和數(shù)據(jù)的轉(zhuǎn)發(fā)。

ORB輔助適配器(ORB Assistant Adapter)實(shí)現(xiàn)的功能與ORB主適配器類似,也包括兩個(gè)方面:一是接收來(lái)自交叉開關(guān)的控制信息,若調(diào)用調(diào)用的是應(yīng)用模塊的私有操作,則將此操作名稱轉(zhuǎn)換為相應(yīng)的操作編碼后發(fā)送給給交叉開關(guān),否則,直接將控制信息轉(zhuǎn)發(fā)給應(yīng)用模塊;二是接收來(lái)自應(yīng)用模塊的控制信息,當(dāng)應(yīng)用模塊調(diào)用私有操作時(shí),則將操作編碼轉(zhuǎn)換為相應(yīng)的私有操作名稱后發(fā)送給給交叉開關(guān),否則,直接將控制信息轉(zhuǎn)發(fā)給交叉開關(guān)。

應(yīng)用模塊(Application Module)根據(jù)控制信息完成對(duì)數(shù)據(jù)的處理,給出處理結(jié)果。

圖4為CORBA請(qǐng)求報(bào)文的接收處理流程。

圖4 CORBA請(qǐng)求報(bào)文的接收處理流程

在根據(jù)改進(jìn)后設(shè)計(jì)方案所實(shí)現(xiàn)的系統(tǒng)中,GPP上的應(yīng)用將保持原有狀態(tài),不會(huì)引入任何額外的處理負(fù)擔(dān)和處理延遲。FPGA上由ORB主適配器統(tǒng)一完成各個(gè)應(yīng)用模塊的公有操作,在減小FPGA硬件資源的浪費(fèi)的同時(shí)也減輕了應(yīng)用模塊開發(fā)的負(fù)擔(dān)。應(yīng)用模塊預(yù)留有私有操作處理接口,可對(duì)其實(shí)現(xiàn)的私有操作進(jìn)行擴(kuò)展,從而也保證了應(yīng)用模塊的靈活性和動(dòng)態(tài)部分重配置功能的實(shí)現(xiàn);而且,F(xiàn)PGA上各應(yīng)用模塊間的數(shù)據(jù)傳遞不需要額外的處理,也滿足了高速處理的要求。

4 方案實(shí)現(xiàn)與測(cè)試驗(yàn)證

為了驗(yàn)證改進(jìn)后設(shè)計(jì)方案的可行性和合理性,在圖5所示的硬件平臺(tái)上對(duì)該方案進(jìn)行了實(shí)現(xiàn)和性能測(cè)試。其中PC計(jì)算機(jī)用作為數(shù)據(jù)源和接收終端,實(shí)現(xiàn)視頻和測(cè)試數(shù)據(jù)產(chǎn)生并接收顯示視頻和校對(duì)測(cè)試數(shù)據(jù);ARM上運(yùn)行VxWorks 5.5操作系統(tǒng),使用TAO來(lái)提供CORBA功能,實(shí)現(xiàn)CORBA報(bào)文的封裝和解析;FPGA運(yùn)行根據(jù)前面所描述的改進(jìn)方案所實(shí)現(xiàn)的ORB,完成CORBA報(bào)文數(shù)據(jù)的解析、處理和封裝。測(cè)試過程中,首先由PC計(jì)算機(jī)產(chǎn)生視頻或測(cè)試數(shù)據(jù),并通過Ethernet傳送給ARM處理器,ARM處理器上運(yùn)行的應(yīng)用程序?qū)⑵浞庋b成CORBA報(bào)文后發(fā)送給FPGA,F(xiàn)PGA接收到CORBA報(bào)文后對(duì)其進(jìn)行解析,并對(duì)凈荷數(shù)據(jù)進(jìn)行處理后重新封裝為CORBA報(bào)文后再發(fā)送給ARM處理器,ARM接收到FPGA發(fā)送到CORBA報(bào)文后對(duì)其進(jìn)行解析處理后將數(shù)據(jù)發(fā)送給PC計(jì)算機(jī),最終由PC計(jì)算機(jī)對(duì)接收到到數(shù)據(jù)進(jìn)行視頻解碼顯示或校對(duì)檢測(cè)。

圖5 測(cè)試平臺(tái)硬件組成結(jié)構(gòu)圖

驗(yàn)證過程中先后在FPGA上實(shí)現(xiàn)了波形組件間的建立連接操作(connectPort)、數(shù)據(jù)傳遞(pushPacket),波形組件參數(shù)配置(configure)和波形組件參數(shù)查詢(query)四個(gè)操作,并在波形組件到參數(shù)設(shè)置和查詢操作中完成short,float,double,string等類型的支持。通過測(cè)試,系統(tǒng)所實(shí)現(xiàn)的各種功能均符合設(shè)計(jì)需要。此外,還分別實(shí)現(xiàn)建立連接、數(shù)據(jù)傳遞2個(gè)操作與實(shí)現(xiàn)建立連接、數(shù)據(jù)傳遞、參數(shù)配置、參數(shù)查詢4個(gè)操作兩種情況對(duì)FPGA上對(duì)資源占用進(jìn)行了比較,其結(jié)果見表1。從表中所得到的數(shù)據(jù)可以看出,在FPGA中實(shí)現(xiàn)對(duì)CORBA報(bào)文的操作以及參數(shù)進(jìn)行解析、封裝處理非常耗費(fèi)硬件資源。這主要是由于CORBA報(bào)文中使用的公共數(shù)據(jù)表示(CDR)來(lái)描繪所要傳輸?shù)臄?shù)據(jù)類型所引起的,其也從一個(gè)方面證明了OIS公司所設(shè)計(jì)的為每個(gè)波形組件都實(shí)現(xiàn)一個(gè)接收操作適配器和發(fā)送操作適配器將極其耗費(fèi)硬件資源,這在實(shí)際應(yīng)用中是不能被接受的。

表1 FPGA硬件資源占用情況對(duì)比數(shù)據(jù)

硬件資源名稱可用數(shù)量

實(shí)現(xiàn)連接、傳遞操作

已使用利用率

實(shí)現(xiàn)連接、傳遞配置、查詢操作

已使用利用率

Number of Slice Registers58 8801 1181%3 6776%

Number of Slice LUTs58 8801 5902%6 36910%

Number of route-thrus117 7602981%1 0151%

Number of occupied Slices14 7207334%2 46416%

Number of bonded640355%355%

Number of BlockRAM/FIFO24441%52%

Total Memory used /KB8 7841261%1441%

Number of BUFG/BUFGCTRLs32412%412%

5 結(jié) 論

本文在分析現(xiàn)有的解決方案優(yōu)缺點(diǎn)的基礎(chǔ)上提出了一種在FPGA上實(shí)現(xiàn)ORB的改進(jìn)設(shè)計(jì)方案,不但為彼此分離的、工作于多處理器平臺(tái)上的各個(gè)GPP,DSP和FPGA開發(fā)小組提供了通用的CORBA通信機(jī)制,實(shí)現(xiàn)波形組件的位置透明性;還克服了現(xiàn)有的FPGA上實(shí)現(xiàn)ORB方案的缺點(diǎn),使FPGA上實(shí)現(xiàn)的ORB既可以支持動(dòng)態(tài)部分重配置,又使波形組件開發(fā)人員盡可能少地處理ORB相關(guān)的工作,大大簡(jiǎn)化了波形組件開發(fā)人員所承擔(dān)的開發(fā)任務(wù)。最終,所提出的改進(jìn)設(shè)計(jì)方案在實(shí)驗(yàn)平臺(tái)進(jìn)行了實(shí)現(xiàn)與驗(yàn)證,測(cè)試結(jié)果也表明了此方案的合理性和可行性。

參 考 文 獻(xiàn)

[1]MITOLA J. Software radios: survey, critical evaluation and future directions \\. NY: IEEE National Telesystems Conference, 1992.

[2]BARD J, JR V J K. Software defined radio:the software communications architecture \\. \\: John Wiley Sons Ltd., 2007.

[3]JPO J. Software communications architecture specification version 2.2.2 \\. San Diego, CA: JTRS Standard, 2006.

[4]JPO J. Modem hardware abstraction layer API 2.13 \\. San Diego, CA: JTRS Standard, 2010.

主站蜘蛛池模板: 激情亚洲天堂| 视频二区中文无码| 高清无码手机在线观看| 国产精品一线天| 亚洲精品不卡午夜精品| 国产99久久亚洲综合精品西瓜tv| 日韩欧美成人高清在线观看| 国产麻豆va精品视频| 亚洲综合婷婷激情| 99热这里只有免费国产精品 | 人妻精品久久无码区| 国产精品观看视频免费完整版| 亚洲视频在线观看免费视频| 久久综合五月| 2020国产精品视频| 精品视频在线观看你懂的一区| 五月婷婷精品| 国产成人AV综合久久| 69综合网| 色综合天天娱乐综合网| 欧美怡红院视频一区二区三区| 国产精品手机在线观看你懂的| 国产精品欧美激情| 丝袜国产一区| 亚洲一区二区视频在线观看| 欧美中文字幕一区二区三区| 精品国产网| 免费一级大毛片a一观看不卡| 91蝌蚪视频在线观看| 性欧美在线| 天堂岛国av无码免费无禁网站| 国产精品久久久久鬼色| 欧美亚洲国产一区| 国产成人综合在线观看| 欧美激情视频一区二区三区免费| 乱人伦视频中文字幕在线| 欧美一级爱操视频| 奇米影视狠狠精品7777| 在线观看国产一区二区三区99| AV网站中文| 丁香六月激情婷婷| 999国内精品视频免费| 国产成人精品男人的天堂| 国产99视频精品免费视频7| 毛片a级毛片免费观看免下载| 澳门av无码| 天天躁日日躁狠狠躁中文字幕| 青草视频网站在线观看| 99视频在线观看免费| 国产爽妇精品| 精品99在线观看| 亚洲中文字幕日产无码2021| 狠狠色噜噜狠狠狠狠奇米777| 成人在线不卡| 日韩人妻无码制服丝袜视频| 美女无遮挡被啪啪到高潮免费| 婷婷综合缴情亚洲五月伊| 国产成人综合久久精品下载| 亚洲成人黄色在线| 国产成a人片在线播放| 国产精品无码久久久久AV| 日韩不卡高清视频| 91麻豆精品国产91久久久久| 四虎永久免费地址| 欧美日韩中文国产| 日韩精品一区二区三区swag| 国产一在线| 99国产精品一区二区| 国产理论精品| 国产精品成人不卡在线观看| 乱色熟女综合一区二区| 麻豆精品在线播放| 日韩a级片视频| 国产大全韩国亚洲一区二区三区| 亚洲天堂网视频| 香蕉精品在线| 精品小视频在线观看| 伊人色天堂| 久久这里只精品热免费99| 久久香蕉国产线看精品| 熟妇丰满人妻av无码区| 丝袜久久剧情精品国产|