文獻(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ì)工作量大,。因此如何高效地測(cè)試基帶系統(tǒng)中的算法,、驗(yàn)證硬件模塊的功能,是完成OFDM基帶系統(tǒng)ASIC設(shè)計(jì)的關(guān)鍵,。
基于高級(jí)語言進(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ì)能力,,更無法保證其硬件實(shí)現(xiàn)能很好地工作在實(shí)際環(huán)境中,。硬件驗(yàn)證是ASIC前端設(shè)計(jì)的關(guān)鍵步驟,通過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)的問題,。雖然各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)過軟件處理,從而快速地定位硬件實(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)行軟件算法研究及性能分析,;另一方面可以對(duì)硬件描述語言實(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接口,,用來實(shí)現(xiàn)對(duì)射頻前端各部分的配置,。
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)了對(duì)廣播包的過濾功能,。由于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ù)接口位寬則隨著測(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í)語言實(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ī)制簡(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中的處理過程已在基帶處理模塊中作了詳細(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)的長(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)過軟件同步處理,,圖6給出了處理的結(jié)果。同步算法的基本思路:同步模塊在接收能量超過設(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的硬件基帶單元,通過以太網(wǎng)基帶系統(tǒng)的軟硬件進(jìn)行實(shí)時(shí)連接,,為基帶系統(tǒng)的測(cè)試驗(yàn)證提供了軟硬件統(tǒng)一的平臺(tái),。本文提出的驗(yàn)證平臺(tái)基于實(shí)際的射頻模塊和無線信道,,使基帶系統(tǒng)的設(shè)計(jì)從軟件仿真開始就直接面向?qū)嶋H工作環(huán)境,,從而使得設(shè)計(jì)工作從軟件到硬件更具有一致性。另外,,該測(cè)試平臺(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.