涂 建,董增虎
(1.中國(guó)電子科技集團(tuán)公司第三十研究所,四川 成都 610041;2.成都凌德科技有限公司,四川 成都 610041)
無(wú)線(xiàn)電監(jiān)測(cè)是對(duì)于無(wú)線(xiàn)信號(hào)的各項(xiàng)特征進(jìn)行測(cè)量,而進(jìn)行測(cè)量的前提是能夠準(zhǔn)確地捕獲信號(hào),對(duì)信號(hào)進(jìn)行準(zhǔn)確地采集并且測(cè)量。由此可見(jiàn),更高的捕獲概率是關(guān)鍵技術(shù)之一,如何提升捕獲概率就成了各方亟須提升的關(guān)鍵技術(shù)點(diǎn)??焖賿呙杓夹g(shù)是提升信號(hào)捕獲概率的關(guān)鍵技術(shù)之一,超寬帶無(wú)線(xiàn)電監(jiān)測(cè)接收機(jī)的掃描速度十分關(guān)鍵,對(duì)于用戶(hù)快速發(fā)現(xiàn)有效信號(hào)的作用十分巨大[1]。
傳統(tǒng)的無(wú)線(xiàn)電接收機(jī)采用軟件控制本振掃描的方法,可以實(shí)現(xiàn)的掃描速度指標(biāo)在10 GHz/s左右;主要流程如圖1所示。
(1)CPU根據(jù)掃描的頻段計(jì)算響應(yīng)參數(shù);
(2)CPU在取得掃描參數(shù)后,CPU將控制參數(shù)發(fā)送給硬件和低速本振;
(3)CPU獲取頻譜信息;
(4)CPU獲取頻譜數(shù)據(jù),至此一次掃描結(jié)束,后續(xù)轉(zhuǎn)至(2)繼續(xù)開(kāi)始下一次掃描。
從掃描過(guò)程來(lái)看,硬件與中央處理器(Central Processing Unit,CPU)之間需要頻繁交互才能夠?qū)崿F(xiàn)一次頻譜的掃描,其時(shí)間消耗是相當(dāng)大的,即使對(duì)流程進(jìn)行優(yōu)化,掃描速率的提升也十分有限,故提升的關(guān)鍵點(diǎn)應(yīng)該在于減少硬件與CPU之間的交互。本設(shè)計(jì)采用FPGA序列化器控制掃描流程和快速本振兩個(gè)關(guān)鍵技術(shù)來(lái)實(shí)現(xiàn)掃描速度的提升,實(shí)現(xiàn)了傳統(tǒng)掃描技術(shù)無(wú)法實(shí)現(xiàn)的掃描速度,在掃描速度技術(shù)上實(shí)現(xiàn)了突破,實(shí)現(xiàn)了無(wú)線(xiàn)電監(jiān)測(cè)接收機(jī)掃描速度大于500 GHz/s。
寬帶無(wú)線(xiàn)電監(jiān)測(cè)接收機(jī)主要由射頻模塊和數(shù)字模塊組成[2-3](見(jiàn)圖2)。射頻模塊包括通道單元和快速本振單元。通道單元實(shí)現(xiàn)信號(hào)濾波和通道切換的功能,快速本振單元實(shí)現(xiàn)本振的快速切換功能。通道單元包括通道輸入電路、一/二混頻器、一/二中頻濾波放大電路、射頻衰減與通道增益控制等組件;本振單元包括第一本振、第二本振、控制模塊、電源和狀態(tài)監(jiān)測(cè)等組件。在本設(shè)計(jì)中,本振的切換時(shí)間小于 200 μs。
射頻接收單元對(duì)輸入的射頻信號(hào)進(jìn)行放大、濾波、混頻等模擬域處理,將射頻信號(hào)轉(zhuǎn)換為中頻信號(hào),供數(shù)字處理單元進(jìn)行后續(xù)的信號(hào)處理。
數(shù)字處理單元由模數(shù)轉(zhuǎn)換單元、數(shù)字信號(hào)處理單元、大容量存儲(chǔ)單元、數(shù)據(jù)緩存單元、非易失性存儲(chǔ)單元、硬件看門(mén)狗電路、自動(dòng)監(jiān)測(cè)電路、連接器這8個(gè)關(guān)鍵組件組成。數(shù)字處理單元對(duì)輸入的模擬中頻信號(hào)進(jìn)行模數(shù)變換、數(shù)字信號(hào)下變頻、快速傅里葉變換(Fast Fourier Transform,F(xiàn)FT)等信號(hào)處理。
數(shù)字處理模塊單元主要完成中頻信號(hào)的模數(shù)轉(zhuǎn)換(Analog-to-Digital Converter,ADC)信號(hào)處理、數(shù)字信號(hào)下變頻、快速傅里葉變換,以及處理后的信號(hào)數(shù)據(jù)的存儲(chǔ)、緩存或發(fā)送傳輸。
數(shù)字信號(hào)處理單元的核心部件是現(xiàn)場(chǎng)可編輯門(mén)陣列(Field-Programmable Gate Array,F(xiàn)PGA)+ARM,本設(shè)計(jì)采用ZYNQ SOC FPGA的架構(gòu),ZYNQ集成了高性能的FPGA和雙核ARM,其主要技術(shù)指標(biāo)分為ZYNQ ARM主要性能指標(biāo)和ZYNQ FPGA主要性能指標(biāo)。
ZYNQ ARM主要性能指標(biāo)如下。
(1)CPU頻率最高800 MHz。
(2)CPU核心數(shù)量2個(gè),CPU類(lèi)型為ARM Cortex-A9,32 kB一級(jí)緩存,512 kB二級(jí)緩存。
(3)16/32 bit DDR3/DDR3L/DDR2/LPDDR2存儲(chǔ)器接口;1 GB 8/16/32位寬存儲(chǔ)器。
(4)2個(gè)10/100/1000 Mb/s以太網(wǎng)接口,符合IEEE Std 802.3 和IEEE Std 1588 R2.0標(biāo)準(zhǔn)。
ZYNQ FPGA主要性能指標(biāo)為以下5點(diǎn)。
(1)可編程邏輯單元444 kB,查找表(Lookup Talbe,LUTs)為277400,觸發(fā)器(Flip-Flop,F(xiàn)F)為554800。
(2)塊存儲(chǔ)器(Block Random-access Memory,BRAM)為26.5 MB。
(3)數(shù)字處理單元(Digital Signal Processing,DSP)為 2020。
(4)峰值數(shù)字處理性能(Peak Digital Processing Performance,PDPP)為 2622GMACs。
(5)高速外設(shè)組件互連(Peripheral Component Interconnect Express,PCI Express)接口為 Gen2 ×8。
本設(shè)計(jì)的關(guān)鍵在于快速本振的切換和序列化器的FPGA設(shè)計(jì)[4-5]。本文重點(diǎn)講解寫(xiě)的序列化器的FPGA設(shè)計(jì)。
圖3為F P G A的實(shí)現(xiàn)框圖,其中包括序列化器模塊、射頻模塊(Radio Frequency Module,RFM)、FFT模塊、數(shù)據(jù)發(fā)送模塊。由于采用Zynq的架構(gòu),ARM與FPGA之間可以采用共享內(nèi)存的方式進(jìn)行交互,大大提升了數(shù)據(jù)傳輸?shù)膸挘档土讼到y(tǒng)交互的延時(shí),對(duì)于提升掃描效率有很大的益處。ZYNQ ARM與FPGA之間通過(guò)高性能/帶寬可擴(kuò)展接口(Advanced eXtensible Interface-High Performance,AXIHP)進(jìn)行海量數(shù)據(jù)的傳輸;AXI HP為FPGA邏輯資源(Program Logic,PL)的雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(Double Data Rate Synchronous Dynamic Random Access Memory,DDR SDRAM)和片上存儲(chǔ)器(On Chip Memory,OCM)提供高帶寬的數(shù)據(jù)路徑,每個(gè)HP接口包括兩個(gè)先進(jìn)先出(First Input First Output,F(xiàn)IFO)緩存,用于讀寫(xiě)傳輸。PL到內(nèi)存互連高速AXI HP端口路由連接到兩個(gè)DDR內(nèi)存端口和一個(gè)OCM存儲(chǔ)器端口。AXI HP接口也被稱(chēng)為AFI(AXI FIFO接口),以強(qiáng)調(diào)它們的緩沖功能。PL電平移位器必須通過(guò)LVL SHFTR EN啟用后,才能進(jìn)行PL邏輯通信。ZYNQ ARM與FPGA之間的低速通信通過(guò)AXI Lite接口進(jìn)行通信,主要實(shí)現(xiàn)對(duì)于FPGA內(nèi)部寄存器的配置功能。
FPGA模塊與射頻模塊之間通過(guò)串行外設(shè)接口(Serial Peripheral Interface,SPI)總線(xiàn)進(jìn)行通信,這里的SPI總線(xiàn)采用差分的設(shè)計(jì)方式,可以實(shí)現(xiàn)最高100 MHz的通信速率,實(shí)際應(yīng)用中使用50 MHz作為通信速率。
圖3中模塊功能如下所述。
(1)序列化器模塊:實(shí)現(xiàn)掃描的關(guān)鍵模塊,實(shí)現(xiàn)快速掃描的掃描序列化控制。
(2)射頻SPI模塊:射頻模塊的SPI控制。
(3)FFT模塊:FFT采集轉(zhuǎn)換模塊。
(4)數(shù)據(jù)發(fā)送模塊:將掃面的FFT數(shù)據(jù)發(fā)送到微控制單元(Microcontroller Unit,MCU)。
序列化器模塊是本設(shè)計(jì)的關(guān)鍵,圖4為序列化器的FPGA內(nèi)部模塊組成。序列化器模塊包括寄存器單元、序列化RAM、控制模塊、射頻控制單元、數(shù)據(jù)收集模塊等模塊。最終的數(shù)據(jù)交互采用共享內(nèi)存的方式實(shí)現(xiàn),由于設(shè)計(jì)采用的是Zynq架構(gòu),F(xiàn)PGA與ARM之間可以使用共享內(nèi)存的機(jī)制來(lái)傳輸數(shù)據(jù),大大節(jié)省了數(shù)據(jù)傳輸?shù)臅r(shí)間,提升了掃描的速率。
寄存器單元是用來(lái)配置控制單元,下載控制序列到序列化RAM,啟動(dòng)/停止掃描模塊。序列化RAM單元來(lái)存儲(chǔ)控制序列,實(shí)現(xiàn)控制序列的讀寫(xiě),這里采用的是一個(gè)雙口RAM來(lái)實(shí)現(xiàn)。數(shù)據(jù)采集模塊是用來(lái)收集FFT數(shù)據(jù),負(fù)責(zé)啟動(dòng)和停止FFT掃描,并將采集到的FFT數(shù)據(jù)通過(guò)AXI總線(xiàn)轉(zhuǎn)存到共享內(nèi)存中,這個(gè)模塊也是序列化器的關(guān)鍵模塊,是負(fù)責(zé)采集的關(guān)鍵。射頻控制單元是接收控制序列中射頻控制碼,并將射頻控制碼發(fā)送給射頻單元。控制模塊實(shí)現(xiàn)了對(duì)于控制序列的執(zhí)行控制,控制模塊從序列化RAM中讀取控制碼,識(shí)別控制碼后并進(jìn)行分發(fā)??刂拼a分為采集控制碼、射頻控制碼和延時(shí)控制碼3類(lèi)。采集控制碼發(fā)送給數(shù)據(jù)收集塊,實(shí)現(xiàn)采集的控制;射頻控制碼發(fā)送給射頻控制單元,實(shí)現(xiàn)射頻的頻率、幅度控制;延時(shí)控制碼控制模塊內(nèi)部的計(jì)時(shí)器模塊消耗,實(shí)現(xiàn)序列化中的延時(shí)功能。
序列化器的主要流程如圖5所示。
序列化器流程:
(1)MCU計(jì)算掃描需要的參數(shù);
(2)MCU發(fā)送計(jì)算的參數(shù)給FPGA,序列化器接收到參數(shù)后,準(zhǔn)備開(kāi)始啟動(dòng)掃描;
(3)FPGA控制快速本振,等待本振切換完成,并且穩(wěn)定;
(4)開(kāi)始FFT采集轉(zhuǎn)換;
(5)等待FFT采集完成;
(6)發(fā)送FFT數(shù)據(jù)至MCU,并且同時(shí)切換到下一個(gè)掃描頻段,準(zhǔn)備下一次FFT采集;
(7)判斷是否已經(jīng)掃描完成所有的頻段,如果是結(jié)束掃描,再進(jìn)行下一個(gè)頻段的掃描。
當(dāng)數(shù)據(jù)采集時(shí)間為0.04 ms,F(xiàn)PGA提供的硬件FFT可以實(shí)現(xiàn)8 192點(diǎn)的FFT計(jì)算,本振調(diào)諧時(shí)間小于0.2 ms,系統(tǒng)控制數(shù)據(jù)傳輸緩存等開(kāi)銷(xiāo)時(shí)間小于0.05 ms,本振調(diào)諧時(shí)間和系統(tǒng)控制數(shù)據(jù)傳輸緩存開(kāi)銷(xiāo)時(shí)間相加得到整體每次掃描一個(gè)頻點(diǎn)的時(shí)間則小于0.25 ms。按照160 MHz帶寬計(jì)算,理論上可以得到640 GHz/s的掃描速度[6],考慮到程序?qū)崿F(xiàn)的實(shí)際控制延時(shí)變化按照80%計(jì)算,實(shí)際可以實(shí)現(xiàn)的掃描速率大于500 GHz/s。
基于該原理設(shè)計(jì)了硬件平臺(tái),并進(jìn)行了詳細(xì)的測(cè)試,從不同帶寬和掃描次數(shù)進(jìn)行了全面的測(cè)試。從表1的測(cè)試結(jié)果看,本文設(shè)計(jì)可滿(mǎn)足對(duì)于快速掃描的設(shè)計(jì)目標(biāo),實(shí)現(xiàn)了大于500 GHz/s的掃描速度,在實(shí)際應(yīng)用中具有較大的實(shí)用價(jià)值,為無(wú)線(xiàn)電監(jiān)測(cè)的應(yīng)用提供了有力的支持。
表1 掃描速率測(cè)試結(jié)果
本文設(shè)計(jì)實(shí)現(xiàn)了無(wú)線(xiàn)電監(jiān)測(cè)接收機(jī)快速掃描的FPGA方案和步驟,并對(duì)其過(guò)程中的步驟進(jìn)行詳細(xì)地講解,最終實(shí)現(xiàn)了基于電荷泵快速切換技術(shù)的本振單元,實(shí)現(xiàn)了快速切換時(shí)間<200 μs;采用FPGA序列化器實(shí)現(xiàn)了掃描過(guò)程的精準(zhǔn)化控制,加快掃描速度,實(shí)現(xiàn)快速掃描速度>500 GHz/s。