基于A(yíng)D9361的簡(jiǎn)易頻譜分析儀設計與實(shí)現
地址0x005為AD9361的RFPLL Dividers寄存器,可以配置該寄存器的值,對VCO進(jìn)行分頻,得到接收通路的LO頻率信息。
本文引用地址:http://dyxdggzs.com/article/201608/296189.htm(1)
地址0x012為AD9361的 Parallel Port Configuration寄存器,可以配置AD9361數字接口的方式,本設計中,采用LVDS的雙端口模式,因此,這里設置該寄存器的值為0x10。
地址0x013為AD9361的ENSM Mode寄存器,可以通過(guò)配置該寄存器AD9361的FDD狀態(tài)機和TDD狀態(tài)機之間的轉換。本設計中,采用FDD模式,因此設該寄存器的值為0x01。
AD9361的VCO頻率相關(guān)寄存器地址為0x231~0x235,該組寄存器設置的VCO值可以為6GHz~12GHz,經(jīng)過(guò)0x005寄存器所設置的值進(jìn)行分頻后,作為AD9361 RX的LO。其計算公式為:
(2)
(3)
此外,ADI公司提供了基于Xilinx SDK的AD9361控制函數,可以使用這些函數對AD9361進(jìn)行配置,這樣可以簡(jiǎn)化AD9361的配置過(guò)程,提高工作效率,并提高配置的準確性。
2.2 ZYNQ PS與AD9361的通信
ZYNQ PS與AD9361采用SPI和GPIO接口進(jìn)行通信。ZYNQ內包含兩個(gè)SPI控制器,可以工作在主/從模式或多主機模式下。本次設計采用ZYNQ PS中的一組SPI控制器對AD9361的相關(guān)寄存器進(jìn)行讀寫(xiě)。在ZYNQ上,我們可以通過(guò)MIO引出最多54個(gè)GPIO引腳,所有的GPIO都可以單獨配置成輸入、輸出以及中斷的功能。本設計中,采用GPIO對AD9361的TXNRX、ENABLE以及RESETB引腳進(jìn)行配置,以達到對AD9361控制的目的。
2.3 基于ZYNQ PL的頻譜分析模塊
頻譜分析模塊主要由時(shí)序處理模塊、加窗模塊、FFT模塊及DMA模塊完成,FFT的點(diǎn)數由ZYNQ PS部分通過(guò)AXI_GPIO模塊控制,圖3為ZYNQ PL頻譜分析部分的框圖。
數字信號輸入為模擬信號,經(jīng)過(guò)射頻輸入及轉換模塊后得到的數字信號,該數字信號的采樣率為60MSPS,由LVDS方式通過(guò)FMC接口輸入至該模塊輸入端。
時(shí)序處理模塊將PL中相關(guān)模塊的時(shí)序和AD9361收發(fā)機的數字接口時(shí)序進(jìn)行相互轉換,使其頻譜分析模塊可以正常工作。
由于在使用FPGA進(jìn)行信號處理中,不可能對無(wú)限長(cháng)的信號進(jìn)行測量和分析,只能對信號進(jìn)行截斷,并對截斷部分進(jìn)行周期拓展并進(jìn)行處理。但這樣得到的信號會(huì )發(fā)生頻譜泄露現象。為了減小頻譜泄露的影響,需在計算FFT變換之前采用加窗技術(shù),常見(jiàn)的窗有:hanning窗、hamming窗以及Gaussian窗等。本設計采用8192點(diǎn)的hanning窗,以減少由于信號截斷所帶來(lái)的頻譜泄露現象。
FFT模塊對輸入的數據進(jìn)行FFT或IFFT變換,得到時(shí)域數據的頻譜信息或頻域數據的時(shí)域信息。其中FFT模塊的計算點(diǎn)數為8~8192點(diǎn),FFT模塊使用Xilinx官方提供的IP 核。
ZYNQ PS模塊為頻譜分析模塊提供控制信息,并接收由AXI_DMA傳輸的頻譜數據。ZYNQ PS與AXI_GPIO通過(guò)AXI4協(xié)議進(jìn)行數據傳輸,與AXI_DMA通過(guò)AXI_Lite協(xié)議進(jìn)行控制信號傳輸。FFT與DMA之間使用AXI_Stream協(xié)議進(jìn)行數據傳輸。
DMA與ZYNQ PS HP接口之間通過(guò)AXI協(xié)議進(jìn)行傳輸,這樣可以擁有很高的吞吐率和性能,但需要花費額外的邏輯資源。
2.4 ZYNQ與PC通信
為了更方便地進(jìn)行頻譜分析以及對頻譜分析儀的控制,設計參考文獻[7]采用串口方式將得到的頻譜分析數據發(fā)送到PC端,頻譜分析首先數據經(jīng)過(guò)DMA傳輸到PS的內存中,然后通過(guò)串口將數據發(fā)送到PC端。串口速率傳輸較慢,FFT轉換并不是持續轉換,一次轉換數據全部通過(guò)串口發(fā)送完畢后,再進(jìn)行下一次轉換。
3 系統測試
為了方便觀(guān)察結果,我們在工程中加入了ILA模塊監視AD采集到的數據,如圖4所示,在Vivado中的Hardware Manager中抓取的AD輸入數據,圖5為串口收到對應FFT后的數據。
將AD9361的本振設置為1.9GHz,外接信號源設置為1.902GHz,且頻率為-50dBm,得到的頻譜數據經(jīng)過(guò)上位機處理后得出圖6所示的結果,其中MATLAB所計算出來(lái)的2MHz的功率值為-49.7101dBm。
表1為利用該頻譜分析儀測試的一些數據,測試時(shí)本振設置為1.9GHz。
測試結果表明,該頻譜分析儀通帶范圍為L(cháng)O-20MHz到LO+20MHz,在該通帶范圍內可以較為準確地分析的信號功率為0dBm到-65dBm,平均誤差小于1.5dB。當信號源頻率與LO頻率相差為20MHz時(shí),絕對誤差約為1dB左右。經(jīng)過(guò)分析,是AD9361內部的模擬低通濾波器部分對信號造成了消減,因此產(chǎn)生了誤差。
4 總結與展望
論文采用ZedBoard平臺以及AD9361射頻收發(fā)機設計并實(shí)現了一款簡(jiǎn)易頻譜分析儀,該頻譜分析儀核心部件為AD9361和ZedBoard,外加一臺電腦,成本低廉,方便可靠,成品作為個(gè)人或小型團隊使用。如果對傳輸速率有更高的要求,可以利用ZedBoard的網(wǎng)口將頻譜分析后的數據傳送到PC端。
參考文獻:
[1]Harikrishnan B, Raghul R, Shibu R M, et al. All programmable SOC based standalone SDR platform for researchers and academia[C]// Computational Systems and Communications (ICCSC), 2014 First International Conference on. IEEE, 2014:384 - 386.
[2]陸佳華, 江舟, 馬岷. 嵌入式系統軟硬件協(xié)同設計實(shí)戰指南:基于Xilinx Zynq[M]. 北京:機械工業(yè)出版社, 2013.
[3]Analog Devices, Inc. RF Agile Transceiver AD9361 Data Sheet[EB/OL]. http://www.analog.com/media/en/technical-documentation/data-sheets/AD9361.pdf.
[4]Analog,Devices.AD-FMCOMMS3-EBZ-UserGuide[EB/OL].http://wiki.analog.com/resources/eval/user-guides/ad-fmcomms3-ebz.
[5]孟憲元. Xilinx新一代FPGA設計套件Vivado應用指南[M]. 清華大學(xué)出版社, 2014.
[6]Louise, H. Crockett, Ross, A. Elliot, Martin, A. Enderwitz, Robert, W. Stewart. The Zynq Book Tutorials[J/OL]. http://www.zynqbook.com/downloads.html.
[7]夏柯, 門(mén)蘭寧. 基于ZYNQ-7000 DMA控制器的UART數據傳輸的設計與實(shí)現[J]. 信息系統工程, 2014, (9):113-114.
本文來(lái)源于中國科技期刊《電子產(chǎn)品世界》2016年第8期第49頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處
評論