摘要:本論文基于搭建一種具有優(yōu)秀可移植性的高性能通用軟件無線電平臺(tái)的目的。以亞諾德半導(dǎo)體有限公司的射頻捷變收發(fā)器AD9364為核心器件代替由分立器件搭建射頻收發(fā)端,并采用了在Vivado環(huán)境用HDL語言對FPGA進(jìn)行開發(fā)的方法,完成了對AD9364的控制和數(shù)據(jù)收發(fā)操作。FPGA與AD9364間的控制通路分別采用了利用UART接口,以及利用ROMIP核的進(jìn)行AD9364寄存器配置的兩種方法,數(shù)據(jù)接口采用了LVDS兼容模式。利用此平臺(tái)實(shí)現(xiàn)了16APSK調(diào)制。平臺(tái)通過資源占用分析和系統(tǒng)收發(fā)試驗(yàn)。得出了通用軟件無線電平臺(tái)的能完成數(shù)據(jù)收發(fā)且具有優(yōu)秀可移植性的結(jié)論。
軟件無線電的概念最早由美國MITRE公司的Joe.Mitola于1992年5月在美國國家遠(yuǎn)程會(huì)議上提出,其基本思想是以硬件平臺(tái)作為無線電通信的基礎(chǔ),通過軟件編程的方式在此硬件平臺(tái)上實(shí)現(xiàn)可定制的無線電功能。軟件無線電系統(tǒng)具有數(shù)字化、可編程性、模塊化、可擴(kuò)展性和開放性的特點(diǎn),使其在包括通信、雷達(dá)、導(dǎo)航等無線電應(yīng)用領(lǐng)域都得到廣泛的認(rèn)可和應(yīng)用[1-4]。
目前主要有兩種軟件無線電方案:一種方案是基于分立器件搭建硬件平臺(tái),這種方案會(huì)導(dǎo)致整個(gè)系統(tǒng)結(jié)構(gòu)復(fù)雜,功耗大,成本高,另外這種方案的通用性差,針對不同的應(yīng)用環(huán)境需要重新設(shè)計(jì)硬件平臺(tái);另一種方案是采用高集成度器件完成多種功能,能降低成本和功耗,提高開發(fā)效率[5-7]。亞諾德半導(dǎo)體有限公司聯(lián)手賽靈思(Xilinx)公司推出的AD9364便是這樣一款高集成度高性能的射頻捷變收發(fā)器[8-9]。
文中主要設(shè)計(jì)了一種基于AD9364的通用軟件無線電平臺(tái)方案,完成了該系統(tǒng)的FPGA實(shí)現(xiàn),利用此系統(tǒng)實(shí)現(xiàn)了16APSK調(diào)制器。且進(jìn)行了相關(guān)的資源消耗評估和性能測試。
1 總體方案設(shè)計(jì)此平臺(tái)以AD9364和FPGA為核心。選用Xilinx公司帶有Kintex-7系列XC7K325T芯片的KC705評估板以及AD9364配套的AD-FMCOMMS4-EBZ評估套件,二者通過FMC連接。FPGA外聯(lián)PC和用戶終端機(jī)。接收時(shí),無線信號(hào)經(jīng)過天線、雙工器、低噪聲放大器(LowNoiseAmplifier,LNA)通過AD9364,進(jìn)入FPGA;發(fā)射時(shí),F(xiàn)PGA通過AD9364經(jīng)過功率放大器(PowerAmplifier,PA)、雙工器、天線發(fā)射無線信號(hào)。雙工器隔離發(fā)射和接收訊號(hào)。PC協(xié)助FPGA完成對AD9364的控制;用戶終端機(jī)產(chǎn)生數(shù)據(jù)源,并完成后續(xù)的信號(hào)和數(shù)據(jù)處理。系統(tǒng)框圖如圖1所示。
圖1 系統(tǒng)框圖
系統(tǒng)包括兩個(gè)通路:控制通路和數(shù)據(jù)通路。FPGA功能模塊及接口如圖2所示。
圖2 FPGA功能模塊及接口
控制通路完成對AD9364內(nèi)部寄存器的寫入、讀取和校驗(yàn)等工作。要求能完成兩種配置寄存器配置方式:通過外部接口配置和通過固化在FPGA內(nèi)部的配置信息配置。為保證在調(diào)試階段AD9364參數(shù)實(shí)時(shí)可調(diào),要求可通過外部接口對AD9364進(jìn)行控制;為在實(shí)際運(yùn)行中減少對外部依賴,要求系統(tǒng)可獨(dú)立對AD9364進(jìn)行控制。
控制通路包括6個(gè)模塊:通用異步收發(fā)傳輸器(UniversalAsynchronousReceiver/Transmitter,UART)模塊、一級指令解析模塊、只讀存儲(chǔ)器(Read-OnlyMemory,ROM)及ROM控制模塊、二級指令解析和控制模塊以及串行外設(shè)接口(SerialPeripheralInterface,SPI)讀寫模塊。AD9364的指令有兩種方式獲得。第一種方式是攜帶有寄存器信息的數(shù)據(jù)由UART口進(jìn)入FPGA,UART模塊完成對數(shù)據(jù)的接收,送入一級指令解析和編碼模塊,得到AD9364的指令。第二種方式是由ROM及ROM控制模塊讀取BlockMemoryGeneratorIP核[10],產(chǎn)生AD9364的指令。二級指令解析和控制模塊接收AD9364的指令,控制SPI模塊的收發(fā)操作,并能完成等待校準(zhǔn)等工作。若為讀取操作時(shí),此模塊能控制讀回的數(shù)據(jù)經(jīng)過一級指令解析模塊,通過UART模塊發(fā)出。數(shù)據(jù)通路包括數(shù)據(jù)發(fā)送和數(shù)據(jù)接收兩部分。
AD9364的并行數(shù)據(jù)接口有兩種工作模式可選:標(biāo)準(zhǔn)CMOS兼容模式或低電壓差分信號(hào)(Low-VoltageDifferentialSignaling,LVDS)兼容模式。由于LVDS兼容模式能提供更高的數(shù)據(jù)傳輸速率,因此采用此種模式。發(fā)送模塊接收來自基帶處理器的數(shù)據(jù),轉(zhuǎn)換成LVDS形式的信號(hào),發(fā)送給AD9364;接收模塊接收來自AD9364的LVDS形式的信號(hào),還原為I、Q的形式,送入基帶處理器。
2 AD9364性能及結(jié)構(gòu)AD9364支持時(shí)分雙工(TimeDivisionDuplexing,TDD)和頻分雙工(FrequencyDivisionDual,F(xiàn)DD),工作頻率范圍70MHz到6.0GHz,支持通道帶寬范圍為200kHz以下至56MHz。集成射頻前端和部分信號(hào)處理功能,采用零中頻架構(gòu),內(nèi)部包括單通道直接變頻射頻接收器和發(fā)射器、模擬濾波器、ADC和DAC以及系統(tǒng)校準(zhǔn)功能[11-14]。其內(nèi)部結(jié)構(gòu)如圖3所示[15]。
3 控制通路設(shè)計(jì)控制通路由UART模塊、一級指令解析模塊、ROM及ROM控制模塊、二級指令解析和控制模塊、SPI模塊組成。其中系統(tǒng)將指令解析部分分為兩級,提升了系統(tǒng)的兼容性。
圖3 AD9364功能框圖
3.1 一級指令解析模塊一級指令解析模塊在UART配置方式時(shí)工作,完成對UART接收數(shù)據(jù)的初步解析,獲取系統(tǒng)級的操作碼和操作數(shù),遞交給二級指令解析和控制模塊,當(dāng)進(jìn)行讀取操作時(shí)可執(zhí)行其逆過程,生成相應(yīng)自己送入U(xiǎn)ART模塊。由于UART接口一次只能發(fā)送8位信息,而AD9364的寄存器地址為10位,數(shù)據(jù)為8位,加上操作碼,需要UART發(fā)送多次信息才能得到一次完成指令。因此,設(shè)計(jì)采用如表1的格式組合UART字節(jié)。
表1 UART 字節(jié)格式
將6個(gè)UART字節(jié)作為一條完整指令,7至4位為字節(jié)序號(hào),低四位攜帶指令。將第一字節(jié)的低四位設(shè)為系統(tǒng)級操作碼OPCODE,0x0代表配置AD9364。后5個(gè)字節(jié)低四位存儲(chǔ)AD9364的指令cfg_cmd。
3.2 ROM 及ROM 控制模塊ROM及ROM控制模塊在通過ROM控制AD9364時(shí)工作,通過狀態(tài)機(jī)控制,在ROM中讀取一條指令,待執(zhí)行完成后讀取一下條指令,直到最后一條指令執(zhí)行完成。ROM控制狀態(tài)機(jī)如圖4所示。
3.3 二級指令解析和控制模塊二級指令解析和控制模塊,接收來自一級指令解析模塊或ROM 及ROM 控制模塊的系統(tǒng)級操作數(shù)cfg_cmd,解析得到ad9364的操作碼cmd_op,寄存器數(shù)據(jù)和地址。若為讀操作,可執(zhí)行其逆過程。
圖4 ROM配置狀態(tài)機(jī)
cfg_cmd的格式如圖5所示。
圖5 cfg_cmd格式
模塊根據(jù)指令cfg_cmd中的cmd_op獲取需要完成的操作,通過限狀態(tài)機(jī)控制SPI模塊完成相應(yīng)操作。狀態(tài)機(jī)如圖6所示。此狀態(tài)機(jī)控制整個(gè)系統(tǒng)完成寄存器寫、寄存器讀、等待和寄存器校驗(yàn)操作寄存器寫操作將數(shù)據(jù)寫入AD9364相應(yīng)地址的寄存器中;寄存器讀操作讀取AD9364相應(yīng)地址的寄存器的值,并通過UART接口將此寄存器的地址和值發(fā)出;等待操作時(shí),系統(tǒng)停止工作一段時(shí)間;寄存器校驗(yàn)操作首先讀取相應(yīng)地址的寄存器內(nèi)的值,檢測其中的校驗(yàn)位是否滿足校驗(yàn)值,若滿足即校驗(yàn)通過,若不滿足則等待一段時(shí)間后再次讀取校驗(yàn),如此循環(huán),直到校驗(yàn)通過或超時(shí)校驗(yàn)失敗。
圖6 控制狀態(tài)機(jī)
4 數(shù)據(jù)通路設(shè)計(jì)數(shù)據(jù)通路包括數(shù)據(jù)發(fā)送和數(shù)據(jù)接收兩部分。數(shù)據(jù)源模塊產(chǎn)生要傳輸?shù)臄?shù)據(jù)并完成星座映射。測試中以線性反饋移位寄存器產(chǎn)生的偽隨機(jī)數(shù)作為待傳輸數(shù)據(jù),調(diào)制方式采用16APSK。通過星座映射將偽隨機(jī)數(shù)映射為I、Q各12bit的16APSK符號(hào)。送入數(shù)據(jù)發(fā)送模塊。數(shù)據(jù)發(fā)送模塊將每個(gè)符號(hào)的兩個(gè)12bit的數(shù)據(jù)轉(zhuǎn)換為分4次發(fā)送的4個(gè)6bit數(shù)據(jù)。在一條6bit寬的總線上發(fā)送。發(fā)送單音信號(hào)時(shí)的發(fā)送端仿真結(jié)果如圖7所示。
圖7 數(shù)據(jù)通路發(fā)送模塊仿真結(jié)果
接收模塊可將此形式的數(shù)據(jù)還原為各12bit的I、Q數(shù)據(jù)。
5 16APSK 調(diào)制利用此平臺(tái)實(shí)現(xiàn)16APSK調(diào)制。為方便測試,將數(shù)據(jù)源內(nèi)置于FPGA中,采用線性反饋移位寄存器產(chǎn)生的偽隨機(jī)數(shù)作為數(shù)據(jù)源。AD9364工作在FDD模式,符號(hào)速率30MHz,由SPI控制ENSM狀態(tài)機(jī),增益控制采用自動(dòng)模式。首先在數(shù)據(jù)源模塊完成16APSK的星座映射。根據(jù)文獻(xiàn)[16]設(shè)計(jì)映射,星座映射圖如圖8所示。
圖8 16APSK星座圖
由分別在半徑為R1的內(nèi)圓上均勻分布的4個(gè)星座點(diǎn)和半徑為R2的外圓上均勻分布的12個(gè)星座點(diǎn)組成。每個(gè)符號(hào)包含4bit信息,采用格雷碼形式,最高有效位優(yōu)先,表示為:b3b2b1b0。保證每兩個(gè)星座點(diǎn)的歐式距離中的最小值最大化,且內(nèi)圓功率最小[17],
令γ =R2/R1 =2.73
其中γ表示R2和R1的比。觀察圖8可知,I、Q兩路各含8個(gè)幅值,可由3bit表示。對于I路,可由b3b2b1表示,對于Q路,可由b3b2b0表示。映射后的幅值采用I、Q各12bit的補(bǔ)碼形式表示。I路幅度映射關(guān)系如表2所示,Q路幅度映射關(guān)系如表3所示。
其中對于幅度0.2588和0.2590映射后的12bit補(bǔ)碼形式相同。星座映射后的數(shù)據(jù)通過6bit寬LVDS形式的數(shù)據(jù)接口發(fā)送到AD9364。
理想脈沖信號(hào)的頻譜無限寬的,不能在帶通信道中傳輸,因此要通過濾波器對其頻譜進(jìn)行限制,同時(shí)要求在信號(hào)采樣時(shí)刻幅度無失真或低失真,這邊是基帶成型。在此系統(tǒng)中,利用AD9364內(nèi)部FIR濾波器完成脈沖成形。采用平方根升余弦(SquareRootRaisedCosine,SRRC)形式的濾波器,滾降系數(shù)α=0.43,四倍插值。FIR濾波器沖擊響應(yīng)如圖9所示。
6 FPGA 資源使用情況系統(tǒng)在Vivado環(huán)境下完成開發(fā),對系統(tǒng)進(jìn)行綜合、實(shí)現(xiàn)。在包括UART模塊、一級指令解析模塊、ROM及ROM控制模塊、二級指令解析和控制模塊、SPI讀寫模塊、數(shù)據(jù)收發(fā)模塊、16APSK調(diào)制模塊的情況下。其資源使用情況如表4所示。
圖9 FIR濾波器沖擊響應(yīng)
7 測試結(jié)果7.1 16APSK 發(fā)射測試
首先測試系統(tǒng)的發(fā)射端性能。數(shù)據(jù)源采用偽隨機(jī)序列,調(diào)制方式采用16APSK,利用頻譜儀測試頻譜,解調(diào)。測試結(jié)果如圖10所示。可見16APSK信號(hào)能正常發(fā)送。
7.2 系統(tǒng)接收測試對系統(tǒng)的接收端進(jìn)行測試。對接收端數(shù)據(jù)接收模塊接收的數(shù)據(jù)進(jìn)行解調(diào),利用MATLAB繪制解調(diào)后的星座圖如圖11所示。得出結(jié)論16APSK通信成功。
8 結(jié)束語文中介紹了一種基于AD9364的通用軟件無線電平臺(tái)的FPGA結(jié)構(gòu)和詳細(xì)設(shè)計(jì)。利用此平臺(tái)實(shí)現(xiàn)了16APSK調(diào)制器并完成了相應(yīng)的測試。此設(shè)計(jì)僅占用較小的FPGA資源,便能實(shí)現(xiàn)對軟件無線電系統(tǒng)的配置;同時(shí),利用此系統(tǒng)能提高開發(fā)效率,降低發(fā)開的人力和物理成本。此系統(tǒng)中僅使用了必要的ClockingWizard和BlockMemoryGeneratorIP核,其他部分均采用HDL語言的方式實(shí)現(xiàn),易于移植到其他型號(hào)或品牌的FPGA平臺(tái)上,大大提升了系統(tǒng)的通用性。(參考文獻(xiàn)略)
圖10 發(fā)送端頻譜儀測試結(jié)果
圖11 16APSK解調(diào)星座圖
-
射頻
+關(guān)注
關(guān)注
104文章
5622瀏覽量
168280 -
無線電
+關(guān)注
關(guān)注
60文章
2150瀏覽量
116846 -
AD9364
+關(guān)注
關(guān)注
2文章
4瀏覽量
11323
原文標(biāo)題:基于AD9364軟件無線電平臺(tái)的FPGA設(shè)計(jì)與實(shí)現(xiàn)
文章出處:【微信號(hào):gh_f97d2589983b,微信公眾號(hào):高速射頻百花潭】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論