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

基于FPGA的通用軟件無線電平臺設計
基于Xilinx Virtex6 FPGA的通用軟件無線電平臺設計

SORA軟件無線電平臺的介紹和使用說明

評論