《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的OFDM基帶軟硬件聯(lián)合驗(yàn)證平臺(tái)的設(shè)計(jì)
基于FPGA的OFDM基帶軟硬件聯(lián)合驗(yàn)證平臺(tái)的設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2013年第3期
陸許明,溫偉杰,譚洪舟
中山大學(xué) 信息科學(xué)與技術(shù)學(xué)院,廣東 廣州510006
摘要: 針對(duì)OFDM基帶系統(tǒng)的軟件仿真和硬件驗(yàn)證,提出并設(shè)計(jì)了一種基于FPGA的OFDM基帶系統(tǒng)軟硬件聯(lián)合驗(yàn)證方案。在該方案中,基帶系統(tǒng)由上位機(jī)的軟件基帶部分和FPGA的硬件基帶部分組成。兩者之間的數(shù)據(jù)連接由基于以太網(wǎng)的UDP協(xié)議實(shí)現(xiàn),從而在驗(yàn)證平臺(tái)上實(shí)現(xiàn)了完整的基帶系統(tǒng)。應(yīng)用實(shí)例表明,在所提出的基帶系統(tǒng)驗(yàn)證平臺(tái)中,軟件仿真可以運(yùn)行于實(shí)際信道,硬件驗(yàn)證的結(jié)果可以得到靈活的實(shí)時(shí)處理。因此該平臺(tái)為基帶系統(tǒng)的設(shè)計(jì)提供了從算法研究到硬件實(shí)現(xiàn)的統(tǒng)一測(cè)試環(huán)境,有效提高了設(shè)計(jì)效率。
中圖分類號(hào): TN492
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)03-0030-04
Software-hardware testbed design for baseband OFDM system based on FPGA
Lu Xuming,Wen Weijie,Tan Hongzhou
School of Information Science & Technology,Sun Yat-Sen University,Guangzhou 510006,China
Abstract: In order to simulate the software implementation and verify the hardware implementation of a baseband OFDM system, an FPGA-based software/hardware co-verification scheme is proposed. The system is divided into two partitions implemented by software and hardware, respectively. UDP is used for data transmission between these two partitions, and hence makes a complete baseband system. With the proposed testbed, the software simulation is running over real wireless channels, and the hardware implemental results can be flexibly processed in real time. Therefore, the testbed provides a uniform environment for the design process of the baseband OFDM system from algorithm to implementation, and enhance the design efficiency.
Key words : FPGA;OFDM;baseband system;testbed

    正交頻分復(fù)用(OFDM)技術(shù)因具有良好的抗多徑干擾能力以及高效的頻譜利用率等優(yōu)點(diǎn),在數(shù)字音視頻廣播、無(wú)線局域網(wǎng)等無(wú)線通信領(lǐng)域中得到了廣泛的應(yīng)用,成為了下一代無(wú)線通信系統(tǒng)的核心技術(shù)[1]。但是,OFDM基帶系統(tǒng)的功能模塊多,設(shè)計(jì)工作量大。因此如何高效地測(cè)試基帶系統(tǒng)中的算法、驗(yàn)證硬件模塊的功能,是完成OFDM基帶系統(tǒng)ASIC設(shè)計(jì)的關(guān)鍵。

    基于高級(jí)語(yǔ)言進(jìn)行的軟件仿真可以驗(yàn)證算法的正確性和有效性,其實(shí)現(xiàn)容易,修改簡(jiǎn)單,調(diào)試方便[2]。但是純軟件仿真難以完全模擬通信系統(tǒng)的實(shí)際工作環(huán)境(如實(shí)際信道衰落、實(shí)際載波頻率偏移等),使得實(shí)現(xiàn)的算法缺乏對(duì)實(shí)際因素的應(yīng)對(duì)能力,更無(wú)法保證其硬件實(shí)現(xiàn)能很好地工作在實(shí)際環(huán)境中。硬件驗(yàn)證是ASIC前端設(shè)計(jì)的關(guān)鍵步驟,通過(guò)FPGA平臺(tái)在實(shí)際環(huán)境中測(cè)試,可以驗(yàn)證各模塊能否正常工作[3]。但是硬件驗(yàn)證操作復(fù)雜,靈活性差,數(shù)據(jù)驗(yàn)證不直觀。若只進(jìn)行系統(tǒng)的整體驗(yàn)證,則難以定位測(cè)試中出現(xiàn)的問(wèn)題。雖然各FPGA公司都提供了相應(yīng)的硬件輔助測(cè)試工具,例如Quartus II Signal Tap II邏輯分析工具等[4],但是其存儲(chǔ)容量受限于FPGA內(nèi)部RAM的大小,而且難以利用其他軟件對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)處理。
    為了充分利用軟件仿真和硬件驗(yàn)證各自的優(yōu)點(diǎn),本文提出并實(shí)現(xiàn)了一種軟硬件結(jié)合的OFDM基帶系統(tǒng)測(cè)試平臺(tái)。該平臺(tái)將基帶系統(tǒng)分成軟件基帶和硬件基帶兩部分,再將兩者用以太網(wǎng)連接成完整的基帶系統(tǒng),既可以使軟件算法經(jīng)受實(shí)際信道的檢驗(yàn),也可以使硬件實(shí)現(xiàn)的結(jié)果實(shí)時(shí)地經(jīng)過(guò)軟件處理,從而快速地定位硬件實(shí)現(xiàn)中的問(wèn)題。
    下面首先介紹OFDM基帶系統(tǒng)模型;然后詳細(xì)介紹OFDM基帶系統(tǒng)驗(yàn)證平臺(tái)設(shè)計(jì);最后以實(shí)例說(shuō)明該驗(yàn)證平臺(tái)在實(shí)際算法仿真和硬件驗(yàn)證中的工作過(guò)程,并給出相應(yīng)的結(jié)果。

    OFDM基帶系統(tǒng)的模塊眾多,使其算法實(shí)現(xiàn)復(fù)雜度高,硬件驗(yàn)證難度大。因此需要設(shè)計(jì)一個(gè)統(tǒng)一平臺(tái),一方面可以進(jìn)行軟件算法研究及性能分析;另一方面可以對(duì)硬件描述語(yǔ)言實(shí)現(xiàn)的算法進(jìn)行驗(yàn)證。

 


2 基帶驗(yàn)證系統(tǒng)的設(shè)計(jì)
    圖2為基帶驗(yàn)證系統(tǒng)架構(gòu)圖。整個(gè)OFDM基帶驗(yàn)證系統(tǒng)包括硬件部分與軟件部分,其中硬件部分包括射頻前端模塊和硬件基帶處理模塊;軟件包括軟件基帶單元和UDP數(shù)據(jù)傳輸程序。

2.1 射頻前端模塊
    射頻前端模塊主要是實(shí)現(xiàn)基帶信號(hào)和射頻信號(hào)之間的調(diào)制解調(diào),主要包括:(1)本振LO和鎖相環(huán)PLL,用于產(chǎn)生穩(wěn)定的載波信號(hào);(2)射頻調(diào)制器和射頻解調(diào)器,用于實(shí)現(xiàn)基帶信號(hào)與射頻信號(hào)間的調(diào)制與解調(diào);(3)功率放大器PA,用于將射頻信號(hào)功率放大并經(jīng)天線發(fā)送出去;(4)低噪聲放大器LNA,用于放大天線接收到的微弱射頻信號(hào);(5)可變?cè)鲆娣糯笃鱒GA,用于將解調(diào)后的基帶信號(hào)放大為幅值合適的信號(hào)傳給AD。射頻前端模塊可根據(jù)載波頻率、發(fā)射功率及接收端的放大倍數(shù)等選擇合適的解決方案。射頻板上留有SPI和I2C接口,用來(lái)實(shí)現(xiàn)對(duì)射頻前端各部分的配置。
2.2 基帶處理模塊
    基帶處理模塊是整個(gè)驗(yàn)證平臺(tái)的核心部分,如圖3所示。該模塊一端通過(guò)以太網(wǎng)實(shí)現(xiàn)與上位機(jī)的全雙工通信,另一端通過(guò)AD/DA連接射頻前端模塊。在FPGA內(nèi)部,主要集成了微控制器MCU、以太網(wǎng)控制器MAC、直接內(nèi)存訪問(wèn)控制模塊DMA、發(fā)送和接收FIFO及OFDM基帶系統(tǒng)中的硬件基帶單元。

    微控制器MCU是兼容51指令集的8 bit微處理器,用于控制系統(tǒng)的運(yùn)行。例如配置DMA實(shí)現(xiàn)數(shù)據(jù)在MAC和發(fā)送接收FIFO之間的傳輸;通過(guò)SPI/I2C總線配置射頻前端模塊;在下位機(jī)實(shí)現(xiàn)基于UDP協(xié)議的數(shù)據(jù)傳輸?shù)取?br/>     以太網(wǎng)控制器MAC主要協(xié)助MCU完成以太網(wǎng)數(shù)據(jù)的收發(fā)工作。圖3特別標(biāo)示出MAC模塊實(shí)現(xiàn)了對(duì)廣播包的過(guò)濾功能。由于FPGA上的MCU工作頻率為16 MHz,百兆以太網(wǎng)的數(shù)據(jù)傳輸速率高達(dá)12.5 MB/s,為了避免大量的廣播數(shù)據(jù)占用過(guò)多的MCU資源,廣播包可以由MCU設(shè)置禁止接收,從而在MAC層得到過(guò)濾,使系統(tǒng)的整體工作效率得到提高。
    DMA用于完成收發(fā)FIFO與MAC之間的數(shù)據(jù)傳輸。由于MCU的處理速度受限,因此在數(shù)據(jù)包的收發(fā)過(guò)程中,MCU只處理數(shù)據(jù)包的報(bào)頭部分,而將大數(shù)據(jù)量的數(shù)據(jù)傳輸交給DMA處理。往PC傳輸數(shù)據(jù)時(shí),在MCU準(zhǔn)備好報(bào)頭數(shù)據(jù)之后,DMA獲得MAC的訪問(wèn)權(quán)限并將接收FIFO中的數(shù)據(jù)傳送到MAC;從PC接收數(shù)據(jù)時(shí),DMA在MCU處理了報(bào)頭數(shù)據(jù)后,將數(shù)據(jù)由MAC傳送到發(fā)送FIFO中。
    兩個(gè)FIFO模塊作為以太網(wǎng)接口和硬件基帶單元之間的數(shù)據(jù)緩沖,有3個(gè)特點(diǎn):(1)采用異步設(shè)計(jì),因?yàn)镸AC的時(shí)鐘頻率為25 MHz,而基帶模塊的時(shí)鐘頻率不一定相同,例如AD的采樣頻率可以為10 MHz或20 MHz。(2)連接硬件基帶單元的接口的位寬必須可配置。連接MAC的數(shù)據(jù)位寬為8 bit,而硬件基帶單元的數(shù)據(jù)接口位寬則隨著測(cè)試模塊的不同而有所不同,例如測(cè)試數(shù)字解調(diào)模塊時(shí),QPSK解調(diào)之后的位寬為2 bit,而16QAM解調(diào)之后的位寬為4 bit,因此相應(yīng)的FIFO的位寬必須可配置。(3)FIFO的存儲(chǔ)器可配置為FPGA內(nèi)部RAM或外部SDRAM。當(dāng)數(shù)據(jù)量不大而實(shí)時(shí)性要求高時(shí)可選用內(nèi)部RAM;當(dāng)數(shù)據(jù)量大而實(shí)時(shí)性要求不高時(shí)可選用外部SDRAM。
    硬件基帶單元是系統(tǒng)驗(yàn)證對(duì)象的實(shí)體,是待驗(yàn)證算法的硬件實(shí)現(xiàn)。硬件基帶單元和運(yùn)行于上位機(jī)的軟件基帶單元組成了圖1所示的完整基帶系統(tǒng)。
2.3 軟件基帶單元
    軟件基帶單元是用C、C++等高級(jí)語(yǔ)言實(shí)現(xiàn)的運(yùn)行于上位機(jī)的基帶模塊。軟件仿真作為硬件IP核設(shè)計(jì)的首要步驟,可以驗(yàn)證算法的正確性和有效性。算法確定之后,再用硬件描述語(yǔ)言將其移植到硬件基帶單元,驗(yàn)證其實(shí)現(xiàn)的效果。由于整個(gè)硬件平臺(tái)的操作是基于實(shí)際的射頻模塊和實(shí)際的無(wú)線信道,因此基帶芯片在實(shí)際環(huán)境中遇到的干擾在軟件算法驗(yàn)證開(kāi)始時(shí)就得到了真實(shí)反映,包括信道衰落、載波偏移、采樣頻率偏移等,使得基帶芯片的設(shè)計(jì)工作從軟件到硬件更具有一致性。
2.4 UDP數(shù)據(jù)傳輸
    因?yàn)橛脩魯?shù)據(jù)報(bào)UDP數(shù)據(jù)傳輸機(jī)制簡(jiǎn)單,傳輸速度快[5],所以該驗(yàn)證平臺(tái)采用UDP協(xié)議實(shí)現(xiàn)基帶數(shù)據(jù)在軟硬件基帶單元之間的傳輸。在驗(yàn)證平臺(tái)中,MCU實(shí)現(xiàn)了基于UDP協(xié)議的服務(wù)端,而上位機(jī)則作為客戶端。基帶數(shù)據(jù)UDP包在FPGA中的處理過(guò)程已在基帶處理模塊中作了詳細(xì)介紹,這里不再贅述。
3 實(shí)例應(yīng)用說(shuō)明
    由于基帶系統(tǒng)設(shè)計(jì)的難點(diǎn)主要在接收機(jī)設(shè)計(jì)中,因此本節(jié)以接收端同步模塊為例,說(shuō)明OFDM基帶驗(yàn)證平臺(tái)在系統(tǒng)設(shè)計(jì)中的工作。
    硬件驗(yàn)證系統(tǒng)的基帶處理模塊采用的FPGA是Altera公司Cyclone II系列的EP2C70。AD/DA的采樣率為20 MHz,精度為12 bit。射頻前端模塊采用單芯片解決方案,工作頻率在2.4 GHz頻段。如圖4所示,兩套系統(tǒng)分別用于發(fā)送和接收。

    發(fā)送端發(fā)送的數(shù)據(jù)幀格式參考802.11a的幀格式[6]。一幀數(shù)據(jù)以10個(gè)16點(diǎn)的短訓(xùn)練序列開(kāi)始;接著是32點(diǎn)的保護(hù)間隔和2個(gè)64點(diǎn)的長(zhǎng)訓(xùn)練序列;然后是80點(diǎn)的Signal段,采用BPSK調(diào)制;最后是若干個(gè)以80點(diǎn)為單位的數(shù)據(jù)塊,測(cè)試時(shí)設(shè)置為22個(gè)數(shù)據(jù)塊,采用16QAM調(diào)制。兩幀之間的間隔為411個(gè)采樣點(diǎn)。
    首先進(jìn)行同步算法的軟件仿真。如圖5(a)所示,硬件基帶單元將AD采樣的數(shù)據(jù)直接送到接收FIFO中,再傳送到上位機(jī)進(jìn)行軟件同步測(cè)試。接收FIFO的深度設(shè)置為64 KB,根據(jù)系統(tǒng)配置,12 bit AD對(duì)IQ信號(hào)進(jìn)行一次采樣剛好是3 B,這樣接收FIFO的一次滿采樣可以得到至少7幀完整的數(shù)據(jù)。采樣數(shù)據(jù)到達(dá)上位機(jī)經(jīng)過(guò)軟件同步處理,圖6給出了處理的結(jié)果。同步算法的基本思路:同步模塊在接收能量超過(guò)設(shè)定閾值后,計(jì)算前后采樣點(diǎn)的歸一化自相關(guān)值,如圖6所示。在短訓(xùn)練序列檢測(cè)中,自相關(guān)值接近1的位置表示短訓(xùn)練序列的位置,即一幀的起始位置。幀定位成功后要進(jìn)行符號(hào)定位,找到數(shù)據(jù)塊的起始位置。同步模塊計(jì)算長(zhǎng)訓(xùn)練序列和采樣點(diǎn)之間的互相關(guān)值,如圖6中長(zhǎng)訓(xùn)練序列檢測(cè)的結(jié)果,在檢測(cè)到短訓(xùn)練序列后連續(xù)320個(gè)樣點(diǎn)內(nèi),最大的兩個(gè)互相關(guān)值對(duì)應(yīng)了兩個(gè)長(zhǎng)訓(xùn)練序列的結(jié)束點(diǎn),從而確定了數(shù)據(jù)塊的起始位置。
    同步算法確定后再進(jìn)行同步模塊的硬件實(shí)現(xiàn),并對(duì)硬件IP核進(jìn)行驗(yàn)證,圖5(b)是同步模塊的硬件驗(yàn)證示意圖。同步模塊檢測(cè)到幀起始后將一幀數(shù)據(jù)采樣到接收FIFO中,再傳送到上位機(jī)進(jìn)行后續(xù)的軟件傅里葉變換和信道均衡處理。圖7給出了16QAM調(diào)制信道均衡前后的星座圖。算法確定后再完成傅里葉變換和信道均衡的硬件實(shí)現(xiàn)和驗(yàn)證。同理,對(duì)于接收端的其他模塊,也在確定算法后逐一完成硬件實(shí)現(xiàn)和驗(yàn)證。

    本文給出了一種OFDM基帶系統(tǒng)軟硬件聯(lián)合測(cè)試平臺(tái)的設(shè)計(jì)方案。該方案將基帶系統(tǒng)分為上位機(jī)的軟件基帶單元和FPGA的硬件基帶單元,通過(guò)以太網(wǎng)基帶系統(tǒng)的軟硬件進(jìn)行實(shí)時(shí)連接,為基帶系統(tǒng)的測(cè)試驗(yàn)證提供了軟硬件統(tǒng)一的平臺(tái)。本文提出的驗(yàn)證平臺(tái)基于實(shí)際的射頻模塊和無(wú)線信道,使基帶系統(tǒng)的設(shè)計(jì)從軟件仿真開(kāi)始就直接面向?qū)嶋H工作環(huán)境,從而使得設(shè)計(jì)工作從軟件到硬件更具有一致性。另外,該測(cè)試平臺(tái)設(shè)計(jì)方法可移植性強(qiáng),通過(guò)選取合適的射頻模塊,可以應(yīng)用于其他各種無(wú)線基帶系統(tǒng)的設(shè)計(jì)。
參考文獻(xiàn)
[1] 王文博,鄭侃.寬帶無(wú)線通信OFDM技術(shù)(第2版)[M].北京:人民郵電出版社,2007.
[2] WILLEMS M,SCHIRRMEISTER F.Virtual prototypes for softwaredominated communication system designs[J].Communications Magazine,2010,48(6):37-43.
[3] 馮華星,何文濤,李曉江.基于FPGA原型的GPS基帶驗(yàn)證系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2010(7):56-61.
[4] IZUMI T,OKADA M,MASAKI T.An FPGA implementation of 200 MBPS CI/OFDM modem for satellite communication  systems[C].Proceedings of the World Automation Congress  (WAC),Kobe,2010:1-6.
[5] LOFGREN A,LODESTEN L,SJOHOLM S.An analysis of  FPGA-based UDP/IP stack parallelism for embedded Ethernet connectivity[C].Proceedings of the 23rd NORCHIP Conference,2005:94-97.
[6] FORT A,EBERLE W.Synchronization and AGC proposal  for IEEE 80211 a burst OFDM systems[C].Proceedings of  the Global Telecommunications Conference,2003,3:1335-1338.

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