《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 軟件無(wú)線電平臺(tái)可重配置接口的實(shí)現(xiàn)
軟件無(wú)線電平臺(tái)可重配置接口的實(shí)現(xiàn)
來(lái)源:電子技術(shù)應(yīng)用2010年第8期
劉莉莉1,粟 欣1,張漢毅2
1.清華大學(xué) 無(wú)線與移動(dòng)通信技術(shù)研究中心,北京100084;2.工業(yè)和信息化部 通信計(jì)量中心,北京100000
摘要: 實(shí)現(xiàn)了一種用于上位機(jī)和FPGA處理板之間通信的可重配置接口,詳細(xì)介紹了該接口的包格式設(shè)計(jì)和FPGA邏輯設(shè)計(jì)。仿真結(jié)果表明,該可重配置接口能根據(jù)信令,實(shí)現(xiàn)準(zhǔn)實(shí)時(shí)在線參數(shù)配置,滿足多種主流通信體制的不同速率要求。
中圖分類號(hào): TN431.2
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2010)08-0048-04
Implementation of reconfigurable interface for software defined radio platform
LIU Li Li1,SU Xin1,ZHANG Han Yi2
1.Wireless and Mobile Communication Technology R&D Center,Tsinghua University,Beijing 100084,China;2.Telecommunication Metrology Center,Ministry of Industry and Information Technology,Beijing 100000,China
Abstract: This paper has realized a reconfigurable interface, which can be used in the communications between host computer and FPGA processing board. And this paper has introduced the package format design and FPGA logic design in detail. Simulation result shows that this reconfigurable interface can implement the quasi-real time on-line parameter reconfiguration with signaling and fulfill the requirements of several popular communications systems for different rates.
Key words : software defined radio;reconfiguration;FPGA;Ethernet interface

    隨著2.5 G和3 G的出現(xiàn),使多種通信體制并存發(fā)展,它們?cè)诠ぷ黝l段、波形結(jié)構(gòu)、調(diào)制方式、編碼方式、加密方式等方面的不同,既限制了系統(tǒng)之間操作的互通性,也影響了用戶使用的便捷性。由于軟件無(wú)線電SDR(Software Defined Radio)技術(shù)可以將模塊化、標(biāo)準(zhǔn)化和通用化的硬件單元和軟件模塊集成在一個(gè)通用的物理平臺(tái)上,通過(guò)軟硬件的可重構(gòu),實(shí)現(xiàn)多種無(wú)線通信功能,故以軟件無(wú)線電為基礎(chǔ)、面向多種通信體制的兼容信號(hào)處理技術(shù)成為研究熱點(diǎn)。
    本文研制了一個(gè)能實(shí)現(xiàn)多種無(wú)線通信體制的軟件無(wú)線電平臺(tái)。該平臺(tái)如圖1所示,由上位機(jī)、FPGA處理板、射頻板和天線組成。其中,上位機(jī)提供用戶界面,并完成基帶信號(hào)處理和系統(tǒng)控制。FPGA處理板主要完成各種通信體制的信號(hào)預(yù)處理。

    考慮到平臺(tái)對(duì)多體制速率的兼容性、用戶遠(yuǎn)程配置處理平臺(tái)的便捷性以及平臺(tái)與現(xiàn)有網(wǎng)絡(luò)的融合和向分布式處理[1]方向的可升級(jí)性和易擴(kuò)展性等,該平臺(tái)選用以太網(wǎng)接口作為上位機(jī)與FPGA處理板之間的連接方式。該以太網(wǎng)接口需要支持實(shí)時(shí)的在線重配置功能。
    由于平臺(tái)選用的FPGA器件是Alteral公司的CyclloneII2C70F672C8,芯片本身沒(méi)有動(dòng)態(tài)部分可重構(gòu)的功能,不能利用文獻(xiàn)[2,3]中介紹的Xilinx的VirtexFPGA的動(dòng)態(tài)部分重構(gòu)功能,只需要重新配置FPGA的部分區(qū)域,而FPGA其余部分正常工作。Off-Chip動(dòng)態(tài)重構(gòu)[4]的重構(gòu)時(shí)間太長(zhǎng)。模塊的可重選擇[5]的重構(gòu)時(shí)間短,但耗費(fèi)FPGA資源較多。為了滿足平臺(tái)的以太網(wǎng)接口對(duì)于一種配置時(shí)間較短而且耗用資源較少的配置方式的需要,本文提出并實(shí)現(xiàn)了一種上位機(jī)和FPGA處理板之間信令驅(qū)動(dòng)的、參數(shù)可重加載的、可實(shí)時(shí)在線重配置的以太網(wǎng)接口,并詳細(xì)介紹了該接口的數(shù)據(jù)/信令包的格式設(shè)計(jì)和FPGA中的邏輯設(shè)計(jì)。
1 可配置接口設(shè)計(jì)
1.1 接口電路原理描述

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

    發(fā)送過(guò)程中,上位機(jī)先將用戶原始數(shù)據(jù)/信令按照一定的格式封裝成網(wǎng)絡(luò)包,通過(guò)網(wǎng)口發(fā)送到交換芯片的端口(port0或者port1),網(wǎng)絡(luò)交換芯片將該網(wǎng)絡(luò)包轉(zhuǎn)發(fā)到相應(yīng)端口(port3或者port4),然后經(jīng)過(guò)相應(yīng)的8201進(jìn)行數(shù)據(jù)格式的轉(zhuǎn)換,最后到達(dá)相應(yīng)的FPGA,F(xiàn)PGA再對(duì)接收到的網(wǎng)絡(luò)包進(jìn)行解析處理,以恢復(fù)上位機(jī)發(fā)送的用戶原始數(shù)據(jù)/信令。接收過(guò)程相反,F(xiàn)PGA發(fā)送的數(shù)據(jù)包依次經(jīng)過(guò)8201、網(wǎng)絡(luò)交換芯片后到達(dá)上位機(jī)。
1.2 接口包格式設(shè)計(jì)
    上位機(jī)與FPGA之間需要交換數(shù)據(jù)包來(lái)完成通信雙方的信息傳輸,還需要交換信令包來(lái)完成系統(tǒng)的重配置,因此需要接口能夠區(qū)分不同類型的包。此外,不同通信體制下或不同傳輸業(yè)務(wù)中,數(shù)據(jù)速率不同可能要求包的長(zhǎng)度不同,因此還需要接口能夠靈活地識(shí)別不同長(zhǎng)度的網(wǎng)絡(luò)數(shù)據(jù)包。
    標(biāo)準(zhǔn)EthernetII協(xié)議下的包格式如圖3所示,其中D_MAC為數(shù)據(jù)包的目的地址,S_MAC為數(shù)據(jù)包的源地址,TYPE為數(shù)據(jù)包的類型,F(xiàn)CS為校驗(yàn)位。標(biāo)準(zhǔn)的EthernetII包不能滿足所需接口的要求,需要在EthernetII協(xié)議的基礎(chǔ)上做一些改動(dòng),形成適合于統(tǒng)一平臺(tái)的網(wǎng)絡(luò)包格式,如圖4所示,圖4(a)為數(shù)據(jù)包格式,圖4(b)為信令包格式。

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

    改進(jìn)的網(wǎng)絡(luò)包為統(tǒng)一平臺(tái),為實(shí)現(xiàn)靈活的切換方式提供了很好的基礎(chǔ),而且由于改進(jìn)的網(wǎng)絡(luò)包保留了EthernetII協(xié)議的基本特性,可以在現(xiàn)有的以太網(wǎng)中傳輸。
1.3 FPGA的邏輯設(shè)計(jì)
    在接口電路中傳輸?shù)氖茄b載了用戶數(shù)據(jù)/信令的網(wǎng)絡(luò)包,在接口兩端(即上位機(jī)和FPGA)都需要有相應(yīng)的接口模塊來(lái)對(duì)網(wǎng)絡(luò)包進(jìn)行解析和封裝。本文重點(diǎn)介紹FPGA端的接口模塊,如圖5所示,由6個(gè)子模塊組成:解包、打包、信令/數(shù)據(jù)切換控制、信令控制器以及FIFO。其中,解包是從MII口收取網(wǎng)絡(luò)包,根據(jù)網(wǎng)絡(luò)包的格式取出其中的信令/數(shù)據(jù);打包是將信令/數(shù)據(jù)按照網(wǎng)絡(luò)包的格式封裝起來(lái),發(fā)送到MII口;切換控制是用來(lái)選擇控制信令通路或數(shù)據(jù)通路的開(kāi)啟;信令控制器解析信令,送往相應(yīng)模塊的配置端口;FIFO用于緩存上行數(shù)據(jù)和下行數(shù)據(jù)。

    該模塊主要完成兩項(xiàng)工作:一是從MII口收發(fā)信令包,并將解析的信令送給各基帶處理模塊,進(jìn)行參數(shù)配置和模式切換;二是從MII口收發(fā)數(shù)據(jù)包,提供上位機(jī)到FPGA內(nèi)部各個(gè)基帶處理模塊之間的數(shù)據(jù)通路。
    當(dāng)系統(tǒng)在某種通信體制下正常工作時(shí),上位機(jī)與FPGA之間的數(shù)據(jù)通路開(kāi)啟,同時(shí)完成雙向數(shù)據(jù)的傳輸。待發(fā)送的下行數(shù)據(jù)經(jīng)過(guò)解包、切換控制、FIFO_1傳輸?shù)胶罄m(xù)模塊;接收到的上行數(shù)據(jù)經(jīng)過(guò)FIFO_2、切換控制、打包傳送到上位機(jī)。
    當(dāng)系統(tǒng)需要切換到另一種通信體制時(shí),上位機(jī)與FPGA之間的信令通路開(kāi)啟,完成模塊的重配置。配置信令經(jīng)過(guò)解包、切換控制、信令控制后,解析出各配置參數(shù)送往相應(yīng)模塊進(jìn)行參數(shù)重配置;待各模塊配置完成后(mcu_reply有效),啟動(dòng)打包模塊發(fā)送一個(gè)信令回執(zhí)包以告知上位機(jī)。上位機(jī)收到FPGA的回執(zhí)包后,系統(tǒng)已切換到新通信體制下,可以進(jìn)行雙向數(shù)據(jù)(上下行數(shù)據(jù))的傳輸。
    解包模塊:從MII口獲取網(wǎng)絡(luò)包后,首先應(yīng)核對(duì)網(wǎng)絡(luò)包中D_MAC域的內(nèi)容,若D_MAC域與本地MAC地址相同則接收該網(wǎng)絡(luò)包,否則丟棄。然后取出網(wǎng)絡(luò)包的Type域和Length域的內(nèi)容,并根據(jù)Length域的長(zhǎng)度信息取出包中的信令/數(shù)據(jù),一并送往切換控制器。
    切換控制模塊:根據(jù)type端口的信息選擇開(kāi)啟信令通路或者數(shù)據(jù)通路。當(dāng)開(kāi)啟信令通路時(shí),將從datain端口輸入的信令送到信令控制器;同時(shí)當(dāng)檢測(cè)到mcu_reply端口的有效脈沖后,驅(qū)動(dòng)打包模塊發(fā)送一個(gè)特定格式的信令回執(zhí)。當(dāng)開(kāi)啟數(shù)據(jù)通路時(shí),將從datain端口輸入的數(shù)據(jù)送到FIFO_1;同時(shí)將從端口fout_data輸入的FIFO_2的數(shù)據(jù)送到打包模塊。
    信令控制器:解析信令,并將根據(jù)配置信息完成模塊的重配置。信令控制器在mcu_en端口為高電平期間從mcu_data讀取信令,并開(kāi)始按信令格式“AddrN+LenN+ParaN”解析信令。首先根據(jù)內(nèi)部預(yù)設(shè)的一個(gè)模塊端口查找表,查出AddrN對(duì)應(yīng)模塊的配置端口(包括configN_en,configN_data,configN_done)。配置時(shí),configN_en為高電平,configN_data中傳送的是配置信息(ParaN),configN_done在配置完成時(shí)會(huì)出現(xiàn)一個(gè)正脈沖。當(dāng)信令控制器搜集完各個(gè)配置模塊的config_done有效脈沖后,才輸出一個(gè)mcu_reply有效脈沖反饋給切換控制器。
    可重配置FIFO:緩存上行數(shù)據(jù)和下行數(shù)據(jù),可以根據(jù)當(dāng)前體制或業(yè)務(wù)需求來(lái)調(diào)整某些參數(shù),以完成數(shù)據(jù)流的控制。例如FIFO一端連接的是固定的硬件網(wǎng)口速率(25 MHz時(shí)鐘RXCLK/TXCLK),而另一端則需要實(shí)時(shí)改變數(shù)據(jù)速率,以匹配各種通信體制的上下行速率。本文中,可重配置FIFO中內(nèi)嵌了一個(gè)參數(shù)可調(diào)的PLL,該P(yáng)LL可以根據(jù)配置端口的config_data內(nèi)容來(lái)實(shí)時(shí)改變時(shí)鐘,因此FIFO能快速可靠地實(shí)現(xiàn)不同數(shù)據(jù)速率的切換。config_data的內(nèi)容可以由用戶在配置信令中自行設(shè)置,位寬為16 bit,可以完成216種不同速率(基本時(shí)鐘為80 MHz,可以在基本時(shí)鐘上倍頻或分頻)。
2 接口重配置過(guò)程的仿真
    為了驗(yàn)證接口模塊的正常傳輸數(shù)據(jù)的功能以及在線重配置的功能,對(duì)接口模塊進(jìn)行了仿真驗(yàn)證。仿真中,數(shù)據(jù)包的長(zhǎng)度(即Length域)設(shè)置為1 490 B,Type1為080 A。信令包的長(zhǎng)度(即Length域)設(shè)置為1 490 B,Type2為080 B,F(xiàn)IFO的配置信令長(zhǎng)度設(shè)置為2 B。
    仿真環(huán)境選用Modelsim,仿真中需要驗(yàn)證的場(chǎng)景是:
    (1)初始配置過(guò)程,即在上電后,F(xiàn)PGA中的接口模塊從MII口接收到第一個(gè)信令包(圖6中信令1),信令控制器根據(jù)其中的信令信息完成FIFO1和FIFO2的速率參數(shù)rate1的配置,并反饋給MII口一個(gè)信令回執(zhí)包。
    (2)數(shù)據(jù)傳輸過(guò)程,即FPGA中的接口模塊從MII口連續(xù)接收幾個(gè)數(shù)據(jù)包(圖6中數(shù)據(jù)1和數(shù)據(jù)2),數(shù)據(jù)通過(guò)切換控制器到FIFO1緩沖,再由rate1速率輸出給后續(xù)的處理模塊。
    (3)在線重配置過(guò)程,即在系統(tǒng)工作中,F(xiàn)PGA中的接口模塊從MII口接收到第二個(gè)信令包(圖6中信令2),按(1)的過(guò)程配置FIFO的速率rate2,并反饋信令回執(zhí)。

    (4)新的數(shù)據(jù)傳輸過(guò)程,即同(2)的過(guò)程,數(shù)據(jù)由rate2速率輸出給后續(xù)的處理模塊。
    利用TestBentch產(chǎn)生rxdv、rxd、rxclk等MII口的輸入信號(hào)以及sys_clk、reset_n等系統(tǒng)全局輸入信號(hào),即可模擬以上網(wǎng)絡(luò)接口的運(yùn)行過(guò)程。仿真結(jié)果如圖6所示。
    通過(guò)仿真表明,該接口能在上位機(jī)與FPGA之間準(zhǔn)確地傳輸數(shù)據(jù)包,而且通過(guò)該接口還能實(shí)現(xiàn)FPGA中各個(gè)基帶處理模塊(如FIFO)的在線重配置功能。該接口從系統(tǒng)整體的角度出發(fā),采用模塊化思想合理地劃分了各個(gè)模塊功能,不僅資源利用率高,而且配置時(shí)間短,如單個(gè)FIFO模塊的配置的時(shí)間小于1 μs,滿足設(shè)計(jì)需求。
    該接口通過(guò)在FPGA上進(jìn)一步調(diào)試,已經(jīng)在試驗(yàn)平臺(tái)上開(kāi)展測(cè)試。目前該接口可以滿足幾種主流通信體制的不同速率要求,用戶可以自行選擇需要配置的模塊,也可以設(shè)定這些模塊的配置參數(shù),切換過(guò)程靈活。
    該接口在軟件無(wú)線電平臺(tái)上也已經(jīng)開(kāi)展測(cè)試,可以滿足幾種主流通信體制的不同速率要求,具有很好的兼容性、靈活性和穩(wěn)定性,適合用于多種主流無(wú)線通信體制的不同速率要求。
參考文獻(xiàn)
[1] 粟欣,許希斌,姚彥.基于網(wǎng)絡(luò)的軟件無(wú)線電系統(tǒng)及實(shí)現(xiàn)[J].電信科學(xué),2001(11).
[2] EDSON L.HORTA,JOHN W.L,DAVID P.Dynamic hardware plugins in an FPGA with partial run-time reconfiguration.In DAC 2002(New Orleans,Louisiana,USA),2002(6):343-348.
[3] HADLEY J.D,HUTCHINGS B.L.Designing a partially reconfigured system.In FPGAs for Fast Board Development and Reconfigurable Computing,in Proc.SPIE 2607,1995:210-220.
[4] 谷鑾,徐貴力,王友仁.FPGA動(dòng)態(tài)可重構(gòu)理論及其研究進(jìn)展[J].計(jì)算機(jī)測(cè)量與控制,2007,15(11):1415-1418.
[5] 張海亮,趙行波,王亮,等.基于FPGA的可配置通信平臺(tái)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2006,22(11-2):192-194.
[6] http://www.broadcom.com/collateral/pb/5325-PB05-R.pdf.
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。