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