999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Zynq異構(gòu)多核的無線電信號采集終端系統(tǒng)設(shè)計(jì)

2018-04-11 09:14:02
關(guān)鍵詞:程序信號系統(tǒng)

(1.西安電子科技大學(xué) 電子工程學(xué)院,西安 710071;2.電子信息控制重點(diǎn)實(shí)驗(yàn)室)

引 言

隨著無線電通信行業(yè)的迅猛發(fā)展,相關(guān)的各類無線電通信業(yè)務(wù)應(yīng)用日益廣泛,無線電信號監(jiān)測已成為了民用無線電管理的主要需求。目前市場的無線電信號監(jiān)測設(shè)備大多是采用射頻變頻接收模塊,將射頻無線電信號放大變頻至中頻,在模數(shù)轉(zhuǎn)換之后,以FPGA+DSP作為下位機(jī)、以PC機(jī)作為上位機(jī)實(shí)施信號分析,這樣的結(jié)構(gòu)不僅體積龐大,不便攜帶,而且功耗較高,無法適應(yīng)靈活的應(yīng)用環(huán)境。

本文研究并設(shè)計(jì)了一種以Zynq-7000系列SoC為核心,AD9361為采樣前端的無線電信號采集監(jiān)測系統(tǒng),Zynq-7000系列是目前應(yīng)用十分廣泛的ARM+FPGA架構(gòu)的SoC,以它為核心的設(shè)計(jì)難點(diǎn)在于軟硬件協(xié)同開發(fā)。我們所設(shè)計(jì)的這套系統(tǒng)將信號變頻接收、采集、處理、顯示、存儲、傳輸融為一體,并定制了嵌入式Linux操作系統(tǒng),具有實(shí)時性強(qiáng)、便于攜帶、升級簡單的優(yōu)點(diǎn)。

1 系統(tǒng)組成

1.1 Zynq-7000結(jié)構(gòu)

Zynq-7000是Xilinx公司推出的新一代全編程片上系統(tǒng)架構(gòu),其系列產(chǎn)品以ARM+FPGA為主要結(jié)構(gòu),使得ARM和FPGA之間可以優(yōu)勢互補(bǔ)。本設(shè)計(jì)采用的型號是XC7Z045,該產(chǎn)品是Zynq-7000系列中配置較為高端的一款片上系統(tǒng)。整個系統(tǒng)分為PS(Processing System)和PL(Programming Logic)兩部分,如圖1所示。

圖1 Zynq-7000 XC7Z045結(jié)構(gòu)

其中,PS含有ARM雙核Cortex-A9處理器,每個核都配備了NEON和浮點(diǎn)運(yùn)算單元,最高運(yùn)行頻率為1 GHz。每個單核都具有獨(dú)立的L1緩存和MMU,是典型的異構(gòu)多核處理器。PS中還擁有豐富的外設(shè),包括各種外設(shè)接口。

PS擁有自己的時鐘源和存儲器接口,不需要借助PL配置即可啟動運(yùn)行。

圖3 采集系統(tǒng)整體結(jié)構(gòu)

PL部分屬于Xilinx典型的FPGA結(jié)構(gòu),其性能和邏輯密度相當(dāng)于Xilinx Kintex-7 FPGA器件,還具備了大量的Block RAM和DSP Slice,完全可以勝任復(fù)雜的邏輯設(shè)計(jì)。在非調(diào)試模式下,PL無法單獨(dú)啟動,系統(tǒng)總是優(yōu)先啟動PS并從存儲器中導(dǎo)入Bitstream文件后才能配置PL。

PS和PL之間可通過多種方式進(jìn)行通信,包括GP、HP、ACP、EMIO、IRQ、DMA等接口。

1.2 射頻捷變收發(fā)器AD9361

本設(shè)計(jì)采用ADI公司推出的AD-FMComms3-EBZ評估板作為數(shù)據(jù)采集前端。該評估板是一款以AD9361為核心,高性能、高集成度的射頻收發(fā)器。這套評估板具有兩套獨(dú)立的收發(fā)設(shè)備,即兩個接收通道和兩個發(fā)射通道,每個通道均可以工作在70 MHz~6 GHz的頻段范圍內(nèi),由于系統(tǒng)對模擬信號采取了零中頻正交采樣的方式,因此每個通道在基帶又可分為I路子通道和Q路子通道,每個子通道都具有獨(dú)立的12位ADC/DAC,其基帶采樣頻率從200 kHz~56 MHz。其中接收通道的結(jié)構(gòu)圖2所示。

圖2 AD9361內(nèi)部接收電路結(jié)構(gòu)圖

1.3 系統(tǒng)整體設(shè)計(jì)

本設(shè)計(jì)的整體框圖如圖3所示,信號由監(jiān)測天線進(jìn)入AD9361,經(jīng)過放大、下變頻、正交采樣后得到IQ兩路數(shù)據(jù),并傳入PL中。數(shù)據(jù)由AD9361控制器IP接收并打包成64位數(shù)據(jù)后存入FIFO當(dāng)中,通過PS中DMA將FIFO的數(shù)據(jù)傳入內(nèi)存中,PS中的程序通過訪問內(nèi)存獲得了采樣數(shù)據(jù),并利用協(xié)處理器NEON和VFP引擎對其進(jìn)行處理,最終進(jìn)行數(shù)據(jù)可視化之后,通過HDMI輸出顯示內(nèi)容,同時可以將有用的數(shù)據(jù)保存在SDHC卡中。

本設(shè)計(jì)開發(fā)可以分成三個階段:第一階段是硬件邏輯設(shè)計(jì),包括對PL中的IP核進(jìn)行邏輯設(shè)計(jì)和布局,開發(fā)環(huán)境為Vivado,最終生成hdf文件和Bitstream文件。第二階段是嵌入式Linux軟件環(huán)境定制,包括對Linux的定制和移植,以及驅(qū)動程序的編寫調(diào)試,主要在Xilinx SDK和PetaLinux中完成。第三階段是在Linux平臺下編寫無線電信號采集監(jiān)測的軟件應(yīng)用程序,包括對利用協(xié)處理器對數(shù)據(jù)進(jìn)行計(jì)算和數(shù)據(jù)可視化,在QT中實(shí)現(xiàn)。

2 硬件邏輯設(shè)計(jì)

2.1 AD9361接口

AD9361的通信接口可分為數(shù)據(jù)接口和控制接口。

數(shù)據(jù)接口主要負(fù)責(zé)采樣數(shù)據(jù)的通信,有LVDS和CMOS兩種接口形式,二者速率均可達(dá)122.88 MHz,本設(shè)計(jì)采用LVDS模式,時序如圖4所示。

參照此時序,設(shè)計(jì)了AD9361接收模塊IP,每個通道的采樣位數(shù)是12位,根據(jù)半字(16位)對齊,將差分的時序信號轉(zhuǎn)換并成32位的數(shù)據(jù)格式。

圖4 AD9361數(shù)據(jù)接口時序

控制接口的通信方式是SPI總線,主要是負(fù)責(zé)訪問AD9361內(nèi)部寄存器。通過配置8位寄存器來實(shí)現(xiàn)對接收鏈路的控制和狀態(tài)監(jiān)測。其寄存器有統(tǒng)一的編址,如控制內(nèi)部VCO以分頻產(chǎn)生RF信號的寄存器RF PLL_Deviders,其地址是0x005。AD9361的初始化寄存器配置十分復(fù)雜,但在通常情況下,開發(fā)者不需要了解寄存器配置的信息,因?yàn)锳DI公司已經(jīng)為開發(fā)者提供了配置AD9361的板級支持包(BSP),開發(fā)者只需要調(diào)用特定的API函數(shù),就可以完成AD9361相應(yīng)的配置。

如使用ad9361_set_rx_sampling_freq()函數(shù)設(shè)置接收設(shè)備的采樣頻率。PS部分具備SPI控制器,無需在PL中實(shí)現(xiàn)IP核,但需要在對PS的邏輯設(shè)計(jì)中使能SPI控制器。

2.2 FIFO IP設(shè)計(jì)

本設(shè)計(jì)中的FIFO IP如圖5所示。

圖5 FIFO邏輯IP核

FIFO是信號采集系統(tǒng)中一個重要的設(shè)計(jì)。在高速信號采集中,采集速度往往超過數(shù)據(jù)處理速度,因此通常采取的策略是利用FIFO存儲足夠長時間的數(shù)據(jù),再送到處理單元處理,因此FIFO的大小決定了數(shù)據(jù)采集系統(tǒng)的最大采樣深度和最大采樣寬度。本設(shè)計(jì)的前端采樣速率最大為50 MHz,而通常無線通信信號的碼片長度不會超過100 ms,因此本設(shè)計(jì)中將FIFO的深度設(shè)置為8 MB,單路數(shù)據(jù)寬度為16位,這樣在系統(tǒng)以最高采樣速率運(yùn)行時FIFO仍可以記錄160 ms以上的數(shù)據(jù)。

2.3 PS-PL接口配置

Vivado提供了邏輯IP核Processing System 7作為PL連接PS的接口,如圖6所示。在本設(shè)計(jì)中,PS部分需要通過自身的DMAC將PL部分FIFO中的數(shù)據(jù)讀入內(nèi)存,并接收來自PL的中斷。同時,PL中還例化了VDMA和HDMI接口邏輯IP核,作為視頻輸出控制器,VDMA則通過AXI Stream總線與PS連接。由于AD9361的SPI總線連接的是XC7Z045的PL引腳,因此需要將PS部分SPI控制器的引腳通過內(nèi)部互聯(lián)總線映射到對應(yīng)的PL引腳上。

圖6 Processing System 7邏輯IP核(局部)

完成硬件邏輯設(shè)計(jì)之后,通過Vivado的驗(yàn)證、分析和綜合,最終得到硬件描述文件system.hdf和FPGA配置文件Bitstream。

3 軟件環(huán)境搭建

由于整個系統(tǒng)要實(shí)現(xiàn)采集、處理、存儲及顯示等多種任務(wù),采用裸機(jī)運(yùn)行顯然無法勝任,因此本設(shè)計(jì)為Zynq-7000移植了操作系統(tǒng)。

3.1 Zynq-7000 PS啟動原理

Zynq-7000 PS軟件程序啟動分為三個階段。

系統(tǒng)上電之后,最先執(zhí)行的是內(nèi)部BootROM存儲的固件代碼,這部分代碼用戶無法修改,其功能是初始化ARM內(nèi)核和與啟動模式相關(guān)的外設(shè),并讀取MIO config引腳的狀態(tài),根據(jù)引腳的狀態(tài)決定下一階段的啟動模式(如SD卡啟動、Flash啟動等)。在該段程序結(jié)束時,系統(tǒng)將把下一階段的代碼從相應(yīng)的存儲設(shè)備里載入到OCM(on-chip memory,片上存儲器)。

第二階段所執(zhí)行的代碼稱為FSBL(the First Stage Boot Loader),這部分代碼由用戶自行燒寫到存儲設(shè)備中,其作用通常是初始化整個PS所需的外設(shè),加載中斷向量表,如果檢測到FPGA配置文件,則還會將配置文件燒入PL中。但由于OCM存儲容量有限,一個FSBL代碼的長度為192 KB,無法運(yùn)行較為復(fù)雜的程序,所以FSBL在結(jié)束時會調(diào)用函數(shù)FsblHandoff(),將處理器的程序流程定位到用戶自定義的程序入口中,從而進(jìn)入第三階段。對于裸機(jī)系統(tǒng)而言,第三階段程序入口就是用戶程序中的主函數(shù)main(),對于Linux操作系統(tǒng)而言則是u-boot。

3.2 FSBL定制

通常,F(xiàn)SBL的制作是在Xilinx的軟件開發(fā)環(huán)境XSDK中完成。對于Zynq-7000器件,XSDK提供了模板工程,開發(fā)者可以在此工程的基礎(chǔ)上定制FSBL。FSBL程序流程如圖7所示。本設(shè)計(jì)采用SD啟動模式,將所有的程序下載至SD卡中。在XSDK中創(chuàng)建FSBL模板工程,編寫相應(yīng)程序,由XSDK編譯生成可執(zhí)行文件fsbl.elf。

圖7 FSBL程序流程

3.3 制作Linux鏡像

一個完整的Linux系統(tǒng)由bootloader、設(shè)備樹、內(nèi)核以及文件系統(tǒng)組成。相關(guān)介紹如表1所列。

表1 Linux組成部分

上述目標(biāo)文件生成后,利用PetaLinux進(jìn)行打包。PetaLinux是Xilinx公司推出的專門為含Xilinx FPGA器件的嵌入式系統(tǒng)定制Linux操作系統(tǒng)的開發(fā)工具。其人機(jī)交互主要以命令行的方式,能夠快速地幫助開發(fā)者構(gòu)建Linux鏡像。在Ubuntu 16.04中安裝PetaLinux組件后,可以直接通過petalinux-package- -boot命令實(shí)現(xiàn)打包生成鏡像。該命令的主要參數(shù)如下:

- -fsbl FSBL:指定FSBL文件

- -fpga BITSTREAM:指定Bitstream文件

- -u-bootUBOOT-IMG:指定u-boot鏡像文件

- -kernel KERNEL-IMG:指定Linux內(nèi)核鏡像文件

- -output OUTPUTFILE:指定輸出文件

圖8 SDHC卡分區(qū)

因而本設(shè)計(jì)使用如下指令生成鏡像:

petalinux-package - -boot - -fsbl fsbl.elf - -fpga design_1.hdf - -u-boot u-boot.elf - -kernel image.ub - -output.

將生成的鏡像文件燒寫入SD卡,最終在SD卡上會形成圖8所示分區(qū)。

將SD卡插入zc706開發(fā)板中,將啟動模式配置為SD啟動,上電后開發(fā)板將自動進(jìn)入Linux系統(tǒng)。

4 軟件設(shè)計(jì)

4.1 軟件總體設(shè)計(jì)

為了發(fā)揮ARM Cortex-A處理器的性能,本設(shè)計(jì)在軟件上采取了多線程設(shè)計(jì),將數(shù)據(jù)按流式處理方式分成了獲取、處理和可視化顯示三個階段,每個階段設(shè)計(jì)了單獨(dú)的線程,使得這三個階段的任務(wù)可以在軟件中并發(fā)執(zhí)行,縮短了時延,提高了效率。三個線程的任務(wù)分配如表2所列。

表2 線程任務(wù)分配

線程之間通過帶有讀寫鎖的共享緩存?zhèn)鬟f數(shù)據(jù),使得各線程在讀寫數(shù)據(jù)時不產(chǎn)生沖突。通過Qt的信號/槽機(jī)制傳遞控制參數(shù)。圖9表明了軟件中各線程在程序處理流程中的位置和作用。

圖9 軟件流程

數(shù)據(jù)處理階段的主要處理算法是FFT,同時還會計(jì)算信號的平均功率、方差、估算噪底、搜索極值、將時、頻域的數(shù)據(jù)寫入disp_buffer之后,由main_thread線程將數(shù)據(jù)展現(xiàn)給用戶。

4.2 使用NEON和VFP優(yōu)化數(shù)據(jù)處理

ARM硬件加速的基礎(chǔ)是ARMv7架構(gòu)中的兩大應(yīng)用擴(kuò)展——NEON和VFP(Vector Floating-Point)。NEON是ARMv7中一個重要的協(xié)處理器,它允許開發(fā)者使用SIMD(Single Instruction,Multiple Data)操作,即多組數(shù)據(jù)并行操作。NEON擁有16個128位寄存器(又可視為32個64位寄存器),并有專門的指令集,可以對大量的操作數(shù)進(jìn)行向量化的操作,如果向量加法。VFP是與NEON緊密相連的又一重要的協(xié)處理器,它是傳統(tǒng)FPU(浮點(diǎn)運(yùn)算單元)的提升,它除了提供浮點(diǎn)數(shù)的基本運(yùn)算(加、減、乘、除、開方、比較、取反)之外,還具有向量化的功能,即同時支持8組單精度和4組雙精度的浮點(diǎn)數(shù)運(yùn)算。為了能在算法程序中使用NEON和VFP,必須在編寫算法程序的基礎(chǔ)上完成兩方面的工作。

(1)使用ARMC語言擴(kuò)展類型

在程序中添加頭文件,該頭文件將NEON中的寄存器映射成了數(shù)據(jù)類型,如int8x8_t、int16x4_t、float32x2_t等類型對應(yīng)了64位寄存器,int8x16_t、float16x8_t、float32x4_t等類型對應(yīng)了128位寄存器。同時還定義了很多復(fù)合類型和訪問NEON引擎的操作,在算法程序編寫中應(yīng)該盡可能地將數(shù)據(jù)對應(yīng)到相應(yīng)類型中。

(2)設(shè)置GCC編譯選項(xiàng)

在編譯使用了NEON和VFP的源文件時,應(yīng)當(dāng)添加如表3所列的編譯選項(xiàng),以產(chǎn)生NEON和VFP指令。

表3 GCC生成NEON指令的配置選項(xiàng)

本文以一個4 096點(diǎn)的基2-FFT程序作為硬件加速的測試。測試結(jié)果如表4所列。

表4 硬件加速測試

可見使用了NEON和VFP,數(shù)據(jù)處理的時間得以大幅縮短。

4.3 數(shù)據(jù)可視化

為了便于使用者觀察數(shù)據(jù),本文基于Qt擴(kuò)展組件Qwt設(shè)計(jì)了用戶界面,如圖12所示。main_thread線程設(shè)置每個0.2 s讀取一次緩存中的數(shù)據(jù),故兩個坐標(biāo)圖的刷新速率是5 Hz。用戶通過圖形界面將設(shè)定的參數(shù)傳入main_thread線程,main_thread將用戶配置參數(shù)打包成信號發(fā)射到processing_thread線程的接收槽中,然后processing_thread線程根據(jù)參數(shù)調(diào)整數(shù)據(jù)處理過程,并通過調(diào)用AD9361 API,完成配置。

5 測 試

完成硬件設(shè)計(jì)后,Vivado將會生成FPGA資源使用情況報(bào)告,如圖10所示。可見Zynq-7000完成可以勝任無線電信號采集監(jiān)測系統(tǒng)的設(shè)計(jì)。

圖10 FPGA使用情況報(bào)告

測試平臺采用Xilinx zc706評估板,采集前為ADI FMCOMMS3無線收發(fā)板卡,如圖11所示,測試分為單一頻段測試和全頻段掃頻測試。

圖11 采集系統(tǒng)板卡

5.1 單一頻點(diǎn)測試

測試方法:由射頻信號發(fā)生器在該系統(tǒng)附近發(fā)送2 880 MHz單頻信號,在控制面板的“頻道”下拉框中選擇2.90 GHz,“顯示”下拉框選擇“功率譜”,單位為“dB”。則系統(tǒng)將會監(jiān)測2.85~2.95 GHz范圍內(nèi)的時頻數(shù)據(jù)。顯示結(jié)果如圖12所示。可以觀察到頻譜中顯示了兩個峰值,分別處于2 880 MHz和2 920 MHz,其中2 920 MHz信號是鏡頻泄漏。

圖12 用戶界面

5.2 掃頻測試

測試方法:在控制面板上設(shè)置“起始頻率”為500 MHz,終止頻率為3 000 MHz,則系統(tǒng)將以每次50 MHz帶寬的速度掃描指定頻率范圍。最終生成如圖13所示的頻譜,其RBW為200 kHz。從頻譜中可以觀察到通信頻段1 900 M的狀態(tài),證明了系統(tǒng)的可行性。

結(jié) 語

圖13 掃頻結(jié)果

[1] 高亞棟,范夢蘭,譚曉波,等.基于虛擬儀器技術(shù)的頻譜監(jiān)測與分析系統(tǒng)的實(shí)現(xiàn)[J].無線通信技術(shù),2014,23(1):14-18,23.

[2] 董淵,王生原,陳嘉,等.嵌入式CPU軟硬件協(xié)同開發(fā)中的操作系統(tǒng)設(shè)計(jì)[J].清華大學(xué)學(xué)報(bào):自然科學(xué)版,2005(7):973-976.

[3] 郭星煌.基于AD9361的便攜式無線電信號監(jiān)測采集系統(tǒng)設(shè)計(jì)[J].科技創(chuàng)新與應(yīng)用,2016(11):7-8.

[4] 馮莉.一款基于嵌入式的頻譜監(jiān)測軟件設(shè)計(jì)及實(shí)現(xiàn)[J].數(shù)字通信世界,2017(7):5,18.

[5] 周鴻順.我國無線電監(jiān)測工作的現(xiàn)狀與發(fā)展[J].郵電設(shè)計(jì)技術(shù),2002(8):9-15.

[6] Implementation of baseband transmitter design based on QPSK modulation on Zynq-7000 all-programmable System-on-Chip[C]//2017 International Symposium on Electronics and Smart Devices (ISESD), Yogyakarta, Indonesia, 2017:138-143.

[7] Tongxiang Shi, Wenbin Guo, Lishan Yang ,et al.Remote wideband data acquiring system based on ZC706 and AD9361[C]//2015 IEEE International Wireless Symposium (IWS 2015), Shenzhen, 2015: 1-4.

徐劍韜(碩士研究生),主要研究方向?yàn)殡娮訉梗皇瘶s(研究員),主要研究方向?yàn)殡娮訉埂?/p>

猜你喜歡
程序信號系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
完形填空二則
試論我國未決羈押程序的立法完善
基于FPGA的多功能信號發(fā)生器的設(shè)計(jì)
電子制作(2018年11期)2018-08-04 03:25:42
“程序猿”的生活什么樣
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
英國與歐盟正式啟動“離婚”程序程序
主站蜘蛛池模板: 中文字幕在线播放不卡| 中文字幕不卡免费高清视频| 亚洲精品亚洲人成在线| 26uuu国产精品视频| 国产亚卅精品无码| 欧美a在线看| 手机在线看片不卡中文字幕| 亚洲另类国产欧美一区二区| 久久免费精品琪琪| 日韩久久精品无码aV| 免费国产无遮挡又黄又爽| 国产麻豆va精品视频| 亚洲国产成人精品一二区| 在线精品视频成人网| 国产一区二区三区视频| 亚洲三级色| 国产免费网址| 国产精品自拍露脸视频| 人妻出轨无码中文一区二区| 国产精品自拍露脸视频| 国产区网址| 成人a免费α片在线视频网站| 天天综合网在线| 综合网天天| 精品久久久久久中文字幕女| 久久99国产综合精品1| 亚洲中文字幕手机在线第一页| 亚洲美女一级毛片| 亚洲成人在线免费观看| 5555国产在线观看| 青草国产在线视频| 亚洲人成影视在线观看| 成年看免费观看视频拍拍| 亚洲免费人成影院| 国产亚洲精品97AA片在线播放| 伊人久久久久久久久久| 欧美在线黄| 欧美国产视频| 免费毛片全部不收费的| 国产成人啪视频一区二区三区| 欧美激情视频一区| 伊人久久大香线蕉综合影视| 欧美日韩在线亚洲国产人| av天堂最新版在线| 国产午夜看片| 欧美日本中文| 亚洲欧美另类色图| 国产靠逼视频| 亚洲中文久久精品无玛| 亚洲毛片在线看| 亚洲有无码中文网| 日韩大片免费观看视频播放| 午夜三级在线| 日本高清视频在线www色| 第一区免费在线观看| 99久久精品国产精品亚洲 | 亚洲第一视频区| 欧美a网站| 亚洲精品日产AⅤ| 午夜精品国产自在| 欧洲日本亚洲中文字幕| 国产乱人伦AV在线A| 国产一区二区三区在线无码| 欧美成人免费一区在线播放| 丁香亚洲综合五月天婷婷| 国产黄色爱视频| 毛片网站在线播放| 黄色福利在线| 精品久久综合1区2区3区激情| 国产精品亚洲精品爽爽| 国产91小视频| 尤物特级无码毛片免费| 亚洲第一色网站| 日韩123欧美字幕| 老司机精品一区在线视频| 亚洲色图另类| 亚洲国产成人精品无码区性色| 久久毛片免费基地| 国产乱子伦一区二区=| 国产日产欧美精品| 国产在线观看99| 无码综合天天久久综合网|