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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 軟件無線電平臺可重配置接口的實現(xiàn)

          軟件無線電平臺可重配置接口的實現(xiàn)

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

          隨著2.5 G和3 G的出現(xiàn),使多種通信體制并存發(fā)展,它們在工作頻段、波形結(jié)構(gòu)、調(diào)制方式、編碼方式、加密方式等方面的不同,既限制了系統(tǒng)之間操作的互通性,也影響了用戶使用的便捷性。由于軟件無線電SDR(Software Defined Radio)技術(shù)可以將模塊化、標準化和通用化的硬件單元和軟件模塊集成在一個通用的物理平臺上,通過軟硬件的可重構(gòu),實現(xiàn)多種無線通信功能,故以軟件無線電為基礎(chǔ)、面向多種通信體制的兼容信號處理技術(shù)成為研究熱點。

            本文研制了一個能實現(xiàn)多種無線通信體制的。該平臺如圖1所示,由上位機、FPGA處理板、射頻板和天線組成。其中,上位機提供用戶界面,并完成基帶信號處理和系統(tǒng)控制。FPGA處理板主要完成各種通信體制的信號預處理。


            考慮到平臺對多體制速率的兼容性、用戶遠程配置處理平臺的便捷性以及平臺與現(xiàn)有網(wǎng)絡(luò)的融合和向分布式處理方向的可升級性和易擴展性等,該平臺選用以太網(wǎng)接口作為上位機與FPGA處理板之間的連接方式。該以太網(wǎng)接口需要支持實時的在線重配置功能。

            由于平臺選用的FPGA器件是Alteral公司的CycllONeII2C70F672C8,芯片本身沒有動態(tài)部分可重構(gòu)的功能,不能利用中介紹的Xilinx的VirtexFPGA的動態(tài)部分重構(gòu)功能,只需要重新配置FPGA的部分區(qū)域,而FPGA其余部分正常工作。Off-Chip動態(tài)重構(gòu)的重構(gòu)時間太長。模塊的可重選擇[5]的重構(gòu)時間短,但耗費FPGA資源較多。為了滿足平臺的以太網(wǎng)接口對于一種配置時間較短而且耗用資源較少的配置方式的需要,本文提出并實現(xiàn)了一種上位機和FPGA處理板之間信令驅(qū)動的、參數(shù)可重加載的、可實時在線重配置的以太網(wǎng)接口,并詳細介紹了該接口的數(shù)據(jù)/信令包的格式設(shè)計和FPGA中的邏輯設(shè)計。

            1 可配置接口設(shè)計

            1.1 接口電路原理描述

            上位機和FPGA之間的接口電路如圖2所示,主要由網(wǎng)絡(luò)交換芯片BCM5325E和接口轉(zhuǎn)換芯片RTL8201組成。其中,BCM5325E為網(wǎng)絡(luò)交換芯片[6],工作頻率為25 MHz。芯片集成了10/100 Mb/s切換控制器和6個端口,除了一個MII(Media Independent Interface)端口以外,另外5個端口(port0-port4)為全雙工的10/100 Mb/s快速以太網(wǎng)收發(fā)器(滿足IEEE802.3 u標準接口),完成以太網(wǎng)物理接口功能。RTL8201是一個快速以太網(wǎng)物理層收發(fā)器,工作頻率為25 MHz,可以將IEEE802.3 u標準接口轉(zhuǎn)化為MII接口。


            發(fā)送過程中,上位機先將用戶原始數(shù)據(jù)/信令按照一定的格式封裝成網(wǎng)絡(luò)包,通過網(wǎng)口發(fā)送到交換芯片的端口(port0或者port1),網(wǎng)絡(luò)交換芯片將該網(wǎng)絡(luò)包轉(zhuǎn)發(fā)到相應(yīng)端口(port3或者port4),然后經(jīng)過相應(yīng)的8201進行數(shù)據(jù)格式的轉(zhuǎn)換,最后到達相應(yīng)的FPGA,F(xiàn)PGA再對接收到的網(wǎng)絡(luò)包進行解析處理,以恢復上位機發(fā)送的用戶原始數(shù)據(jù)/信令。接收過程相反,F(xiàn)PGA發(fā)送的數(shù)據(jù)包依次經(jīng)過8201、網(wǎng)絡(luò)交換芯片后到達上位機。

            1.2 接口包格式設(shè)計

            上位機與FPGA之間需要交換數(shù)據(jù)包來完成通信雙方的信息傳輸,還需要交換信令包來完成系統(tǒng)的重配置,因此需要接口能夠區(qū)分不同類型的包。此外,不同通信體制下或不同傳輸業(yè)務(wù)中,數(shù)據(jù)速率不同可能要求包的長度不同,因此還需要接口能夠靈活地識別不同長度的網(wǎng)絡(luò)數(shù)據(jù)包。

            標準EthernetII協(xié)議下的包格式如圖3所示,其中D_MAC為數(shù)據(jù)包的目的地址,S_MAC為數(shù)據(jù)包的源地址,TYPE為數(shù)據(jù)包的類型,F(xiàn)CS為校驗位。標準的EthernetII包不能滿足所需接口的要求,需要在EthernetII協(xié)議的基礎(chǔ)上做一些改動,形成適合于統(tǒng)一平臺的網(wǎng)絡(luò)包格式,如圖4所示,圖4(a)為數(shù)據(jù)包格式,圖4(b)為信令包格式。



            改進的包格式有以下特點:首先,將EthernetII協(xié)議的標準包格式中的數(shù)據(jù)段中劃分出一部分作為標示域,其中長度域(Length)用來標示包中數(shù)據(jù)/信令的長度,時間戳域(TimeSTamp)用來標示包的發(fā)送或者接收時間。其次,通過Type域的內(nèi)容來區(qū)分數(shù)據(jù)包和信令包。最后,數(shù)據(jù)包中的Data域用來裝載用戶數(shù)據(jù),信令包的Infor域用來裝載信令,如濾波器的參數(shù)配置信息、成幀模塊的參數(shù)配置信息、編碼模塊的參數(shù)配置信息等。每個模塊對應(yīng)的配置信令的格式為“Addr+Len+Para”,如圖4(b)所示。首先是4 B的信令頭信息,其中2 B表示該信令對應(yīng)的內(nèi)部模塊地址Addr,另外2 B表示該信令的長度Len;接下來的n B是信令的內(nèi)容,即各模塊的配置參數(shù)Para。因此,用戶可以靈活地選擇需要配置的模塊,也可以根據(jù)需要設(shè)定這些模塊的配置參數(shù),而且每個模塊的配置參數(shù)的長度可以變化。

            改進的網(wǎng)絡(luò)包為統(tǒng)一平臺,為實現(xiàn)靈活的切換方式提供了很好的基礎(chǔ),而且由于改進的網(wǎng)絡(luò)包保留了EthernetII協(xié)議的基本特性,可以在現(xiàn)有的以太網(wǎng)中傳輸。

            1.3 FPGA的邏輯設(shè)計

            在接口電路中傳輸?shù)氖茄b載了用戶數(shù)據(jù)/信令的網(wǎng)絡(luò)包,在接口兩端(即上位機和FPGA)都需要有相應(yīng)的接口模塊來對網(wǎng)絡(luò)包進行解析和封裝。本文重點介紹FPGA端的接口模塊,如圖5所示,由6個子模塊組成:解包、打包、信令/數(shù)據(jù)切換控制、信令控制器以及FIFO。其中,解包是從MII口收取網(wǎng)絡(luò)包,根據(jù)網(wǎng)絡(luò)包的格式取出其中的信令/數(shù)據(jù);打包是將信令/數(shù)據(jù)按照網(wǎng)絡(luò)包的格式封裝起來,發(fā)送到MII口;切換控制是用來選擇控制信令通路或數(shù)據(jù)通路的開啟;信令控制器解析信令,送往相應(yīng)模塊的配置端口;FIFO用于緩存上行數(shù)據(jù)和下行數(shù)據(jù)。


            該模塊主要完成兩項工作:一是從MII口收發(fā)信令包,并將解析的信令送給各基帶處理模塊,進行參數(shù)配置和模式切換;二是從MII口收發(fā)數(shù)據(jù)包,提供上位機到FPGA內(nèi)部各個基帶處理模塊之間的數(shù)據(jù)通路。

            當系統(tǒng)在某種通信體制下正常工作時,上位機與FPGA之間的數(shù)據(jù)通路開啟,同時完成雙向數(shù)據(jù)的傳輸。待發(fā)送的下行數(shù)據(jù)經(jīng)過解包、切換控制、FIFO_1傳輸?shù)胶罄m(xù)模塊;接收到的上行數(shù)據(jù)經(jīng)過FIFO_2、切換控制、打包傳送到上位機。

            當系統(tǒng)需要切換到另一種通信體制時,上位機與FPGA之間的信令通路開啟,完成模塊的重配置。配置信令經(jīng)過解包、切換控制、信令控制后,解析出各配置參數(shù)送往相應(yīng)模塊進行參數(shù)重配置;待各模塊配置完成后(mcu_reply有效),啟動打包模塊發(fā)送一個信令回執(zhí)包以告知上位機。上位機收到FPGA的回執(zhí)包后,系統(tǒng)已切換到新通信體制下,可以進行雙向數(shù)據(jù)(上下行數(shù)據(jù))的傳輸。

            解包模塊:從MII口獲取網(wǎng)絡(luò)包后,首先應(yīng)核對網(wǎng)絡(luò)包中D_MAC域的內(nèi)容,若D_MAC域與本地MAC地址相同則接收該網(wǎng)絡(luò)包,否則丟棄。然后取出網(wǎng)絡(luò)包的Type域和Length域的內(nèi)容,并根據(jù)Length域的長度信息取出包中的信令/數(shù)據(jù),一并送往切換控制器。

            切換控制模塊:根據(jù)type端口的信息選擇開啟信令通路或者數(shù)據(jù)通路。當開啟信令通路時,將從datain端口輸入的信令送到信令控制器;同時當檢測到mcu_reply端口的有效脈沖后,驅(qū)動打包模塊發(fā)送一個特定格式的信令回執(zhí)。當開啟數(shù)據(jù)通路時,將從datain端口輸入的數(shù)據(jù)送到FIFO_1;同時將從端口fout_data輸入的FIFO_2的數(shù)據(jù)送到打包模塊。

            信令控制器:解析信令,并將根據(jù)配置信息完成模塊的重配置。信令控制器在mcu_en端口為高電平期間從mcu_data讀取信令,并開始按信令格式“AddrN+LenN+ParaN”解析信令。首先根據(jù)內(nèi)部預設(shè)的一個模塊端口查找表,查出AddrN對應(yīng)模塊的配置端口(包括configN_en,configN_data,configN_done)。配置時,configN_en為高電平,configN_data中傳送的是配置信息(ParaN),configN_done在配置完成時會出現(xiàn)一個正脈沖。當信令控制器搜集完各個配置模塊的config_done有效脈沖后,才輸出一個mcu_reply有效脈沖反饋給切換控制器。

            可重配置FIFO:緩存上行數(shù)據(jù)和下行數(shù)據(jù),可以根據(jù)當前體制或業(yè)務(wù)需求來調(diào)整某些參數(shù),以完成數(shù)據(jù)流的控制。例如FIFO一端連接的是固定的硬件網(wǎng)口速率(25 MHz時鐘RXCLK/TXCLK),而另一端則需要實時改變數(shù)據(jù)速率,以匹配各種通信體制的上下行速率。本文中,可重配置FIFO中內(nèi)嵌了一個參數(shù)可調(diào)的PLL,該PLL可以根據(jù)配置端口的config_data內(nèi)容來實時改變時鐘,因此FIFO能快速可靠地實現(xiàn)不同數(shù)據(jù)速率的切換。config_data的內(nèi)容可以由用戶在配置信令中自行設(shè)置,位寬為16 bit,可以完成216種不同速率(基本時鐘為80 MHz,可以在基本時鐘上倍頻或分頻)。

            2 接口重配置過程的仿真

            為了驗證接口模塊的正常傳輸數(shù)據(jù)的功能以及在線重配置的功能,對接口模塊進行了仿真驗證。仿真中,數(shù)據(jù)包的長度(即Length域)設(shè)置為1 490 B,Type1為080 A。信令包的長度(即Length域)設(shè)置為1 490 B,Type2為080 B,F(xiàn)IFO的配置信令長度設(shè)置為2 B。

            仿真環(huán)境選用Modelsim,仿真中需要驗證的場景是:

            (1)初始配置過程,即在上電后,F(xiàn)PGA中的接口模塊從MII口接收到第一個信令包(圖6中信令1),信令控制器根據(jù)其中的信令信息完成FIFO1和FIFO2的速率參數(shù)rate1的配置,并反饋給MII口一個信令回執(zhí)包。

            (2)數(shù)據(jù)傳輸過程,即FPGA中的接口模塊從MII口連續(xù)接收幾個數(shù)據(jù)包(圖6中數(shù)據(jù)1和數(shù)據(jù)2),數(shù)據(jù)通過切換控制器到FIFO1緩沖,再由rate1速率輸出給后續(xù)的處理模塊。

            (3)在線重配置過程,即在系統(tǒng)工作中,F(xiàn)PGA中的接口模塊從MII口接收到第二個信令包(圖6中信令2),按(1)的過程配置FIFO的速率rate2,并反饋信令回執(zhí)。

            (4)新的數(shù)據(jù)傳輸過程,即同(2)的過程,數(shù)據(jù)由rate2速率輸出給后續(xù)的處理模塊。

            利用TestBentch產(chǎn)生rxdv、rxd、rxclk等MII口的輸入信號以及sys_clk、reset_n等系統(tǒng)全局輸入信號,即可模擬以上網(wǎng)絡(luò)接口的運行過程。仿真結(jié)果如圖6所示。


            通過仿真表明,該接口能在上位機與FPGA之間準確地傳輸數(shù)據(jù)包,而且通過該接口還能實現(xiàn)FPGA中各個基帶處理模塊(如FIFO)的在線重配置功能。該接口從系統(tǒng)整體的角度出發(fā),采用模塊化思想合理地劃分了各個模塊功能,不僅資源利用率高,而且配置時間短,如單個FIFO模塊的配置的時間小于1 μs,滿足設(shè)計需求。

            該接口通過在FPGA上進一步調(diào)試,已經(jīng)在試驗平臺上開展測試。目前該接口可以滿足幾種主流通信體制的不同速率要求,用戶可以自行選擇需要配置的模塊,也可以設(shè)定這些模塊的配置參數(shù),切換過程靈活。

            該接口在上也已經(jīng)開展測試,可以滿足幾種主流通信體制的不同速率要求,具有很好的兼容性、靈活性和穩(wěn)定性,適合用于多種主流無線通信體制的不同速率要求。



          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();