祁永鑫,吳愛平*,秦濤
(1長江大學電子信息學院,荊州 434020;2北京尚微科技有限公司,北京 100089)
通過采集射頻信號正交變換后的一組正交分量,可便于提取其瞬時幅度、瞬時頻率和瞬時相位,由這些信息可進行波束成形、脈沖壓縮等.系統(tǒng)多通道實時同步采集16組正交信號,采集后經(jīng)過交織編碼,依托高速串行協(xié)議Aurora上傳至上位機,通過采集后的正交信號數(shù)據(jù)便可對射頻信號展開研究分析.系統(tǒng)底層硬件參數(shù)封裝為控制字指令由上位機直接配置,實現(xiàn)參數(shù)可視化,便于用戶設定.在數(shù)據(jù)采集系統(tǒng)中采樣率的確定是數(shù)據(jù)采集的首要任務,采樣率設計過高會浪費帶寬,增加數(shù)據(jù)處理的難度,采樣率設計過低會導致頻譜混疊,無法恢復原始信號[1].LMK03806器件是一款高性能、超低抖動、多速率時鐘發(fā)生器,能夠在頻率高達2.6 GHz的條件下針對14路輸出合成8個不同的頻率,系統(tǒng)通過其為高速AD配置工作時鐘實現(xiàn)采樣率的配置,可為用戶提供便利.
圖1為系統(tǒng)結(jié)構(gòu)框圖,多通道高速可配置數(shù)據(jù)采集系統(tǒng)主要由米聯(lián)電子ZYNQ-7000系列核心板MZ7035FA(簡稱Z7)、賽靈思FPGA芯片K7-325T(簡稱K7)、ADC模塊和DAC模塊組成.ADC選用ADI公司的四通道同步采樣14位A/D轉(zhuǎn)換器LTC-2175芯片,采樣率為100 MSPS,信噪比SNR為73.1 dB,動態(tài)范圍SFDR為88 dB,通過高位補零配置為16位雙線道輸出模式使用.DAC選用TI公司的16位DAC3484,采樣率為100 MSPS,在使用過程中為對齊射頻組件信號基準,DA輸出端加有500 mV直流偏置.K7負責AD,DA工作狀態(tài)的控制,采集數(shù)據(jù)的回傳和關(guān)鍵信號的控制監(jiān)測等,AD用于采集射頻組件兩正交分量信號,DA輔助采集系統(tǒng)產(chǎn)生任意波形,便于系統(tǒng)自檢或為外圍組件提供激勵源.
圖1 系統(tǒng)結(jié)構(gòu)Fig.1 System structure
系統(tǒng)采用兩塊K7控制16路AD/DA信號(8組I、Q),DA部分主要用作發(fā)射波形,通過上位機下發(fā)控制字命令,配置DA內(nèi)部數(shù)字振蕩器NCO的頻率,產(chǎn)生本振信號,使其與FPGA下發(fā)波形信號混頻得發(fā)射波形.AD芯片通過將通道信號端子上的DA信號與AD采集信號短接作數(shù)據(jù)采集實現(xiàn)系統(tǒng)自檢.多通道采集工作在采集同步脈沖信號的控制下同步進行[2].多通道采集數(shù)據(jù)通過FIFO緩存對齊,交織編碼后打包,基于Aurora協(xié)議以5G/bps的速率進行數(shù)據(jù)傳輸.
為實現(xiàn)工程參數(shù)實時可控,特將底層參數(shù)全都封裝于控制字模塊,上位機控制字攜帶通道ID以廣播的方式下發(fā)命令指示,底層K7解析通道ID及各模塊所用控制字命令并執(zhí)行相應功能,實現(xiàn)各模塊有序工作.控制字命令的傳輸由上位機控制臺程序基于LWIP協(xié)議與ZYNQ核心板通信.核心板通過Aurora協(xié)議實現(xiàn)控制字指令的下發(fā)和AD采集數(shù)據(jù)的回傳[3].
系統(tǒng)數(shù)據(jù)鏈路如圖2所示,AD模塊采集信號,采集后的多通道數(shù)據(jù)經(jīng)對齊、交織編碼后打包緩存于深度8192,數(shù)據(jù)位寬32 bit的FIFO中.K7通過高速串行收發(fā)模塊GTX將FIFO中32 bit數(shù)據(jù)按8 B/10 B編碼為標準Aurora協(xié)議下40 bit數(shù)據(jù)上傳至Z7.Z7芯片PL端接收數(shù)據(jù)并緩存于PL端FIFO中,而后由DMA將FIFO中數(shù)據(jù)搬運到內(nèi)存DDR中通過PS端AMR核基于LWIP協(xié)議緩存采集數(shù)據(jù).為便于系統(tǒng)自檢,底層K7通過FIFO配置波形數(shù)據(jù)與DAC器件內(nèi)部NCO產(chǎn)生的本振信號混頻輸出發(fā)射波形,為系統(tǒng)自檢提供激勵.
圖2 數(shù)據(jù)鏈路Fig.2 Data link
AD采集信號的輸入與DA發(fā)射波形的輸出采用低振幅差分LVDS方式,該方式采用極低的電壓擺幅高速差動傳輸數(shù)據(jù),可實現(xiàn)點對點或一點對多點的連接,具有低功耗、低誤碼率、低串擾和低輻射等優(yōu)點,適用于串行高速數(shù)據(jù)通信場合,滿足設計需求.采用LVDS輸出方式可減少數(shù)字噪聲,簡化PCB布局[4].
DA發(fā)射波形由基帶信號和本振信號混頻得到.K7內(nèi)部波形產(chǎn)生模塊產(chǎn)生波形數(shù)據(jù)緩存于FIFO中作為基帶信號數(shù)據(jù),DAC內(nèi)部數(shù)字振蕩器NCO通過控制字配置其本振信號頻率,基帶信號與本振信號混頻得發(fā)射波形.由此可為射頻組件提供激勵源,驗證其工作狀態(tài).
采集程序設計思路如圖3所示,為保證AD四通道數(shù)據(jù)交織編碼準確,則需對AD四通道數(shù)據(jù)進行對齊操作.因此設計訓練模式,通過SPI協(xié)議配置串行測試數(shù)據(jù)和AD工作狀態(tài),待單塊AD四通道數(shù)據(jù)對齊再進入數(shù)據(jù)采集工作,以此保證后續(xù)交織編碼準確.
圖3 采集程序設計Fig.3 Acquisition program design
采集程序設計內(nèi)容如下,首先通過SPI協(xié)議配置ADC器件LTC2175四通道串行數(shù)據(jù),共計8組串行數(shù)據(jù),配置數(shù)據(jù)由FPGA內(nèi)部AD模塊通過寄存器設定.若配置出錯,則返回空閑狀態(tài),配置成功便進入串行解碼操作.待數(shù)據(jù)串解并結(jié)束,開始對四通道并行數(shù)據(jù)進行訓練,若四通道數(shù)據(jù)串轉(zhuǎn)并后依然能夠?qū)R,則表明通道數(shù)據(jù)對齊訓練成功.而后進入工作模式,開始采集工作.采集后的數(shù)據(jù)經(jīng)交織編碼打包后通過Aurora協(xié)議上傳至Z7,由Z7通過DMA搬運至內(nèi)存DDR,完成采集.
數(shù)據(jù)交織過程為信號采集后串轉(zhuǎn)并,匹配數(shù)據(jù)率,多通道數(shù)據(jù)交織編碼后打包上傳,具體操作如圖4所示.
圖4 數(shù)據(jù)交織Fig.4 Data intertwined
AD采集模擬信號輸出串行數(shù)據(jù),F(xiàn)PGA接收串行數(shù)據(jù),將隨數(shù)時鐘差分轉(zhuǎn)單端后,使串行數(shù)據(jù)轉(zhuǎn)為4路16 bit并行數(shù)據(jù)[5].再經(jīng)幀信號區(qū)分四路并行數(shù)據(jù),由FIFO將同一AD采集的4路數(shù)據(jù)拼接輸出64 bit數(shù)據(jù),匹配用戶時鐘域,使4路數(shù)據(jù)在100 M時鐘下傳輸,最后基于Aurora協(xié)議打包上傳.
單路FPGA控制2塊AD芯片,共采集8路AD數(shù)據(jù),每兩路拼接為位寬32 bit數(shù)據(jù)一起打包.拼接后的通道數(shù)據(jù)每一路過一級深度8192,位寬32 bit的FIFO緩存.當任意通道FIFO中緩存數(shù)據(jù)量達16便開始數(shù)據(jù)打包工作,打包數(shù)據(jù)的格式和打包數(shù)據(jù)通道的控制由位寬為5的寄存器設定.高三位控制打包通道的選擇,低二位控制打包格式,若該寄存器低二位值為0則對應每個通道取一個數(shù)進行打包(1234),若該寄存器低二位值為1則對應每個通道連著取兩個數(shù)進行打包(11223344).打包后數(shù)據(jù)緩存于深度為8192,位寬為32 bit的另一級FIFO,半滿時通過送數(shù)脈沖Trig_send信號控制上傳.
采集數(shù)據(jù)的上傳,由高速串行收發(fā)模塊GTX,在K7和Z7間基于Aurora協(xié)議進行數(shù)據(jù)的傳輸,通過高速串行編碼8 B/10 B技術(shù),將FIFO中32 bit數(shù)據(jù)編碼至Aurora標準模塊數(shù)據(jù)下40 bit數(shù)據(jù)進行傳輸[6].該編碼方式可將線路數(shù)據(jù)對齊到字節(jié)/字,可保持良好的支流平衡,增加了數(shù)據(jù)的傳輸距離,有高效的錯誤檢測機制.
兩路K7采集工作在采集同步信號的控制下進行,實現(xiàn)16通道同步實時采集.數(shù)據(jù)通過FIFO交織,多通道數(shù)據(jù)對齊后在數(shù)據(jù)鏈路傳輸.兩路K7均在100 M時鐘下工作,時鐘由同一個PLL鎖相環(huán)產(chǎn)生,相位差固定.若某一通道有差異可通過延時對齊,最終實現(xiàn)多通道同步采集數(shù)據(jù).
發(fā)射波形功能的設計可輔助采集系統(tǒng)做自檢工作,或為外部系統(tǒng)提供激勵源[7].DA基于發(fā)射同步信號工作,多通道同步進行,發(fā)射信號可通過程序微調(diào)相位矯正,幅度系數(shù)矯正,發(fā)射延時等,實現(xiàn)多通道發(fā)射波形一致.波形產(chǎn)生原理為K7波形產(chǎn)生模塊采用CORDIC算法生成波形數(shù)據(jù),通過控制字指令配置DAC內(nèi)部數(shù)字振蕩器頻率產(chǎn)生本振信號,二者混頻得發(fā)射波形.
通過CORDIC算法產(chǎn)生一組正交信號,使其與本振信號混頻可模擬射頻信號x(n)的一組正交分量信號I(n)和Q(n).多通道交替輸出I(n)和Q(n)信號,可為系統(tǒng)自檢提供來源:
對x(n)進行正交變換得正交基帶信號I(n)和Q(n)如式(2),由此很容易獲取射頻信號的三個重要特征:瞬時幅度a(n),瞬時相位φ(n),瞬時頻率f(n)=
通過這兩個正交分量,就可以按式(3)提取射頻信號的三大特征:
瞬時頻率f(n)也可以簡寫成式(4)(略去常數(shù)部分):
最后可化簡為式(5):
從以上分析可以看出,只需采集這兩個正交分量I(n)和Q(n),便可通過采集數(shù)據(jù)分析射頻信號的特征,提供用戶做數(shù)理分析.
發(fā)射波形環(huán)節(jié)主要為系統(tǒng)提供自檢信號和產(chǎn)生外部射頻設備激勵源信號.其中奇數(shù)通道輸出I(n),偶數(shù)通道輸出Q(n),共計輸出16路發(fā)射信號.系統(tǒng)設定采集信號為射頻信號下變頻為中頻信號后的兩個正交分量I(n)和Q(n).采集數(shù)據(jù)交織過程如圖3所示,兩分量信號合并為一路打包,再基于Aurora協(xié)議高速傳輸,最終為用戶驗證設計提供數(shù)據(jù)支撐.
本系統(tǒng)采用米聯(lián)客ZYNQ-XC7Z035核心板通過連接器插座固定于系統(tǒng)數(shù)字PCB板完成底層數(shù)據(jù)的接收工作和控制指令的下發(fā),該架構(gòu)處理器集成PS端雙核ARM Cortex-A9+PL端Kintex-7架構(gòu)28 nm可編程邏輯資源.PL端Kintex-7架構(gòu)與底層FPGA芯片K7-325T架構(gòu)一致,賽靈思公司在里面集成有高速串行收發(fā)模塊GTX.ZYNQ設計架構(gòu)使得它不僅擁有ASIC在能耗、性能和兼容性方面的優(yōu)勢,而且具有FPGA硬件可編程性的優(yōu)點,便于底層FPGA參數(shù)拿到軟核處理,便于操作.
系統(tǒng)采用一塊ZYNQ核心板與兩路K7通信,兩路K7單獨控制8路AD/DA信號.兩塊K7控制的AD/DA電路通過Z7下發(fā)控制字指令控制底層采集工作和波形發(fā)射工作同步進行.底層電路工作參數(shù)、狀態(tài)和數(shù)據(jù)經(jīng)Aurora協(xié)議上傳至Z7,通過PC機操控.PCB加工經(jīng)阻抗匹配,所有LVDS差分信號走線均經(jīng)過蛇形線等長處理,保證了信號走線質(zhì)量.
底層電路如圖5所示,單路K7控制兩塊AD芯片LTC2175和4塊DA芯片DAC3484.LTC2175為ADI公司的四通道14位A/D轉(zhuǎn)換器,高位補0,配置為16位輸出使用.DAC選用TI公司的四通道16位D/A轉(zhuǎn)換器,采用兩通道輸出.單路K7控制8通道LVDS差分信號,AD/DA信號經(jīng)過單端轉(zhuǎn)差分放大器ADA4950輸入輸出,通過該器件可以在硬件調(diào)節(jié)輸出信號共模偏置,若射頻組件對偏置有要求可通過其實現(xiàn).
圖5 單路K7原理Fig.5 Single channel K7 principle
供電通過標準電源SS-33050設備提供5 V總電源.5 V電源過DC-DC穩(wěn)壓器件LTM4633配合LDO低壓差線性穩(wěn)壓器件TPS74401RGW和LT1963 AEST輸出為系統(tǒng)各部分供電.低壓差穩(wěn)壓器件的合理使用,可降低電源紋波,確保信號中不疊加電源紋波噪聲信號.
時鐘由TI公司時鐘發(fā)生器芯片LMK03806為各模塊提供工作時鐘,LMK03806器件是一款高性能、超低抖動、多速率時鐘發(fā)生器,能夠在頻率高達2.6 GHz的條件下針對14路輸出合成8個不同的頻率.每個輸出時鐘可設定為LVDS、LVPECL或LVCMOS格式[9].能夠以低成本的晶格或外部時鐘生成多個時鐘,可通過其配置AD采樣時鐘實現(xiàn)采樣率可配置.LMK03806輸入由標準20 M無源晶振提供,因項目需求設定AD,DA均采用100 M工作時鐘.
系統(tǒng)程序設計如圖6所示,通過板載網(wǎng)口,基于LWIP協(xié)議在上位機控制臺程序設置控制字指令,經(jīng)Z7下發(fā)至底層數(shù)據(jù)采集系統(tǒng),為底層各模塊提供工作指示命令.底層系統(tǒng)采集射頻組件信號,將采集數(shù)據(jù)完成多通道數(shù)據(jù)對齊,交織編碼,打包后回傳至Z7,存于Z7核心板內(nèi)存DDR.
圖6 程序框圖Fig.6 Programs block diagram
控制字指令通過高速串行協(xié)議下發(fā)后,底層FPGA控制字模塊解析上位機發(fā)送的控制字指令,為各模塊提供指示命令,與其無關(guān)控制字指令則忽略.系統(tǒng)涉及控制字指令主要有對通道的控制指令,采集工作配置指令,發(fā)射波形配置指令及采集數(shù)據(jù)上傳控制指令.
發(fā)射波形環(huán)節(jié),DA模塊接收到相應控制字指令,通過SPI協(xié)議方式配置DA內(nèi)部數(shù)字振蕩器頻率產(chǎn)生本振信號與FPGA波形模塊產(chǎn)生波形信號混頻得發(fā)射波形,輸出波形完成發(fā)射工作,發(fā)射波形模式有連續(xù)波形和預設波形兩種[10].連續(xù)波形模式,若發(fā)送數(shù)據(jù)全0,為直流信號,NCO與其混頻產(chǎn)生0頻正弦信號[11].預設波形模式則主要用來設計產(chǎn)生用戶特定需求波形.而用戶所需波形信號的產(chǎn)生由標準模塊算法CORDIC實現(xiàn),該算法是一個比較全能的算法,其逐級迭代的原理,適用于硬件實現(xiàn),產(chǎn)生所需波形信號.
采集工作通過AD模塊接收其控制字指令,在SPI協(xié)議下配置AD進行信號的采集工作,采集數(shù)據(jù)經(jīng)打包緩存上傳輸出[12].AD工作狀態(tài)機如圖7所示,開機先對AD進行SPI配置各項工作參數(shù),配置成功后延時200μs,通過不斷采集配置的測試數(shù)據(jù)對AD各通道進行數(shù)據(jù)對齊訓練,訓練成功后進入工作模式.為保證采集工作進行一定時間后AD依然正常工作,后續(xù)工作狀態(tài)通過不斷測試,與正常模式交互工作.采集后的LVDS差分信號,經(jīng)差分轉(zhuǎn)單端,數(shù)據(jù)串轉(zhuǎn)并,再經(jīng)FIFO,匹配用戶時鐘域,完成采集工作[13].
圖7 AD工作狀態(tài)機Fig.7 AD working state machine
16路采集和發(fā)射工作的同步進行由兩塊K7控制,單塊K7分別控制2塊AD芯片和4塊DA芯片負責8路信號的發(fā)射采集工作.多通道信號經(jīng)AD采集后過通道FIFO對多路數(shù)據(jù)進行打包,數(shù)據(jù)在同一時鐘下交織編碼.打包工作為每次從選中通道取一個數(shù)據(jù)進行,以確保拿到同一時刻各通道數(shù)據(jù),對齊數(shù)據(jù).系統(tǒng)工作時鐘與AD和DA工作時鐘均為100 MHz.
多通道采集和發(fā)射工作可同步開啟,通過AD采集脈沖和DA發(fā)射脈沖控制AD/DA有序工作[2].若多通道發(fā)射信號由于通道特性導致的信號不一致,程序預留有通道校準參數(shù),可通過實測通道一致性情況,利用控制字固定通道各參數(shù)值,微調(diào)發(fā)射波形幅度,相位,延遲等參數(shù),實現(xiàn)多通道一致性調(diào)節(jié).在系統(tǒng)使用前,可依據(jù)實際硬件測試情況完成不同硬件的參數(shù)設置,保證多通道一致性.
系統(tǒng)通過上位機下發(fā)的系統(tǒng)同步脈沖信號產(chǎn)生各模塊同步脈沖信號,如駐留清零脈沖,控制字生效脈沖,發(fā)射脈沖,本振封閉脈沖,采集脈沖和送數(shù)脈沖使系統(tǒng)有序工作[14].各脈沖起始位置,脈寬延展可由上位機配置.采集結(jié)果由回波送數(shù)脈沖控制,分別將系統(tǒng)通道噪聲與信號數(shù)據(jù)上傳,為射頻組件性能分析提供數(shù)據(jù)支撐[15].
系統(tǒng)設計硬件如圖8所示,Z7通過連接器插座固定于數(shù)字PCB板,兩路K7電路布局一致,16路AD/DA信號布線經(jīng)過蛇形線等長處理,使得多通道中頻信號傳輸時延盡可能一致.數(shù)據(jù)傳輸、通道一致性,同步發(fā)射信號等基于此數(shù)字板測試.
圖8 硬件實物Fig.8 Physical hardware
為保證采集數(shù)據(jù)經(jīng)Aurora協(xié)議準確上傳數(shù)據(jù)至Z7,通過K7發(fā)送順序數(shù)模擬打包數(shù)據(jù).圖9為K7發(fā)送順序數(shù)經(jīng)ISE仿真工具Chipscope實時抓取結(jié)果,圖10為Z7端接收Aurora數(shù)據(jù)經(jīng)Vivado仿真工具ILA抓取結(jié)果.由圖可知,當數(shù)據(jù)有效信號rx_tvalid_i為1時接收到的數(shù)據(jù)rx_data_i剛好與ISE抓取上傳前的數(shù)據(jù)Fiber_tx_data完全一致.實際數(shù)據(jù)上傳的準確性通過連續(xù)抓取每一個上傳的數(shù)據(jù)比對所得,經(jīng)驗證數(shù)據(jù)上傳準確無誤.
圖9 ISE數(shù)據(jù)抓取Fig.9 ISE data scraping
圖10 Vivado數(shù)據(jù)抓取Fig.10 Vivado data scraping
用戶發(fā)射波形如圖11、12所示,發(fā)射波形可通過控制字配置底層參數(shù)由K7波形產(chǎn)生模塊實現(xiàn)任意波形,如正弦波或方波.具體波形樣式可通過上位機控制臺程序修改參數(shù)獲得,為便于對發(fā)射波形控制,系統(tǒng)設定隨波控制信號,如圖11上方波形所示.通過一個高展寬脈沖信號,對發(fā)射波形進行邏輯控制,可便于用戶控制發(fā)射波形的輸出.
圖11 發(fā)射信號為正弦波Fig.11 Transmit signal sine wave
圖12 發(fā)射信號為方波Fig.12 Transmit signal square wave
系統(tǒng)多通道發(fā)射信號同步測試,通過固定通道4第一路發(fā)射端口為基準,不斷用示波器表筆測試比對其余15路發(fā)射信號得以驗證.若實測發(fā)射波形延遲不一致,可通過程序打拍使多路發(fā)射信號同步工作,結(jié)果如圖13所示.
圖13 同步波形Fig.13 Synchronized waveform
多通道一致性通過測試發(fā)射一致性和采集一致性得以驗證[16].測試通過固定某一發(fā)射通道作基準,其余通道采用自閉環(huán)的方式與固定通道連接,通過其他路采集固定發(fā)射通道數(shù)據(jù),將采集后的數(shù)據(jù)以TXT文本格式在MATLAB處理繪圖,對比各個通道間數(shù)據(jù),驗證得系統(tǒng)通道采集基本一致.發(fā)射一致性通過固定采集通道,由同一采集通道采集不同發(fā)射通道數(shù)據(jù)驗證,通過MATLAB繪圖結(jié)果可知多通道一致性功能基本實現(xiàn).
如圖14所示,固定第7路發(fā)射波形,通過發(fā)射20 M正弦波分別采用兩塊FPGA控制的不同通道采集通道第7路發(fā)射的信號,最終由回采數(shù)據(jù)繪圖驗證得多通道發(fā)射一致性.
圖14 發(fā)射一致性Fig.14 Launch consistency
如圖15所示,固定通道第7路,即通道4第I路采集兩塊FPGA控制的不同通道發(fā)射的20 M正弦波信號,最終由回采數(shù)據(jù)繪圖驗證得通道采集一致性.
圖15 采集一致性Fig.15 Sampling consistency
本文設計基于Aurora的多通道高速可配置數(shù)據(jù)采集系統(tǒng),實現(xiàn)采樣率的靈活配置,多通道具有一致性,數(shù)據(jù)高速傳輸無誤,系統(tǒng)各環(huán)節(jié)有序工作,系統(tǒng)底層參數(shù)可視化操作,可靈活修改參數(shù)便于測試任務的進行.系統(tǒng)通過采集射頻信號的兩正交分量,準確高速傳輸至上位機,便于用戶直接通過射頻信號基礎(chǔ)的三個屬性,瞬時頻率、瞬時相位和瞬時幅度進行相關(guān)信號處理.