文獻標識碼: A
文章編號: 0258-7998(2013)03-0030-04
正交頻分復用(OFDM)技術因具有良好的抗多徑干擾能力以及高效的頻譜利用率等優點,在數字音視頻廣播、無線局域網等無線通信領域中得到了廣泛的應用,成為了下一代無線通信系統的核心技術[1]。但是,OFDM基帶系統的功能模塊多,設計工作量大。因此如何高效地測試基帶系統中的算法、驗證硬件模塊的功能,是完成OFDM基帶系統ASIC設計的關鍵。
基于高級語言進行的軟件仿真可以驗證算法的正確性和有效性,其實現容易,修改簡單,調試方便[2]。但是純軟件仿真難以完全模擬通信系統的實際工作環境(如實際信道衰落、實際載波頻率偏移等),使得實現的算法缺乏對實際因素的應對能力,更無法保證其硬件實現能很好地工作在實際環境中。硬件驗證是ASIC前端設計的關鍵步驟,通過FPGA平臺在實際環境中測試,可以驗證各模塊能否正常工作[3]。但是硬件驗證操作復雜,靈活性差,數據驗證不直觀。若只進行系統的整體驗證,則難以定位測試中出現的問題。雖然各FPGA公司都提供了相應的硬件輔助測試工具,例如Quartus II Signal Tap II邏輯分析工具等[4],但是其存儲容量受限于FPGA內部RAM的大小,而且難以利用其他軟件對數據進行實時處理。
為了充分利用軟件仿真和硬件驗證各自的優點,本文提出并實現了一種軟硬件結合的OFDM基帶系統測試平臺。該平臺將基帶系統分成軟件基帶和硬件基帶兩部分,再將兩者用以太網連接成完整的基帶系統,既可以使軟件算法經受實際信道的檢驗,也可以使硬件實現的結果實時地經過軟件處理,從而快速地定位硬件實現中的問題。
下面首先介紹OFDM基帶系統模型;然后詳細介紹OFDM基帶系統驗證平臺設計;最后以實例說明該驗證平臺在實際算法仿真和硬件驗證中的工作過程,并給出相應的結果。
OFDM基帶系統的模塊眾多,使其算法實現復雜度高,硬件驗證難度大。因此需要設計一個統一平臺,一方面可以進行軟件算法研究及性能分析;另一方面可以對硬件描述語言實現的算法進行驗證。
2 基帶驗證系統的設計
圖2為基帶驗證系統架構圖。整個OFDM基帶驗證系統包括硬件部分與軟件部分,其中硬件部分包括射頻前端模塊和硬件基帶處理模塊;軟件包括軟件基帶單元和UDP數據傳輸程序。
2.1 射頻前端模塊
射頻前端模塊主要是實現基帶信號和射頻信號之間的調制解調,主要包括:(1)本振LO和鎖相環PLL,用于產生穩定的載波信號;(2)射頻調制器和射頻解調器,用于實現基帶信號與射頻信號間的調制與解調;(3)功率放大器PA,用于將射頻信號功率放大并經天線發送出去;(4)低噪聲放大器LNA,用于放大天線接收到的微弱射頻信號;(5)可變增益放大器VGA,用于將解調后的基帶信號放大為幅值合適的信號傳給AD。射頻前端模塊可根據載波頻率、發射功率及接收端的放大倍數等選擇合適的解決方案。射頻板上留有SPI和I2C接口,用來實現對射頻前端各部分的配置。
2.2 基帶處理模塊
基帶處理模塊是整個驗證平臺的核心部分,如圖3所示。該模塊一端通過以太網實現與上位機的全雙工通信,另一端通過AD/DA連接射頻前端模塊。在FPGA內部,主要集成了微控制器MCU、以太網控制器MAC、直接內存訪問控制模塊DMA、發送和接收FIFO及OFDM基帶系統中的硬件基帶單元。
微控制器MCU是兼容51指令集的8 bit微處理器,用于控制系統的運行。例如配置DMA實現數據在MAC和發送接收FIFO之間的傳輸;通過SPI/I2C總線配置射頻前端模塊;在下位機實現基于UDP協議的數據傳輸等。
以太網控制器MAC主要協助MCU完成以太網數據的收發工作。圖3特別標示出MAC模塊實現了對廣播包的過濾功能。由于FPGA上的MCU工作頻率為16 MHz,百兆以太網的數據傳輸速率高達12.5 MB/s,為了避免大量的廣播數據占用過多的MCU資源,廣播包可以由MCU設置禁止接收,從而在MAC層得到過濾,使系統的整體工作效率得到提高。
DMA用于完成收發FIFO與MAC之間的數據傳輸。由于MCU的處理速度受限,因此在數據包的收發過程中,MCU只處理數據包的報頭部分,而將大數據量的數據傳輸交給DMA處理。往PC傳輸數據時,在MCU準備好報頭數據之后,DMA獲得MAC的訪問權限并將接收FIFO中的數據傳送到MAC;從PC接收數據時,DMA在MCU處理了報頭數據后,將數據由MAC傳送到發送FIFO中。
兩個FIFO模塊作為以太網接口和硬件基帶單元之間的數據緩沖,有3個特點:(1)采用異步設計,因為MAC的時鐘頻率為25 MHz,而基帶模塊的時鐘頻率不一定相同,例如AD的采樣頻率可以為10 MHz或20 MHz。(2)連接硬件基帶單元的接口的位寬必須可配置。連接MAC的數據位寬為8 bit,而硬件基帶單元的數據接口位寬則隨著測試模塊的不同而有所不同,例如測試數字解調模塊時,QPSK解調之后的位寬為2 bit,而16QAM解調之后的位寬為4 bit,因此相應的FIFO的位寬必須可配置。(3)FIFO的存儲器可配置為FPGA內部RAM或外部SDRAM。當數據量不大而實時性要求高時可選用內部RAM;當數據量大而實時性要求不高時可選用外部SDRAM。
硬件基帶單元是系統驗證對象的實體,是待驗證算法的硬件實現。硬件基帶單元和運行于上位機的軟件基帶單元組成了圖1所示的完整基帶系統。
2.3 軟件基帶單元
軟件基帶單元是用C、C++等高級語言實現的運行于上位機的基帶模塊。軟件仿真作為硬件IP核設計的首要步驟,可以驗證算法的正確性和有效性。算法確定之后,再用硬件描述語言將其移植到硬件基帶單元,驗證其實現的效果。由于整個硬件平臺的操作是基于實際的射頻模塊和實際的無線信道,因此基帶芯片在實際環境中遇到的干擾在軟件算法驗證開始時就得到了真實反映,包括信道衰落、載波偏移、采樣頻率偏移等,使得基帶芯片的設計工作從軟件到硬件更具有一致性。
2.4 UDP數據傳輸
因為用戶數據報UDP數據傳輸機制簡單,傳輸速度快[5],所以該驗證平臺采用UDP協議實現基帶數據在軟硬件基帶單元之間的傳輸。在驗證平臺中,MCU實現了基于UDP協議的服務端,而上位機則作為客戶端?;鶐祿DP包在FPGA中的處理過程已在基帶處理模塊中作了詳細介紹,這里不再贅述。
3 實例應用說明
由于基帶系統設計的難點主要在接收機設計中,因此本節以接收端同步模塊為例,說明OFDM基帶驗證平臺在系統設計中的工作。
硬件驗證系統的基帶處理模塊采用的FPGA是Altera公司Cyclone II系列的EP2C70。AD/DA的采樣率為20 MHz,精度為12 bit。射頻前端模塊采用單芯片解決方案,工作頻率在2.4 GHz頻段。如圖4所示,兩套系統分別用于發送和接收。
發送端發送的數據幀格式參考802.11a的幀格式[6]。一幀數據以10個16點的短訓練序列開始;接著是32點的保護間隔和2個64點的長訓練序列;然后是80點的Signal段,采用BPSK調制;最后是若干個以80點為單位的數據塊,測試時設置為22個數據塊,采用16QAM調制。兩幀之間的間隔為411個采樣點。
首先進行同步算法的軟件仿真。如圖5(a)所示,硬件基帶單元將AD采樣的數據直接送到接收FIFO中,再傳送到上位機進行軟件同步測試。接收FIFO的深度設置為64 KB,根據系統配置,12 bit AD對IQ信號進行一次采樣剛好是3 B,這樣接收FIFO的一次滿采樣可以得到至少7幀完整的數據。采樣數據到達上位機經過軟件同步處理,圖6給出了處理的結果。同步算法的基本思路:同步模塊在接收能量超過設定閾值后,計算前后采樣點的歸一化自相關值,如圖6所示。在短訓練序列檢測中,自相關值接近1的位置表示短訓練序列的位置,即一幀的起始位置。幀定位成功后要進行符號定位,找到數據塊的起始位置。同步模塊計算長訓練序列和采樣點之間的互相關值,如圖6中長訓練序列檢測的結果,在檢測到短訓練序列后連續320個樣點內,最大的兩個互相關值對應了兩個長訓練序列的結束點,從而確定了數據塊的起始位置。
同步算法確定后再進行同步模塊的硬件實現,并對硬件IP核進行驗證,圖5(b)是同步模塊的硬件驗證示意圖。同步模塊檢測到幀起始后將一幀數據采樣到接收FIFO中,再傳送到上位機進行后續的軟件傅里葉變換和信道均衡處理。圖7給出了16QAM調制信道均衡前后的星座圖。算法確定后再完成傅里葉變換和信道均衡的硬件實現和驗證。同理,對于接收端的其他模塊,也在確定算法后逐一完成硬件實現和驗證。
本文給出了一種OFDM基帶系統軟硬件聯合測試平臺的設計方案。該方案將基帶系統分為上位機的軟件基帶單元和FPGA的硬件基帶單元,通過以太網基帶系統的軟硬件進行實時連接,為基帶系統的測試驗證提供了軟硬件統一的平臺。本文提出的驗證平臺基于實際的射頻模塊和無線信道,使基帶系統的設計從軟件仿真開始就直接面向實際工作環境,從而使得設計工作從軟件到硬件更具有一致性。另外,該測試平臺設計方法可移植性強,通過選取合適的射頻模塊,可以應用于其他各種無線基帶系統的設計。
參考文獻
[1] 王文博,鄭侃.寬帶無線通信OFDM技術(第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基帶驗證系統設計與實現[J].電子技術應用,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.