<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于SCA的軟件無線電在FPGA上設計與實現(xiàn)

          基于SCA的軟件無線電在FPGA上設計與實現(xiàn)

          作者: 時間:2011-12-22 來源:網(wǎng)絡 收藏

          摘要:在分析現(xiàn)有基于上實現(xiàn)方案優(yōu)缺點的基礎上,提出了一種基于的CORBA通信系統(tǒng)設計方案,有效克服了原有實現(xiàn)方案的缺點,不但為上的波形組件提供了良好的可重用性、可移植性和動態(tài)部分重配置的支持,而且還有效提高了FPGA硬件資源的使用效率,降低了通用處理器的工作負擔。最后,針對該設計方案搭建了硬件平臺,并給出了系統(tǒng)的性能測試結果,測試結果表明此設計方案是行之有效的。
          關鍵詞:軟件通信體系架構;;對象請求代理;GIOP;FPGA

          0 引言
          自1992年Jeo Mitola中提出了(Software Defined Radio,SDR)的概念以來,有許多公司和團體致力于SDR的研究和開發(fā),并取得了一定成果。但由于沒有統(tǒng)一的標準,各研發(fā)單位采用各自不同的解決方案和實現(xiàn)架構,從而導致了不同制造商的SDR波形組件相互不兼容,難以實現(xiàn)互連、互通、互操作,不能進行有效的協(xié)同工作,而且也不容易實現(xiàn)重配置。為了解決這些問題,美軍JTRS(Joint Tactical Radio System)JPEO(Joint Program Executive Office)制定了軟件通信體系架構(Soltware CommLmication Arehitecture,)規(guī)范,用以實現(xiàn)不同波形組件間的可移植性,以降低開發(fā)費用、縮短開發(fā)時間。基于POSIX、CORBA(Common Obiect Request Broker Architecture)和面向對象等技術,提高了SDR的互操作性以及波形組件的可移植性和可重用性,并獲得了GPP(General Purpose Processor)的良好支持,使基于SCA的SDR在GPP上能夠很好地實現(xiàn)。
          隨著對無線通信帶寬、速率等提出的更高要求,GPP受工作方式、處理能力的限制,難以滿足這些要求,這就需要FPGA(Field Program-mable Gate Array)的加入來實現(xiàn)波形組件的并行處理和高速運算等功能。雖然SCA為GPP上的波形組件提供了很好的可移植性和可重用性,但目前還沒有一個標準能夠為FPGA上的波形組件提供這種支持。為了實現(xiàn)FPGA上波形組件的可移植性和可重用性,一些方案是在GPP上實現(xiàn)FPGA上波形組件的代理,其中比較典型的是JTRS JPEO提出的MHAL(Modem Hardware Abstraction Layer),同時,也有部分公司或團體提出了直接在FPGA上實現(xiàn)CORBA的方案。本文將在分析MHAL和現(xiàn)存的CORBA方案優(yōu)缺點的基礎上,提出一種在FPGA上實現(xiàn)CORBA的改進設計方案,并對該方案進行了測試驗證。

          1 技術介紹
          1.1 CORBA簡介
          CORBA中間件標準是SCA必需的中間件層,它為SDR系統(tǒng)提供所需的通信架構。CORBA位于應用程序和操作系統(tǒng)之間,屏蔽了不同平臺、操作系統(tǒng)、網(wǎng)絡協(xié)議等的差別,為開發(fā)者提供了一致的調(diào)用模式。通過CORBA,應用組件可以獲得良好的可移植性、可重用性和互操作性。
          ORB(Object ReqLtest Broker)是CORBA的核心,其任務是幫助客戶調(diào)用對象上的方法,包括:定位對象、激活對象、把客戶的請求傳遞給對象。ORB能夠屏蔽與底層平臺有關的細節(jié),保證了信息在分布式環(huán)境中不同平臺上的應用組件間透明地傳輸。為了使由不同開發(fā)者開發(fā)的實現(xiàn)之間能相互通信,CORBA規(guī)范定義了GIOP(General Inter-ORB Protocol)協(xié)議標準,能夠在任何具有連接的傳輸層上實現(xiàn)。
          1.2 SCA簡介
          SCA是美軍在JTRS中制定的軟件通信架構標準,是JTRS的主干。SCA通過面向對象方法劃分軟件/硬件結構,建立了開放的系統(tǒng)標準,提供了與具體實現(xiàn)無關的軟件無線電開發(fā)框架,保證了軟、硬件的可移植、可重構及設備的互操作性。SCA規(guī)范包含軟件體系結構定義、硬件體系結構定義、安全體系結構定義和應用程序接口(API)四部分。
          通過SCA所定義的分布式構件規(guī)范,可將應用與操作環(huán)境分離,同時使應用功能模塊化,并為管理和使用軟件構件定義了通用接口,通用業(yè)務和API以支持軟/硬件模塊移植。

          2 現(xiàn)有實現(xiàn)方案分析
          GPP處理器受其處理能力的限制,無法滿足當前通信業(yè)務需求,使通信設備越來越多地依靠DSP(Digital Signal Processor)、FPGA等專用處理器來完成高速的數(shù)據(jù)處理任務,這就使SDR系統(tǒng)的設計和實現(xiàn)必須面對由GPP,DSP和FPGA共同組成的多處理器平臺。雖然通過使用COR BA中間件技術可以很容易地實現(xiàn)分布式波形應用,但由于CORBA標準是針對GPP的,在DSP,F(xiàn)PGA等處理器上沒有相應的標準可用。這導致SCA /SDR的研究焦點分別集中在應用程序接口(API)和商用中間件上,使SCA/SDR的設計和實現(xiàn)出現(xiàn)了兩種主要模式:使用使用硬件抽象層(如MHAL)和使用分布式中間件技術(如CORBA)。
          2.1 使用MHAL方式實現(xiàn)的SCA/SDR系統(tǒng)
          MHAL是JTRS JPEO提出的一種基于硬件抽象層的解決方案。其實現(xiàn)方法是通過在核心框架與FPGA之間加入代理,并明確規(guī)范代理與FPGA之間的數(shù)據(jù)格式來實現(xiàn)FPGA在SCA中的應用的。圖1是以MHAL方式實現(xiàn)的分布式SCA/SDR系統(tǒng)布局結構示意圖。這種方式下,GPP需要為FPGA上的每個波形組件實現(xiàn)一個代理,以實現(xiàn)分布式波形組件間的通信。通過使用代理,系統(tǒng)可以將FPGA上的波形組件當作GPP上的波形組件一樣處理,這樣就可以實現(xiàn)對FPGA上波形組件的靈活、高效的管理和使用。

          本文引用地址:http://www.ex-cimer.com/article/190887.htm

          a.jpg


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


          上一頁 1 2 3 4 下一頁

          關鍵詞: FPGA SCA 軟件無線電

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();