文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)03-0030-04
正交頻分復(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.