《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA的OFDM基帶軟硬件聯(lián)合驗證平臺的設(shè)計
基于FPGA的OFDM基帶軟硬件聯(lián)合驗證平臺的設(shè)計
來源:電子技術(shù)應(yīng)用2013年第3期
陸許明,溫偉杰,譚洪舟
中山大學(xué) 信息科學(xué)與技術(shù)學(xué)院,廣東 廣州510006
摘要: 針對OFDM基帶系統(tǒng)的軟件仿真和硬件驗證,提出并設(shè)計了一種基于FPGA的OFDM基帶系統(tǒng)軟硬件聯(lián)合驗證方案。在該方案中,基帶系統(tǒng)由上位機的軟件基帶部分和FPGA的硬件基帶部分組成。兩者之間的數(shù)據(jù)連接由基于以太網(wǎng)的UDP協(xié)議實現(xiàn),從而在驗證平臺上實現(xiàn)了完整的基帶系統(tǒng)。應(yīng)用實例表明,在所提出的基帶系統(tǒng)驗證平臺中,軟件仿真可以運行于實際信道,硬件驗證的結(jié)果可以得到靈活的實時處理。因此該平臺為基帶系統(tǒng)的設(shè)計提供了從算法研究到硬件實現(xiàn)的統(tǒng)一測試環(huán)境,有效提高了設(shè)計效率。
中圖分類號: TN492
文獻標識碼: A
文章編號: 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)點,在數(shù)字音視頻廣播、無線局域網(wǎng)等無線通信領(lǐng)域中得到了廣泛的應(yīng)用,成為了下一代無線通信系統(tǒng)的核心技術(shù)[1]。但是,OFDM基帶系統(tǒng)的功能模塊多,設(shè)計工作量大。因此如何高效地測試基帶系統(tǒng)中的算法、驗證硬件模塊的功能,是完成OFDM基帶系統(tǒng)ASIC設(shè)計的關(guān)鍵。

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

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

 


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

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

    微控制器MCU是兼容51指令集的8 bit微處理器,用于控制系統(tǒng)的運行。例如配置DMA實現(xiàn)數(shù)據(jù)在MAC和發(fā)送接收FIFO之間的傳輸;通過SPI/I2C總線配置射頻前端模塊;在下位機實現(xiàn)基于UDP協(xié)議的數(shù)據(jù)傳輸?shù)取?br/>     以太網(wǎng)控制器MAC主要協(xié)助MCU完成以太網(wǎng)數(shù)據(jù)的收發(fā)工作。圖3特別標示出MAC模塊實現(xiàn)了對廣播包的過濾功能。由于FPGA上的MCU工作頻率為16 MHz,百兆以太網(wǎng)的數(shù)據(jù)傳輸速率高達12.5 MB/s,為了避免大量的廣播數(shù)據(jù)占用過多的MCU資源,廣播包可以由MCU設(shè)置禁止接收,從而在MAC層得到過濾,使系統(tǒng)的整體工作效率得到提高。
    DMA用于完成收發(fā)FIFO與MAC之間的數(shù)據(jù)傳輸。由于MCU的處理速度受限,因此在數(shù)據(jù)包的收發(fā)過程中,MCU只處理數(shù)據(jù)包的報頭部分,而將大數(shù)據(jù)量的數(shù)據(jù)傳輸交給DMA處理。往PC傳輸數(shù)據(jù)時,在MCU準備好報頭數(shù)據(jù)之后,DMA獲得MAC的訪問權(quán)限并將接收FIFO中的數(shù)據(jù)傳送到MAC;從PC接收數(shù)據(jù)時,DMA在MCU處理了報頭數(shù)據(jù)后,將數(shù)據(jù)由MAC傳送到發(fā)送FIFO中。
    兩個FIFO模塊作為以太網(wǎng)接口和硬件基帶單元之間的數(shù)據(jù)緩沖,有3個特點:(1)采用異步設(shè)計,因為MAC的時鐘頻率為25 MHz,而基帶模塊的時鐘頻率不一定相同,例如AD的采樣頻率可以為10 MHz或20 MHz。(2)連接硬件基帶單元的接口的位寬必須可配置。連接MAC的數(shù)據(jù)位寬為8 bit,而硬件基帶單元的數(shù)據(jù)接口位寬則隨著測試模塊的不同而有所不同,例如測試數(shù)字解調(diào)模塊時,QPSK解調(diào)之后的位寬為2 bit,而16QAM解調(diào)之后的位寬為4 bit,因此相應(yīng)的FIFO的位寬必須可配置。(3)FIFO的存儲器可配置為FPGA內(nèi)部RAM或外部SDRAM。當(dāng)數(shù)據(jù)量不大而實時性要求高時可選用內(nèi)部RAM;當(dāng)數(shù)據(jù)量大而實時性要求不高時可選用外部SDRAM。
    硬件基帶單元是系統(tǒng)驗證對象的實體,是待驗證算法的硬件實現(xiàn)。硬件基帶單元和運行于上位機的軟件基帶單元組成了圖1所示的完整基帶系統(tǒng)。
2.3 軟件基帶單元
    軟件基帶單元是用C、C++等高級語言實現(xiàn)的運行于上位機的基帶模塊。軟件仿真作為硬件IP核設(shè)計的首要步驟,可以驗證算法的正確性和有效性。算法確定之后,再用硬件描述語言將其移植到硬件基帶單元,驗證其實現(xiàn)的效果。由于整個硬件平臺的操作是基于實際的射頻模塊和實際的無線信道,因此基帶芯片在實際環(huán)境中遇到的干擾在軟件算法驗證開始時就得到了真實反映,包括信道衰落、載波偏移、采樣頻率偏移等,使得基帶芯片的設(shè)計工作從軟件到硬件更具有一致性。
2.4 UDP數(shù)據(jù)傳輸
    因為用戶數(shù)據(jù)報UDP數(shù)據(jù)傳輸機制簡單,傳輸速度快[5],所以該驗證平臺采用UDP協(xié)議實現(xiàn)基帶數(shù)據(jù)在軟硬件基帶單元之間的傳輸。在驗證平臺中,MCU實現(xiàn)了基于UDP協(xié)議的服務(wù)端,而上位機則作為客戶端?;鶐?shù)據(jù)UDP包在FPGA中的處理過程已在基帶處理模塊中作了詳細介紹,這里不再贅述。
3 實例應(yīng)用說明
    由于基帶系統(tǒng)設(shè)計的難點主要在接收機設(shè)計中,因此本節(jié)以接收端同步模塊為例,說明OFDM基帶驗證平臺在系統(tǒng)設(shè)計中的工作。
    硬件驗證系統(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個16點的短訓(xùn)練序列開始;接著是32點的保護間隔和2個64點的長訓(xùn)練序列;然后是80點的Signal段,采用BPSK調(diào)制;最后是若干個以80點為單位的數(shù)據(jù)塊,測試時設(shè)置為22個數(shù)據(jù)塊,采用16QAM調(diào)制。兩幀之間的間隔為411個采樣點。
    首先進行同步算法的軟件仿真。如圖5(a)所示,硬件基帶單元將AD采樣的數(shù)據(jù)直接送到接收FIFO中,再傳送到上位機進行軟件同步測試。接收FIFO的深度設(shè)置為64 KB,根據(jù)系統(tǒng)配置,12 bit AD對IQ信號進行一次采樣剛好是3 B,這樣接收FIFO的一次滿采樣可以得到至少7幀完整的數(shù)據(jù)。采樣數(shù)據(jù)到達上位機經(jīng)過軟件同步處理,圖6給出了處理的結(jié)果。同步算法的基本思路:同步模塊在接收能量超過設(shè)定閾值后,計算前后采樣點的歸一化自相關(guān)值,如圖6所示。在短訓(xùn)練序列檢測中,自相關(guān)值接近1的位置表示短訓(xùn)練序列的位置,即一幀的起始位置。幀定位成功后要進行符號定位,找到數(shù)據(jù)塊的起始位置。同步模塊計算長訓(xùn)練序列和采樣點之間的互相關(guān)值,如圖6中長訓(xùn)練序列檢測的結(jié)果,在檢測到短訓(xùn)練序列后連續(xù)320個樣點內(nèi),最大的兩個互相關(guān)值對應(yīng)了兩個長訓(xùn)練序列的結(jié)束點,從而確定了數(shù)據(jù)塊的起始位置。
    同步算法確定后再進行同步模塊的硬件實現(xiàn),并對硬件IP核進行驗證,圖5(b)是同步模塊的硬件驗證示意圖。同步模塊檢測到幀起始后將一幀數(shù)據(jù)采樣到接收FIFO中,再傳送到上位機進行后續(xù)的軟件傅里葉變換和信道均衡處理。圖7給出了16QAM調(diào)制信道均衡前后的星座圖。算法確定后再完成傅里葉變換和信道均衡的硬件實現(xiàn)和驗證。同理,對于接收端的其他模塊,也在確定算法后逐一完成硬件實現(xiàn)和驗證。

    本文給出了一種OFDM基帶系統(tǒng)軟硬件聯(lián)合測試平臺的設(shè)計方案。該方案將基帶系統(tǒng)分為上位機的軟件基帶單元和FPGA的硬件基帶單元,通過以太網(wǎng)基帶系統(tǒng)的軟硬件進行實時連接,為基帶系統(tǒng)的測試驗證提供了軟硬件統(tǒng)一的平臺。本文提出的驗證平臺基于實際的射頻模塊和無線信道,使基帶系統(tǒng)的設(shè)計從軟件仿真開始就直接面向?qū)嶋H工作環(huán)境,從而使得設(shè)計工作從軟件到硬件更具有一致性。另外,該測試平臺設(shè)計方法可移植性強,通過選取合適的射頻模塊,可以應(yīng)用于其他各種無線基帶系統(tǒng)的設(shè)計。
參考文獻
[1] 王文博,鄭侃.寬帶無線通信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基帶驗證系統(tǒng)設(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)載。