摘 要: 介紹了軟件無線電的概念和結(jié)構(gòu),針對傳統(tǒng)軟件無線電實現(xiàn)方案,,提出一種基于SOPC技術(shù)的中頻軟件無線電解決方案,。系統(tǒng)采用基于Nios II軟核處理器的SOPC技術(shù),在ALTERA公司的FPGA上實現(xiàn)了片上系統(tǒng),?;赟OPC技術(shù)的軟件無線電系統(tǒng)具有極高的靈活性、可擴展性,,這充分體現(xiàn)了軟件無線電的設(shè)計思想,。
關(guān)鍵詞: 軟件無線電;SOPC,;FPGA,;Nios II
自從MITRE公司的Jeo MITOLA于1992年5月在美國電信系統(tǒng)會議上首次明確提出了軟件無線電的概念[1]以來,經(jīng)過十多年的發(fā)展,,無論在理論研究方面還是實踐應(yīng)用方面,,軟件無線電都取得了長足的進展。軟件無線電[2]的中心思想就是構(gòu)造一個具有開放性,、標(biāo)準化,、模塊化的通用硬件平臺,通過軟件的重構(gòu)或升級來實現(xiàn)靈活多變的通信體制和通信功能,,并盡可能地使寬帶A/D和D/A轉(zhuǎn)換器靠近射頻天線,,以研制出具有高度靈活性和開放性的新一代無線通信系統(tǒng)。
在軟件無線電的早期實現(xiàn)方案中多是用DSP和ASIC來完成,。然而這種方案有2個突出的缺點:一是系統(tǒng)的速度很難滿足高速動態(tài)實時數(shù)字信號處理的要求,;二是系統(tǒng)的體積大、功耗高,。這2個突出缺點制約了軟件無線電的推廣和應(yīng)用,。隨著可編程邏輯器件密度、規(guī)模和速度的快速增長,各個可編程邏輯器件廠商開始提出自己的SOPC片上可編程系統(tǒng)的軟件和硬件一體化解決方案,,為實現(xiàn)高速數(shù)字信號處理提供了可能,。本文運用基于FPGA的SOPC技術(shù)構(gòu)建了軟件無線電平臺,極大地提高了數(shù)字信號處理的能力和速度,,減少了系統(tǒng)的功耗和體積,。
1 軟件無線電的結(jié)構(gòu)
軟件無線電的核心思想是將A/D,、D/A盡可能地靠近天線,,減少模擬處理的環(huán)節(jié),。在接收端:由天線接收的無線電信號經(jīng)過必要的低噪聲放大后,就直接對其進行數(shù)字化(ADC),,數(shù)字化后的信號經(jīng)過DSP完成數(shù)字下變頻,、數(shù)字濾波、數(shù)字解調(diào)等信號處理任務(wù),;在發(fā)射端:需要發(fā)射的基帶信號通過DSP完成數(shù)字調(diào)制,、數(shù)字上變頻和數(shù)字濾波等信號處理任務(wù)后,經(jīng)DAC轉(zhuǎn)變?yōu)槟M信號,,然后通過功率放大器放大到足夠功率,,最后由天線發(fā)射出去。理想的軟件無線電結(jié)構(gòu)如圖1所示,。
實際上,,上述的軟件無線電結(jié)構(gòu)是很難實現(xiàn)的。首先,,根據(jù)奈奎斯特采樣定理,,A/D的采樣速率至少是其工作帶寬的2倍。例如:對于工作在2 MHz~2 000 MHz的JTRS電臺,,其采樣頻率至少要達到4 GHz,。目前A/D器件的采樣頻率很難達到這個要求,而且,,如果A/D采樣后的大量數(shù)據(jù)流直接交由DSP處理,將給DSP帶來巨大的運算壓力,。以A/D采樣速率僅為100 MHz的A/D器件為例,,DSP每處理1個采樣信號,大約需要100次運算,,則總的運算速率為100×100 M=104 MIPS,。這樣高的運算速率,目前的DSP芯片還難以達到,。
針對上述問題,,目前最常用的一種解決方案為:基于帶通采樣的寬帶中頻軟件無線電結(jié)構(gòu)。它的主要思想是:把射頻信號通過混頻搬移到中頻再帶通采樣,使得A/D采樣率,、輸入帶寬滿足系統(tǒng)要求,,同時在DSP前加數(shù)字下變頻器。
中頻帶通采樣軟件無線電結(jié)構(gòu)采用多次混頻體制,,即超外差體制,,把工作頻段上的某一感興趣的寬帶射頻信號經(jīng)過放大、混頻和濾波變換到統(tǒng)一的中頻FIF上,,最后由A/D轉(zhuǎn)換器對中頻信號進行采樣數(shù)字化,。它的最大好處就是降低了對A/D采樣速率的要求,使軟件無線電可實現(xiàn)性更強,,但是也使得射頻前端復(fù)雜化,。
限于目前DSP的處理瓶頸,A/D采樣后的大量數(shù)據(jù)一般先交由數(shù)字下變頻器進行一些前期的處理再傳遞給DSP進行處理,。數(shù)字下變頻器一方面從包含所有信道的寬帶信號中分離出某一用戶窄帶信道,,另一方面對分離出的某一用戶通道信號抽取、濾波和降低數(shù)據(jù)速率,。數(shù)字下變頻器可采用專用的ASIC芯片,,如TI公司生產(chǎn)的GC5016芯片等,也可采用FPGA編程來實現(xiàn),。與專用的數(shù)字下變頻器件相比,,F(xiàn)PGA具有更大的靈活性,不會過分依賴于硬件,,只需對軟件進行修改就可以對系統(tǒng)進行升級和維護,。
圖2所示為一種典型的帶通采樣的寬帶中頻軟件無線電結(jié)構(gòu)。該設(shè)計方案中DSP主要完成基帶信號處理(如定時同步,、信道估計,、FFT變換、解交織,、編譯碼等),。通用微處理器GPP(General Purpose Processor)一般使用實時操作系統(tǒng)RTOS(Real Time Operation System)來進行任務(wù)調(diào)度和存儲器管理。
2 軟件無線電的解決方案
本文主要實現(xiàn)圖2中的高速數(shù)字信號處理部分,,數(shù)字信號處理模塊是軟件無線電的核心部分,。在圖2中的是高速數(shù)字信號處理部分的一種常用方案,通常是采用分離部件搭建的系統(tǒng)存在體積大,、功耗高,、成本高、各個單元之間的數(shù)據(jù)傳輸速率受限等缺點,。SOPC方案可解決以上問題,,并且還具有極高的靈活性和可擴展性。
SOPC技術(shù)是美國Altrea公司于2000年最早提出的。SOPC是一種特殊的嵌入式系統(tǒng):首先,,它是系統(tǒng)芯片(SOC),,即由單個芯片完成整個系統(tǒng)的主要邏輯功能;其次,,它是可編程系統(tǒng),,具有靈活的設(shè)計方式,可裁剪,、可升級,、可擴充,并具備軟硬件在系統(tǒng)可編程的功能,。它結(jié)合了SOC和FPGA的優(yōu)點,,具有以下基本特征:至少包含1個以上的嵌入式處理器IP核;具有小容量片內(nèi)高速RAM資源,;豐富的IP核資源可供靈活選擇,;有足夠的片上可編程邏輯資源;處理器調(diào)試接口和FPGA編程接口共用或并存,;可包含部分可編程模擬電路,;單芯片、低功耗[3],。
目前主要的嵌入式處理器IP核有軟核和硬核2種,,本文采用Altera公司的Nios II軟核處理器。Nios II核是用戶可隨意配置和構(gòu)建的32位總線指令集和數(shù)據(jù)通道的嵌入式微處理器IP核,,采用Avalon總線結(jié)構(gòu)通信接口,。Nios II有3種性能的處理器內(nèi)核可供選擇:快速的內(nèi)核(Nios II/f)提供高性能;經(jīng)濟的內(nèi)核(Nios II/e)滿足低成本,;標(biāo)準的內(nèi)核(Nios II/s)則用于性能和尺寸的平衡,。此外,Nios II核含有許多可配置的接口模塊核,,包括:可配置高速緩存(包括片內(nèi)ESB,、外部SRAM或SDRAM)模塊、可配置RS232通信口,、SDRAM控制器,、標(biāo)準以太網(wǎng)協(xié)議接口、DMA,、定時器、協(xié)處理器等,。在下載進FPGA前,,用戶可根據(jù)設(shè)計要求,利用Quartus II和SOPC Builder,對Nios II及其外圍系統(tǒng)進行構(gòu)建,,使該嵌入式系統(tǒng)在硬件結(jié)構(gòu),、功能特點、資源占用等方面全面滿足用戶系統(tǒng)設(shè)計的要求,。Nios II核在同一FPGA中被植入的數(shù)量沒有限制,,只要FPGA的資源允許[4]。
采用SOPC技術(shù)對圖2中的高速數(shù)字信號處理部分進行改進,,設(shè)計的SOPC方案如下:將原來由ASIC,、DSP和GPP完成的工作全部交由1片F(xiàn)PGA構(gòu)成的SOPC系統(tǒng)來完成。本文介紹了一種基于SOPC技術(shù)的軟件無線電系統(tǒng)解決方案,,如圖3所示,。
該系統(tǒng)的功能實現(xiàn)如下:由Nios II處理器1完成原來由ASIC完成的數(shù)字上、下變頻處理,,可通過調(diào)用直接數(shù)字合成器DDS(Direct Digital Synthesizer)IP模塊來實現(xiàn),;Nios II處理器2主要完成調(diào)制/解調(diào)工作;Nios II處理器4主要完成編碼/解碼工作,;Nios II處理器3用來替代原系統(tǒng)中的GPP完成系統(tǒng)參數(shù)的動態(tài)配置,、人機交互界面、電臺管理和控制以及系統(tǒng)中Flash配置內(nèi)容的在線更新工作,。其中,,Nios II處理器1、2,、4都采用Nios II/f高速型32位內(nèi)核; Nios II處理器3采用Nios II/s標(biāo)準內(nèi)核,。此外,利用PCI IP核在FPGA中增加了32 bit的PCI Slave總線接口,,省去傳統(tǒng)方案中所需的1塊專用PCI接口芯片,;加入了以太網(wǎng)IP核,配合外部以太網(wǎng)PHY接口芯片為系統(tǒng)擴展了以太網(wǎng)接口,,以便支持設(shè)備通過網(wǎng)絡(luò)遠程對系統(tǒng)進行配置和管理,;增加了SDRAM控制器,為系統(tǒng)外擴了SDRAM存儲器,,進一步增強了系統(tǒng)的數(shù)據(jù)處理能力,。
3 系統(tǒng)的軟硬件實現(xiàn)
下面就高速數(shù)字信號處理部分的硬件選型以及SOPC技術(shù)的開發(fā)流程、開發(fā)工具和編程技術(shù)作簡要介紹,。
3.1 高速ADC和DAC設(shè)計
軟件無線電要求ADC,、DAC盡可能地靠近天線,這需要ADC具有很高的采樣率,、采樣精度和動態(tài)范圍等特征,。本系統(tǒng)的ADC采用BB公司的ADS5520,,它具有12位的分辨率,125 MS/s的采樣速率,;在100 M信號輸入情況下,,信噪比(SNR)高達69.7 dBFS,無寄生動態(tài)范圍(SFDR)高達82 dBC,;芯片既支持3.3 V的單電壓供電,,也支持2.3 V的差分輸入電壓;具有串行編程接口,,可對內(nèi)部寄存器進行編程,,使器件工作在不同的狀態(tài)。
DAC采用BB公司的DAC904芯片,,14位的分辨率,,165 MS/s的轉(zhuǎn)換速率;可以3.3 V或5 V單電壓供電,。信號輸出端使用截止頻率為120 MHz的低通濾波器,,以及雙端到單端變換電路。
3.2 FPGA的設(shè)計
本平臺的FPGA器件選用Altera公司的Stratix II FPGA,。在Stratix II FPGA中,,Altera引入了全新的邏輯單元體系結(jié)構(gòu)——自適應(yīng)邏輯模塊(ALM),以及經(jīng)過改進的片內(nèi)TriMatrix存儲器和數(shù)字信號處理(DSP)模塊,,進一步提高了性能[5],。根據(jù)現(xiàn)有的實驗室條件本系統(tǒng)選用ALTERA公司的Stratix II EP2S60F1020C3型號的FPGA,它的主要特性如表1所示,。
考慮到在Stratix II系列器件上,,Nios II/f內(nèi)核僅占用1 800個邏輯單元卻可以達到超過200 DMIPS的性能,可以計算出前面設(shè)計的4個Nios II處理器再加上一些外圍接口模塊和用戶邏輯,,總共占用的LE資源不會超過40 000,。這款FPGA完全滿足系統(tǒng)的需求,剩余的資源可以留為以后系統(tǒng)升級所用,。
3.3 SOPC的軟硬件開發(fā)技術(shù)
SOPC設(shè)計包括以Nios II軟核處理器為核心的嵌入式系統(tǒng)的硬件配置,、硬件設(shè)計、硬件仿真,、IDE環(huán)境的軟件設(shè)計,、軟件調(diào)試等。SOPC系統(tǒng)設(shè)計的基本軟件工具包括:(1)Quartus II,,用于完成Nios II系統(tǒng)的分析綜合,、硬件優(yōu)化、適配,、配置文件編程下載以及硬件系統(tǒng)測試等,;(2)SOPC Builder,,它是Nios II軟核處理器的開發(fā)包,,用于實現(xiàn)Nios II系統(tǒng)配置,、生成以及與Nios II系統(tǒng)相關(guān)的監(jiān)控和軟件調(diào)試平臺的生成;(3)ModelSim,,用于對SOPC Builder生成的Nios II的HDL描述語言程序進行系統(tǒng)功能仿真,;(4)Matlab/DSP Builder,用于生成Nios II系統(tǒng)的硬件加速器,,進而為Nios II系統(tǒng)定制新的指令,;(5)Nios II IDE,用于完成基于Nios II系統(tǒng)的軟件開發(fā)和調(diào)試,,并可借助其自帶的Flash編程器完成對Flash以及EPCS的編程操作,。此外,Nios II IDE還包括1個指令集成模擬器,、MicroC/OS-II實時操作系統(tǒng),、文件系統(tǒng)以及小型TCP/IP協(xié)議棧[6]。
SOPC的開發(fā)流程通常包括2個方面:基于Quartus II,、SOPC Builder的硬件設(shè)計和基于Nios II IDE的軟件設(shè)計[7],。三者之間的關(guān)系如圖4所示。
特別值得一提的是,,通過Matlab和DSP Builder或直接使用VHDL等硬件描述語言設(shè)計,,用戶可以為Nios嵌入式處理器設(shè)計各類加速器,并以指令的形式加入Nios的指令系統(tǒng),,從而成為Nios系統(tǒng)的一個接口設(shè)備,,與整個片內(nèi)嵌入式系統(tǒng)融為一體。用戶可以根據(jù)設(shè)計項目按具體要求構(gòu)建自己的DSP處理器系統(tǒng),,而不必拘于具體的DSP處理器型號,。
使用SOPC解決方案帶來了整個系統(tǒng)開發(fā)平臺的統(tǒng)一,和其他解決方案相比,,具有體積小,、功耗低、成本低的優(yōu)點,。此外,,開發(fā)環(huán)境的集成統(tǒng)一、IP核的使用等縮短了系統(tǒng)的開發(fā)周期,?;贔PGA的SOPC技術(shù)具有很高的靈活性和開放性,這充分體現(xiàn)了軟件無線電的優(yōu)勢,,是實現(xiàn)軟件無線電系統(tǒng)的理想方案,。
參考文獻
[1] MITOLA J.軟件無線電體系結(jié)構(gòu)——應(yīng)用于無線系統(tǒng)工程中的面向?qū)ο蟮姆椒╗M].趙榮黎,,等譯.北京:機械工業(yè)出版社,2002.
[2] 楊小牛.從軟件無線電到認知無線電,,走向終極無線電——無限通信發(fā)展展望[J].中國電子科學(xué)研究院學(xué)報,,2008,3(1):1-7.
[3] 潘松,,黃繼業(yè),,曾毓.SOPC技術(shù)實用教程[M].北京:清華大學(xué)出版社,2005.
[4] Altera Corporation. Brief of Nios II[Z]. www. Altera. com. cn. 2006.
[5] Altera Corporation. Stratix II Device Handbook[Z]. www. Altera. com. cn. 2005.
[6] 周立功.SOPC嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學(xué)出版社,,2006:16-17.
[7] 姚廷燕,,趙維剛,常青,,等.SOPC技術(shù)在軟件無線電平臺中的應(yīng)用[J].遙測遙控,,2005,26(4):56-60.