姚 辰 ,王竹剛 ,熊蔚明
(1.中國科學(xué)院國家空間科學(xué)中心北京100190;2.中國科學(xué)院大學(xué)北京100049)
軟件無線電的概念最早由美國MITRE公司的Joe.Mitola于1992年5月在美國國家遠(yuǎn)程會議上提出,其基本思想是以硬件平臺作為無線電通信的基礎(chǔ),通過軟件編程的方式在此硬件平臺上實現(xiàn)可定制的無線電功能。軟件無線電系統(tǒng)具有數(shù)字化、可編程性、模塊化、可擴展性和開放性的特點,使其在包括通信、雷達、導(dǎo)航等無線電應(yīng)用領(lǐng)域都得到廣泛的認(rèn)可和應(yīng)用[1-4]。
目前主要有兩種軟件無線電方案:一種方案是基于分立器件搭建硬件平臺,這種方案會導(dǎo)致整個系統(tǒng)結(jié)構(gòu)復(fù)雜,功耗大,成本高,另外這種方案的通用性差,針對不同的應(yīng)用環(huán)境需要重新設(shè)計硬件平臺;另一種方案是采用高集成度器件完成多種功能,能降低成本和功耗,提高開發(fā)效率[5-7]。亞諾德半導(dǎo)體有限公司聯(lián)手賽靈思(Xilinx)公司推出的AD9364便是這樣一款高集成度高性能的射頻捷變收發(fā)器[8-9]。
文中主要設(shè)計了一種基于AD9364的通用軟件無線電平臺方案,完成了該系統(tǒng)的FPGA實現(xiàn),利用此系統(tǒng)實現(xiàn)了16APSK調(diào)制器。且進行了相關(guān)的資源消耗評估和性能測試。
此平臺以AD9364和FPGA為核心。選用Xilinx公司帶有Kintex-7系列XC7K325T芯片的KC705評估板以及AD9364配套的AD-FMCOMMS4-EBZ評估套件,二者通過FMC連接。FPGA外聯(lián)PC和用戶終端機。接收時,無線信號經(jīng)過天線、雙工器、低噪聲放大器(Low Noise Amplifier,LNA)通過AD9364,進入FPGA;發(fā)射時,F(xiàn)PGA通過AD9364經(jīng)過功率放大器(Power Amplifier,PA)、雙工器、天線發(fā)射無線信號。雙工器隔離發(fā)射和接收訊號。PC協(xié)助FPGA完成對AD9364的控制;用戶終端機產(chǎn)生數(shù)據(jù)源,并完成后續(xù)的信號和數(shù)據(jù)處理。系統(tǒng)框圖如圖1所示。
圖1 系統(tǒng)框圖
系統(tǒng)包括兩個通路:控制通路和數(shù)據(jù)通路。FPGA功能模塊及接口如圖2所示。
圖2 FPGA功能模塊及接口
控制通路完成對AD9364內(nèi)部寄存器的寫入、讀取和校驗等工作。要求能完成兩種配置寄存器配置方式:通過外部接口配置和通過固化在FPGA內(nèi)部的配置信息配置。為保證在調(diào)試階段AD9364參數(shù)實時可調(diào),要求可通過外部接口對AD9364進行控制;為在實際運行中減少對外部依賴,要求系統(tǒng)可獨立對AD9364進行控制。
控制通路包括6個模塊:通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter,UART)模塊、一級指令解析模塊、只讀存儲器(Read-Only Memory,ROM)及ROM控制模塊、二級指令解析和控制模塊以及串行外設(shè)接口(Serial Peripheral Interface,SPI)讀寫模塊。AD9364的指令有兩種方式獲得。第一種方式是攜帶有寄存器信息的數(shù)據(jù)由UART口進入FPGA,UART模塊完成對數(shù)據(jù)的接收,送入一級指令解析和編碼模塊,得到AD9364的指令。第二種方式是由ROM及ROM控制模塊讀取Block Memory Generator IP 核[10],產(chǎn)生 AD9364的指令。二級指令解析和控制模塊接收AD9364的指令,控制SPI模塊的收發(fā)操作,并能完成等待校準(zhǔn)等工作。若為讀取操作時,此模塊能控制讀回的數(shù)據(jù)經(jīng)過一級指令解析模塊,通過UART模塊發(fā)出。
數(shù)據(jù)通路包括數(shù)據(jù)發(fā)送和數(shù)據(jù)接收兩部分。AD9364的并行數(shù)據(jù)接口有兩種工作模式可選:標(biāo)準(zhǔn)CMOS兼容模式或低電壓差分信號(Low-Voltage Differential Signaling,LVDS)兼容模式。由于LVDS兼容模式能提供更高的數(shù)據(jù)傳輸速率,因此采用此種模式。發(fā)送模塊接收來自基帶處理器的數(shù)據(jù),轉(zhuǎn)換成LVDS形式的信號,發(fā)送給AD9364;接收模塊接收來自AD9364的LVDS形式的信號,還原為I、Q的形式,送入基帶處理器。
AD9364支持時分雙工(Time Division Duplexing,TDD)和頻分雙工(Frequency Division Dual,F(xiàn)DD),工作頻率范圍70MHz到6.0GHz,支持通道帶寬范圍為200 kHz以下至56 MHz。集成射頻前端和部分信號處理功能,采用零中頻架構(gòu),內(nèi)部包括單通道直接變頻射頻接收器和發(fā)射器、模擬濾波器、ADC和DAC以及系統(tǒng)校準(zhǔn)功能[11-14]。其內(nèi)部結(jié)構(gòu)如圖3所示[15]。
控制通路由UART模塊、一級指令解析模塊、ROM及ROM控制模塊、二級指令解析和控制模塊、SPI模塊組成。其中系統(tǒng)將指令解析部分分為兩級,提升了系統(tǒng)的兼容性。
圖3 AD9364功能框圖
一級指令解析模塊在UART配置方式時工作,完成對UART接收數(shù)據(jù)的初步解析,獲取系統(tǒng)級的操作碼和操作數(shù),遞交給二級指令解析和控制模塊,當(dāng)進行讀取操作時可執(zhí)行其逆過程,生成相應(yīng)自己送入UART模塊。由于UART接口一次只能發(fā)送8位信息,而AD9364的寄存器地址為10位,數(shù)據(jù)為8位,加上操作碼,需要UART發(fā)送多次信息才能得到一次完成指令。因此,設(shè)計采用如表1的格式組合UART字節(jié)。
表1 UART字節(jié)格式
將6個UART字節(jié)作為一條完整指令,7至4位為字節(jié)序號,低四位攜帶指令。將第一字節(jié)的低四位設(shè)為系統(tǒng)級操作碼OPCODE,0x0代表配置AD9364。后5個字節(jié)低四位存儲AD9364的指令cfg_cmd。
ROM及ROM控制模塊在通過ROM控制AD9364時工作,通過狀態(tài)機控制,在ROM中讀取一條指令,待執(zhí)行完成后讀取一下條指令,直到最后一條指令執(zhí)行完成。ROM控制狀態(tài)機如圖4所示。
圖4 ROM配置狀態(tài)機
二級指令解析和控制模塊,接收來自一級指令解析模塊或ROM及ROM控制模塊的系統(tǒng)級操作數(shù)cfg_cmd,解析得到ad9364的操作碼cmd_op,寄存器數(shù)據(jù)和地址。若為讀操作,可執(zhí)行其逆過程。cfg_cmd的格式如圖5所示。
圖5 cfg_cmd格式
模塊根據(jù)指令cfg_cmd中的cmd_op獲取需要完成的操作,通過限狀態(tài)機控制SPI模塊完成相應(yīng)操作。狀態(tài)機如圖6所示。此狀態(tài)機控制整個系統(tǒng)完成寄存器寫、寄存器讀、等待和寄存器校驗操作。
寄存器寫操作將數(shù)據(jù)寫入AD9364相應(yīng)地址的寄存器中;寄存器讀操作讀取AD9364相應(yīng)地址的寄存器的值,并通過UART接口將此寄存器的地址和值發(fā)出;等待操作時,系統(tǒng)停止工作一段時間;寄存器校驗操作首先讀取相應(yīng)地址的寄存器內(nèi)的值,檢測其中的校驗位是否滿足校驗值,若滿足即校驗通過,若不滿足則等待一段時間后再次讀取校驗,如此循環(huán),直到校驗通過或超時校驗失敗。
數(shù)據(jù)通路包括數(shù)據(jù)發(fā)送和數(shù)據(jù)接收兩部分。
數(shù)據(jù)源模塊產(chǎn)生要傳輸?shù)臄?shù)據(jù)并完成星座映射。測試中以線性反饋移位寄存器產(chǎn)生的偽隨機數(shù)作為待傳輸數(shù)據(jù),調(diào)制方式采用16APSK。通過星座映射將偽隨機數(shù)映射為I、Q各12 bit的16APSK符號。送入數(shù)據(jù)發(fā)送模塊。
數(shù)據(jù)發(fā)送模塊將每個符號的兩個12 bit的數(shù)據(jù)轉(zhuǎn)換為分4次發(fā)送的4個6 bit數(shù)據(jù)。在一條6 bit寬的總線上發(fā)送。發(fā)送單音信號時的發(fā)送端仿真結(jié)果如圖7所示。
圖7 數(shù)據(jù)通路發(fā)送模塊仿真結(jié)果
接收模塊可將此形式的數(shù)據(jù)還原為各12bit的I、Q數(shù)據(jù)。
利用此平臺實現(xiàn)16APSK調(diào)制。為方便測試,將數(shù)據(jù)源內(nèi)置于FPGA中,采用線性反饋移位寄存器產(chǎn)生的偽隨機數(shù)作為數(shù)據(jù)源。AD9364工作在FDD模式,符號速率30 MHz,由SPI控制ENSM狀態(tài)機,增益控制采用自動模式。
首先在數(shù)據(jù)源模塊完成16APSK的星座映射。根據(jù)文獻[16]設(shè)計映射,星座映射圖如圖8所示。
圖8 16APSK星座圖
由分別在半徑為R1的內(nèi)圓上均勻分布的4個星座點和半徑為R2的外圓上均勻分布的12個星座點組成。每個符號包含4 bit信息,采用格雷碼形式,最高有效位優(yōu)先,表示為:b3b2b1b0。保證每兩個星座點的歐式距離中的最小值最大化,且內(nèi)圓功率最小[17],令
其中γ表示R2和R1的比。
觀察圖8可知,I、Q兩路各含8個幅值,可由3 bit表示。對于I路,可由b3b2b1表示,對于Q路,可由b3b2b0表示。映射后的幅值采用I、Q各12bit的補碼形式表示。I路幅度映射關(guān)系如表2所示,Q路幅度映射關(guān)系如表3所示。
表2 I路幅度映射關(guān)系
表3 Q路幅度映射關(guān)系
其中對于幅度0.258 8和0.259 0映射后的12 bit補碼形式相同。
星座映射后的數(shù)據(jù)通過6 bit寬LVDS形式的數(shù)據(jù)接口發(fā)送到AD9364。
理想脈沖信號的頻譜無限寬的,不能在帶通信道中傳輸,因此要通過濾波器對其頻譜進行限制,同時要求在信號采樣時刻幅度無失真或低失真,這邊是基帶成型。在此系統(tǒng)中,利用AD9364內(nèi)部FIR濾波器完成脈沖成形。采用平方根升余弦(Square Root Raised Cosine,SRRC)形式的濾波器,滾降系數(shù)α=0.43,四倍插值。FIR濾波器沖擊響應(yīng)如圖9所示。
系統(tǒng)在Vivado環(huán)境下完成開發(fā),對系統(tǒng)進行綜合、實現(xiàn)。在包括UART模塊、一級指令解析模塊、ROM及ROM控制模塊、二級指令解析和控制模塊、SPI讀寫模塊、數(shù)據(jù)收發(fā)模塊、16APSK調(diào)制模塊的情況下。其資源使用情況如表4所示。
圖9 FIR濾波器沖擊響應(yīng)
表4 實現(xiàn)后系統(tǒng)資源消耗
首先測試系統(tǒng)的發(fā)射端性能。數(shù)據(jù)源采用偽隨機序列,調(diào)制方式采用16APSK,利用頻譜儀測試頻譜,解調(diào)。測試結(jié)果如圖10所示。可見16APSK信號能正常發(fā)送。
圖10 發(fā)送端頻譜儀測試結(jié)果
對系統(tǒng)的接收端進行測試。對接收端數(shù)據(jù)接收模塊接收的數(shù)據(jù)進行解調(diào),利用MATLAB繪制解調(diào)后的星座圖如圖11所示。得出結(jié)論16APSK通信成功。
圖11 16APSK解調(diào)星座圖
文中介紹了一種基于AD9364的通用軟件無線電平臺的FPGA結(jié)構(gòu)和詳細(xì)設(shè)計。利用此平臺實現(xiàn)了16APSK調(diào)制器并完成了相應(yīng)的測試。此設(shè)計僅占用較小的FPGA資源,便能實現(xiàn)對軟件無線電系統(tǒng)的配置;同時,利用此系統(tǒng)能提高開發(fā)效率,降低發(fā)開的人力和物理成本。此系統(tǒng)中僅使用了必要的Clocking Wizard和Block Memory Generator IP核,其他部分均采用HDL語言的方式實現(xiàn),易于移植到其他型號或品牌的FPGA平臺上,大大提升了系統(tǒng)的通用性。
[1]楊小牛,樓才義,徐建良.軟件無線電技術(shù)與應(yīng)用[M].北京:北京理工大學(xué)出版社,2011.
[2]吳利民,薛峰,吳寧生.軟件無線電技術(shù)及其應(yīng)用[M].武漢:武漢大學(xué)出版社,2000.
[3]陶玉柱,胡建旺,崔佩璋.軟件無線電技術(shù)綜述[J].通信技術(shù),2011,44(1):37-39.
[4]林婧,王宏,方煒,等.軟件無線電的研究現(xiàn)狀綜述[J].計算機測量與控制,2011,19(10):2332-2334,2350.
[5]張健.ADI攜手Xilinx共推系統(tǒng)級SDR解決方案[J].世界電子元器件,2014(5):47-48.
[6]姜浩,張治.基于AD9361的軟件無線電平臺設(shè)計與實現(xiàn)[J].電視技術(shù),2015,39(15):51-54.
[7]郜澤.基于AD9361的軟件無線電硬件平臺設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2015.
[8]王潔.強強聯(lián)手ADI攜手Xilinx共推系統(tǒng)級SDR解決方案[J].電子技術(shù)應(yīng)用,2014(6):1.
[9]軟件定義技術(shù)革命ADI的軟件定義無線電解決方案[J].電子技術(shù)應(yīng)用,2014(7):2.
[10]黃萬偉,董永吉,伊鵬,等.Xilinx FPGA應(yīng)用進階[M].北京:電子工業(yè)出版社,2014.
[11]單祥茹.軟件定義無線電成眾多應(yīng)用必然之選[J].中國電子商情(基礎(chǔ)電子),2015(3):43.
[12]文延?xùn)|,文雙春,劉昱,等.基于軟件無線電的通信信號測試平臺設(shè)計與實現(xiàn)[J].計算機工程與科學(xué),2016,38(9):1769-1775.
[13]張軍.模擬與數(shù)字信號的正交調(diào)制原理與實現(xiàn)[J].電子世界,2016(15):48-49.
[14]于寅虎.廠商聯(lián)合應(yīng)對日益復(fù)雜的SDR設(shè)計ADI攜手Xilinx共推系統(tǒng)級解決方案[J].電子產(chǎn)品世界,2014(6):66-67.
[15]石立國.分布式衛(wèi)星系統(tǒng)星間鏈路關(guān)鍵技術(shù)研究[D].北京:中國科學(xué)院國家空間科學(xué)中心,2016.
[16]謝秋楊.面向衛(wèi)星通信高階調(diào)制解調(diào)16-APSK算法實現(xiàn)研究[D].長沙:湖南大學(xué),2012.
[17]梅凡.衛(wèi)星數(shù)傳系統(tǒng)中16APSK調(diào)制解調(diào)技術(shù)研究[D].北京:中國科學(xué)院國家空間科學(xué)中心,2016.