文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)03-0030-04
正交頻分復(fù)用(OFDM)技術(shù)因具有良好的抗多徑干擾能力以及高效的頻譜利用率等優(yōu)點(diǎn),,在數(shù)字音視頻廣播,、無線局域網(wǎng)等無線通信領(lǐng)域中得到了廣泛的應(yīng)用,成為了下一代無線通信系統(tǒng)的核心技術(shù)[1],。但是,,OFDM基帶系統(tǒng)的功能模塊多,設(shè)計(jì)工作量大,。因此如何高效地測試基帶系統(tǒng)中的算法,、驗(yàn)證硬件模塊的功能,,是完成OFDM基帶系統(tǒng)ASIC設(shè)計(jì)的關(guān)鍵。
基于高級(jí)語言進(jìn)行的軟件仿真可以驗(yàn)證算法的正確性和有效性,,其實(shí)現(xiàn)容易,,修改簡單,調(diào)試方便[2],。但是純軟件仿真難以完全模擬通信系統(tǒng)的實(shí)際工作環(huán)境(如實(shí)際信道衰落,、實(shí)際載波頻率偏移等),使得實(shí)現(xiàn)的算法缺乏對實(shí)際因素的應(yīng)對能力,,更無法保證其硬件實(shí)現(xiàn)能很好地工作在實(shí)際環(huán)境中,。硬件驗(yàn)證是ASIC前端設(shè)計(jì)的關(guān)鍵步驟,通過FPGA平臺(tái)在實(shí)際環(huán)境中測試,,可以驗(yàn)證各模塊能否正常工作[3],。但是硬件驗(yàn)證操作復(fù)雜,靈活性差,,數(shù)據(jù)驗(yàn)證不直觀,。若只進(jìn)行系統(tǒng)的整體驗(yàn)證,則難以定位測試中出現(xiàn)的問題,。雖然各FPGA公司都提供了相應(yīng)的硬件輔助測試工具,,例如Quartus II Signal Tap II邏輯分析工具等[4],但是其存儲(chǔ)容量受限于FPGA內(nèi)部RAM的大小,,而且難以利用其他軟件對數(shù)據(jù)進(jìn)行實(shí)時(shí)處理,。
為了充分利用軟件仿真和硬件驗(yàn)證各自的優(yōu)點(diǎn),本文提出并實(shí)現(xiàn)了一種軟硬件結(jié)合的OFDM基帶系統(tǒng)測試平臺(tái),。該平臺(tái)將基帶系統(tǒng)分成軟件基帶和硬件基帶兩部分,,再將兩者用以太網(wǎng)連接成完整的基帶系統(tǒng),既可以使軟件算法經(jīng)受實(shí)際信道的檢驗(yàn),,也可以使硬件實(shí)現(xiàn)的結(jié)果實(shí)時(shí)地經(jīng)過軟件處理,,從而快速地定位硬件實(shí)現(xiàn)中的問題。
下面首先介紹OFDM基帶系統(tǒng)模型,;然后詳細(xì)介紹OFDM基帶系統(tǒng)驗(yàn)證平臺(tái)設(shè)計(jì),;最后以實(shí)例說明該驗(yàn)證平臺(tái)在實(shí)際算法仿真和硬件驗(yàn)證中的工作過程,并給出相應(yīng)的結(jié)果,。
OFDM基帶系統(tǒng)的模塊眾多,,使其算法實(shí)現(xiàn)復(fù)雜度高,硬件驗(yàn)證難度大,。因此需要設(shè)計(jì)一個(gè)統(tǒng)一平臺(tái),,一方面可以進(jìn)行軟件算法研究及性能分析;另一方面可以對硬件描述語言實(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)可變增益放大器VGA,,用于將解調(diào)后的基帶信號(hào)放大為幅值合適的信號(hào)傳給AD。射頻前端模塊可根據(jù)載波頻率,、發(fā)射功率及接收端的放大倍數(shù)等選擇合適的解決方案。射頻板上留有SPI和I2C接口,,用來實(shí)現(xiàn)對射頻前端各部分的配置,。
2.2 基帶處理模塊
基帶處理模塊是整個(gè)驗(yàn)證平臺(tái)的核心部分,如圖3所示,。該模塊一端通過以太網(wǎng)實(shí)現(xiàn)與上位機(jī)的全雙工通信,,另一端通過AD/DA連接射頻前端模塊。在FPGA內(nèi)部,,主要集成了微控制器MCU,、以太網(wǎng)控制器MAC、直接內(nèi)存訪問控制模塊DMA,、發(fā)送和接收FIFO及OFDM基帶系統(tǒng)中的硬件基帶單元,。
微控制器MCU是兼容51指令集的8 bit微處理器,用于控制系統(tǒng)的運(yùn)行,。例如配置DMA實(shí)現(xiàn)數(shù)據(jù)在MAC和發(fā)送接收FIFO之間的傳輸,;通過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)了對廣播包的過濾功能,。由于FPGA上的MCU工作頻率為16 MHz,百兆以太網(wǎng)的數(shù)據(jù)傳輸速率高達(dá)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ù)包的報(bào)頭部分,,而將大數(shù)據(jù)量的數(shù)據(jù)傳輸交給DMA處理。往PC傳輸數(shù)據(jù)時(shí),,在MCU準(zhǔn)備好報(bào)頭數(shù)據(jù)之后,,DMA獲得MAC的訪問權(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ù)接口位寬則隨著測試模塊的不同而有所不同,,例如測試數(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)證對象的實(shí)體,,是待驗(yàn)證算法的硬件實(shí)現(xiàn),。硬件基帶單元和運(yùn)行于上位機(jī)的軟件基帶單元組成了圖1所示的完整基帶系統(tǒng)。
2.3 軟件基帶單元
軟件基帶單元是用C,、C++等高級(jí)語言實(shí)現(xiàn)的運(yùn)行于上位機(jī)的基帶模塊,。軟件仿真作為硬件IP核設(shè)計(jì)的首要步驟,可以驗(yàn)證算法的正確性和有效性,。算法確定之后,,再用硬件描述語言將其移植到硬件基帶單元,驗(yàn)證其實(shí)現(xiàn)的效果,。由于整個(gè)硬件平臺(tái)的操作是基于實(shí)際的射頻模塊和實(shí)際的無線信道,,因此基帶芯片在實(shí)際環(huán)境中遇到的干擾在軟件算法驗(yàn)證開始時(shí)就得到了真實(shí)反映,,包括信道衰落、載波偏移,、采樣頻率偏移等,,使得基帶芯片的設(shè)計(jì)工作從軟件到硬件更具有一致性。
2.4 UDP數(shù)據(jù)傳輸
因?yàn)橛脩魯?shù)據(jù)報(bào)UDP數(shù)據(jù)傳輸機(jī)制簡單,,傳輸速度快[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中的處理過程已在基帶處理模塊中作了詳細(xì)介紹,,這里不再贅述。
3 實(shí)例應(yīng)用說明
由于基帶系統(tǒng)設(shè)計(jì)的難點(diǎn)主要在接收機(jī)設(shè)計(jì)中,,因此本節(jié)以接收端同步模塊為例,,說明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)練序列開始,;接著是32點(diǎn)的保護(hù)間隔和2個(gè)64點(diǎn)的長訓(xùn)練序列,;然后是80點(diǎn)的Signal段,采用BPSK調(diào)制,;最后是若干個(gè)以80點(diǎn)為單位的數(shù)據(jù)塊,,測試時(shí)設(shè)置為22個(gè)數(shù)據(jù)塊,采用16QAM調(diào)制,。兩幀之間的間隔為411個(gè)采樣點(diǎn),。
首先進(jìn)行同步算法的軟件仿真。如圖5(a)所示,,硬件基帶單元將AD采樣的數(shù)據(jù)直接送到接收FIFO中,,再傳送到上位機(jī)進(jìn)行軟件同步測試。接收FIFO的深度設(shè)置為64 KB,,根據(jù)系統(tǒng)配置,,12 bit AD對IQ信號(hào)進(jìn)行一次采樣剛好是3 B,,這樣接收FIFO的一次滿采樣可以得到至少7幀完整的數(shù)據(jù)。采樣數(shù)據(jù)到達(dá)上位機(jī)經(jīng)過軟件同步處理,,圖6給出了處理的結(jié)果,。同步算法的基本思路:同步模塊在接收能量超過設(shè)定閾值后,計(jì)算前后采樣點(diǎn)的歸一化自相關(guān)值,,如圖6所示,。在短訓(xùn)練序列檢測中,自相關(guān)值接近1的位置表示短訓(xùn)練序列的位置,,即一幀的起始位置,。幀定位成功后要進(jìn)行符號(hào)定位,找到數(shù)據(jù)塊的起始位置,。同步模塊計(jì)算長訓(xùn)練序列和采樣點(diǎn)之間的互相關(guān)值,,如圖6中長訓(xùn)練序列檢測的結(jié)果,在檢測到短訓(xùn)練序列后連續(xù)320個(gè)樣點(diǎn)內(nèi),,最大的兩個(gè)互相關(guān)值對應(yīng)了兩個(gè)長訓(xùn)練序列的結(jié)束點(diǎn),,從而確定了數(shù)據(jù)塊的起始位置。
同步算法確定后再進(jìn)行同步模塊的硬件實(shí)現(xiàn),,并對硬件IP核進(jìn)行驗(yàn)證,,圖5(b)是同步模塊的硬件驗(yàn)證示意圖。同步模塊檢測到幀起始后將一幀數(shù)據(jù)采樣到接收FIFO中,,再傳送到上位機(jī)進(jìn)行后續(xù)的軟件傅里葉變換和信道均衡處理,。圖7給出了16QAM調(diào)制信道均衡前后的星座圖。算法確定后再完成傅里葉變換和信道均衡的硬件實(shí)現(xiàn)和驗(yàn)證,。同理,,對于接收端的其他模塊,也在確定算法后逐一完成硬件實(shí)現(xiàn)和驗(yàn)證,。
本文給出了一種OFDM基帶系統(tǒng)軟硬件聯(lián)合測試平臺(tái)的設(shè)計(jì)方案,。該方案將基帶系統(tǒng)分為上位機(jī)的軟件基帶單元和FPGA的硬件基帶單元,通過以太網(wǎng)基帶系統(tǒng)的軟硬件進(jìn)行實(shí)時(shí)連接,,為基帶系統(tǒng)的測試驗(yàn)證提供了軟硬件統(tǒng)一的平臺(tái),。本文提出的驗(yàn)證平臺(tái)基于實(shí)際的射頻模塊和無線信道,使基帶系統(tǒng)的設(shè)計(jì)從軟件仿真開始就直接面向?qū)嶋H工作環(huán)境,,從而使得設(shè)計(jì)工作從軟件到硬件更具有一致性,。另外,該測試平臺(tái)設(shè)計(jì)方法可移植性強(qiáng),,通過選取合適的射頻模塊,,可以應(yīng)用于其他各種無線基帶系統(tǒng)的設(shè)計(jì)。
參考文獻(xiàn)
[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基帶驗(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.