曾超林,李希密,尹紅波,王洪林
(中國(guó)船舶重工集團(tuán)公司第七二三研究所,江蘇 揚(yáng)州 225101)
在現(xiàn)代雷達(dá)系統(tǒng)和電子對(duì)抗設(shè)備中,頻率源起著無(wú)可比擬的作用。傳統(tǒng)的頻率合成器波形單一,參數(shù)不可調(diào)節(jié),無(wú)法適應(yīng)現(xiàn)代戰(zhàn)場(chǎng)復(fù)雜多樣的電磁環(huán)境,而基于現(xiàn)場(chǎng)可編程門陣列(FPGA)+直接數(shù)字頻率合成(DDS)技術(shù)的DDS設(shè)備具有參數(shù)可控制,發(fā)生方式簡(jiǎn)單,靈活多樣等優(yōu)點(diǎn),能夠快速實(shí)現(xiàn)復(fù)雜的波形發(fā)生系統(tǒng)[1]。
DDS是一種新型的頻率合成技術(shù),具有相對(duì)帶寬大、頻率轉(zhuǎn)換時(shí)間短、分辨率高和相位連續(xù)性好等優(yōu)點(diǎn),較容易實(shí)現(xiàn)頻率、相位以及幅度的數(shù)控調(diào)制,廣泛應(yīng)用于通信領(lǐng)域。
基于DDS的以上特點(diǎn),選用ADI公司的多功能集成芯片AD9914完成了多參數(shù)可調(diào)節(jié)的頻率源設(shè)計(jì)。
整個(gè)系統(tǒng)電路如圖1所示,包括上位機(jī)、外部控制模塊、FPGA外圍電路、AD9914電路、時(shí)鐘管理電路、低壓差分信號(hào)(LVDS)驅(qū)動(dòng)電路、電源管理、遠(yuǎn)程加載模塊以及濾波電路。
圖1 系統(tǒng)結(jié)構(gòu)框圖
上位機(jī)軟件使用RS232串口實(shí)現(xiàn)計(jì)算機(jī)和外部控制模塊的信息交換,它按照通信協(xié)議向控制模塊發(fā)送不同的指令,Xilinx FPGA加載AD9914,從而使頻率源處于合適的工作狀態(tài)。
外部控制模塊采用Intel公司的EPM570T144I5作為主芯片,產(chǎn)生波形觸發(fā)信號(hào),負(fù)責(zé)通用異步收發(fā)傳輸器(UART)信號(hào)向串行外設(shè)接口(SPI)信號(hào)的轉(zhuǎn)換,并將頻率源的狀態(tài)信號(hào)上報(bào)給上位機(jī)軟件。為了保證信號(hào)傳輸成功并且降低信號(hào)之間的串?dāng)_,選用MAX9122芯片將單端信號(hào)轉(zhuǎn)成差分LVDS信號(hào),LVDS在2根導(dǎo)線中都傳輸了電壓,具有很好的抗干擾性。
Xilinx FPGA型號(hào)為XC6SLX100,它工作時(shí)僅需3.3 V供電,供電方式簡(jiǎn)單,有利于模塊的小型化。此外,BANK2同時(shí)支持低壓TTL(LVTTL)和LVDS 2種電平標(biāo)準(zhǔn),將外部輸入的LVDS信號(hào)接入BANK2,利用FPGA內(nèi)部輸入緩沖器完成電平轉(zhuǎn)換工作。
由于FPGA芯片一般不能掉電保持固件,因此需要外部FLASH存儲(chǔ)FPGA固件,在上電的時(shí)候再將固件配置到FPGA中。同時(shí),使用了1片遠(yuǎn)程加載芯片,它采用封裝內(nèi)系統(tǒng)(SIP)技術(shù)集成了單片機(jī)和千兆以太網(wǎng)物理層,將JTAG鏈路轉(zhuǎn)換成網(wǎng)口信號(hào),可以遠(yuǎn)程升級(jí)代碼,具有體積小、易于遠(yuǎn)程維護(hù)升級(jí)等突出優(yōu)勢(shì),極大降低了外場(chǎng)試驗(yàn)、微波暗室等條件下雷達(dá)整機(jī)調(diào)試的難度。
溫度傳感器型號(hào)為DS18B20,測(cè)溫精度達(dá)到0.1 ℃,測(cè)溫范圍在-70 ℃~+150 ℃之間。DS18B20采用單一數(shù)字總線通信,僅需使用一個(gè)輸入/輸出(IO)資源,便能實(shí)現(xiàn)環(huán)境溫度的監(jiān)測(cè)。
AD9914內(nèi)部的DDS結(jié)構(gòu)如圖2所示。
圖2 DDS基本結(jié)構(gòu)圖
由圖2可知,DDS主要由相位累加器、相位調(diào)制器、波形數(shù)據(jù)表以及D/A轉(zhuǎn)換器組成。相位累加器由N位加法器與N位寄存器構(gòu)成,它輸出的數(shù)據(jù)就是合成信號(hào)的相位。相位累加器的溢出頻率就是DDS輸出的信號(hào)頻率。用相位累加器輸出的數(shù)據(jù)作為波形存儲(chǔ)器的相位采樣地址,這樣就可以把存儲(chǔ)在波形存儲(chǔ)器里的波形采樣值經(jīng)查表找出,完成相位到幅度的轉(zhuǎn)換,并通過(guò)在采樣點(diǎn)序號(hào)上加一個(gè)相位控制字實(shí)現(xiàn)相位的調(diào)整,最后由波形存儲(chǔ)器輸出數(shù)據(jù),并由幅度控制字調(diào)節(jié)數(shù)據(jù)大小。波形存儲(chǔ)器的輸出數(shù)據(jù)送到D/A轉(zhuǎn)換器,由 D/A 轉(zhuǎn)換器將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)輸出。若DDS的時(shí)鐘頻率為Fclk,頻率控制字為1,則輸出頻率Fout=Fclk/2N,這個(gè)頻率是1個(gè)基頻。若設(shè)頻率控制字為B,B只能是整數(shù),且有以下公式:
(1)
理論上由以上3個(gè)參數(shù)就可以得出任意頻率和幅度的輸出波形,且可得到頻率分辨率由時(shí)鐘頻率和累加器的位寬決定。參考時(shí)鐘頻率越高,累加器位數(shù)越多,輸出頻率分辨率越高。
AD9914共有5種工作模式[2-3],本文使用了并行數(shù)據(jù)端口模式、PROFILE調(diào)制模式和數(shù)字斜坡調(diào)制模式。在并行數(shù)據(jù)端口模式中,DDS的控制參數(shù)直接由32位并行端口調(diào)制,功能引腳F0~F3定義了32位并行端口控制DDS的哪個(gè)參數(shù)。此種模式適用于相位編碼信號(hào)的產(chǎn)生。
在PROFILE調(diào)制模式中[4],DDS控制參數(shù)直接由32位并行端口控制,利用外部PROFILE控制引腳PS0~PS2選擇整機(jī)想要的PROFILE,實(shí)現(xiàn)對(duì)DDS控制參數(shù)的調(diào)制。若需要對(duì)幅度參數(shù)進(jìn)行調(diào)節(jié),需要開啟外部輸出幅度鍵控引腳OSK。此種模式適用于脈沖調(diào)制,當(dāng)不需要輸出波形時(shí),配置幅度控制字對(duì)應(yīng)的PFOFILE為最小值;當(dāng)需要輸出波形時(shí)[5-9],配置幅度控制字對(duì)應(yīng)的PFOFILE為最大值。
在數(shù)字斜坡模式中,DDS控制參數(shù)由數(shù)字斜坡發(fā)生器DRG直接提供,斜坡發(fā)生參數(shù)由并行IO端口控制,它控制著斜坡的上升和下降斜率、斜坡上下限值、上升和下降的步長(zhǎng)和步率。通過(guò)并行編程方式對(duì)AD9914內(nèi)部寄存器進(jìn)行配置,即可控制DRG的各種參數(shù)[10]。
選用數(shù)字斜坡模式中的非駐留斜坡高位和非駐留斜坡低位產(chǎn)生正負(fù)線性調(diào)頻信號(hào)。在非駐留斜坡高位模式中,斜坡方向引腳DRCTL正向轉(zhuǎn)換時(shí),啟動(dòng)正斜坡斜率,在達(dá)到上限值之前會(huì)始終以正斜率斜坡輸出,達(dá)到上限值之后會(huì)立即跳轉(zhuǎn)到下限值,如果工作參數(shù)不變,DRG會(huì)始終保持該限值輸出。非駐留斜坡低位工作方式與高位類似,這里不做贅述。利用非駐留斜坡和PROFIL模式,能夠?qū)崿F(xiàn)線性調(diào)頻脈沖信號(hào)的發(fā)生。
采用Verilog HDL硬件描述語(yǔ)言,并借助Xilinx公司ISE14.7開發(fā)軟件完成了代碼編寫,軟件框架按功能劃分為3個(gè)部分,包括報(bào)文接收模塊、報(bào)文處理模塊以及波形發(fā)生模塊,其結(jié)構(gòu)如圖3所示。
圖3 軟件基本結(jié)構(gòu)圖
頻率源和外部控制模塊之間采用LVDS進(jìn)行時(shí)鐘信號(hào)、觸發(fā)信號(hào)的傳輸。本設(shè)計(jì)采用Xilinx公司提供的原語(yǔ)將差分信號(hào)轉(zhuǎn)換成單端信號(hào),實(shí)現(xiàn)輸入信號(hào)的緩沖。使用IBFGDS將差分時(shí)鐘信號(hào)GCLK_P,GCLK_N轉(zhuǎn)換成單端信號(hào),再用BUFG實(shí)現(xiàn)時(shí)鐘信號(hào)的全局緩沖,使它的時(shí)鐘延遲和抖動(dòng)最?。皇褂肐BFDS將差分觸發(fā)信號(hào)TRI轉(zhuǎn)換成單端信號(hào)。
整個(gè)頻率源系統(tǒng)主時(shí)鐘的頻率為120 MHz,為了確保系統(tǒng)的穩(wěn)定性,需要對(duì)全局時(shí)鐘進(jìn)行約束,在ISE的UCF文件中添加時(shí)序約束語(yǔ)句:TIMESPEC TS_CLK_P=PERIOD “CLK_P” 120 MHz HIGH 50%。
SPI模塊用于向外部發(fā)送頻率源狀態(tài)信息,并接收單端SPI報(bào)文信號(hào)。本設(shè)計(jì)采用右移操作實(shí)現(xiàn)SPI數(shù)據(jù)的接收:首先定義一個(gè)256位的寄存器Rx_Data_Reg[255∶0],當(dāng)片選信號(hào)CS為低時(shí),開始接收數(shù)據(jù),時(shí)鐘信號(hào)SCK的下降沿每來(lái)1次,將數(shù)據(jù){MOSI,rxd_data_reg[255∶1]}整體右移1次,當(dāng)CS為高時(shí),將Rx_Data_Reg賦值給Rx_Data,更新一次接收到的報(bào)文數(shù)據(jù),并將Rxd_Flag置高。
報(bào)文解析模塊將報(bào)文信息解析,得到報(bào)文頭、頻率源的頻點(diǎn)信息Fre、工作模式信息Mode和校驗(yàn)以及報(bào)文尾,和校驗(yàn)為所有字節(jié)相加并加1,如果和校驗(yàn)正確,則將報(bào)文信息發(fā)送給下級(jí)AD9914模塊。
波形發(fā)生模塊是整個(gè)軟件設(shè)計(jì)的核心部分,它包括波形參數(shù)模塊、相位參數(shù)模塊、AD9914模塊和數(shù)據(jù)匹配模塊。其中,波形參數(shù)模塊使用了FPGA內(nèi)部的查找表,它寄存了不同工作模式下DDS的各種調(diào)制參數(shù),包括調(diào)頻時(shí)間tFM、調(diào)頻帶寬BFM、數(shù)字斜坡下限值NDLIM、數(shù)字斜坡上限值NULIM、數(shù)字斜坡頻率步進(jìn)sSTEP和時(shí)間步進(jìn)sTIME,參數(shù)值均根據(jù)Mode樣式來(lái)設(shè)置。為了保證線性調(diào)頻的效果,這里按照最小數(shù)字斜坡時(shí)間步進(jìn)調(diào)節(jié),即sTIME固定為1,其余數(shù)字斜坡參數(shù)計(jì)算公式如下:
NULIM=(F0+BFM/2)·1 491 308
(2)
NDLIM=(F0-BFM/2)·1 491 308
(3)
(4)
式中:F0為中心頻點(diǎn);fsysclk為AD9914參考時(shí)鐘頻率。
Phase_Rom模塊存儲(chǔ)了偽隨機(jī)相位編碼,這里使用EXCEL產(chǎn)生512位偽隨機(jī)相位編碼,調(diào)用ISE里的Block Memory Generator IP核,將其設(shè)置成單端口只讀存儲(chǔ)器(ROM),并且設(shè)置ROM的深度和數(shù)據(jù)位寬與Coe文件對(duì)應(yīng),將Coe文件添加至此單端口ROM。
AD9914模塊根據(jù)輸入的頻點(diǎn)信息、工作模式、調(diào)頻帶寬、調(diào)頻時(shí)間、重頻等信息,配置AD9914的內(nèi)部寄存器,使其輸出對(duì)應(yīng)的波形。
AD9914模塊包含了多波形發(fā)生器的加載,其中波形樣式分為點(diǎn)頻、正線性調(diào)頻、負(fù)線性調(diào)頻、相位編碼4類,每類波形均對(duì)應(yīng)1個(gè)線性序列機(jī)。根據(jù)線性序列機(jī)的思想,使用1個(gè)計(jì)數(shù)器不斷計(jì)數(shù),每個(gè)計(jì)數(shù)值都會(huì)對(duì)應(yīng)1個(gè)時(shí)間,該時(shí)間符合操作信號(hào)的時(shí)間刻,并對(duì)該信號(hào)進(jìn)行操作,從而完成AD9914內(nèi)部寄存器的加載,下面將以正線性調(diào)頻為例,介紹AD9914寄存器的配置流程。
(1) 地址0x0F:使能自動(dòng)數(shù)模轉(zhuǎn)換器(DAC)校準(zhǔn),觸發(fā)內(nèi)部校準(zhǔn)程序,從而優(yōu)化DAC內(nèi)部時(shí)序的建立和保持時(shí)間,校準(zhǔn)失敗會(huì)影響功能和性能,因此校準(zhǔn)時(shí)間需要滿足一定條件:
(5)
式中:fs為AD9914參考時(shí)鐘頻率。
(2) 地址0x01:對(duì)輸出幅度調(diào)制時(shí),需要置位外部OSK使能和OSK使能。
(3) 地址0x05:并行端口的頻率、相位和幅度會(huì)通過(guò)不同的路徑傳達(dá)給DDS內(nèi)核,導(dǎo)致不同的傳播延遲,因此,本文調(diào)制多余1個(gè)參數(shù)時(shí)需要置位匹配延遲使能位,從而均衡并行端口至DDS內(nèi)核的每個(gè)DDS參數(shù)。此外,還需置位SYNC_CLK,它是并行端口的數(shù)據(jù)時(shí)鐘,同時(shí)還作為FPGA的輸入時(shí)鐘。
(4) 地址0x07:使能數(shù)字斜坡非駐留高位。在數(shù)字斜坡非駐留高位操作期間,DRCTL引腳正向轉(zhuǎn)換時(shí),會(huì)啟動(dòng)正斜率斜坡,頻率到達(dá)上限值時(shí),DRG會(huì)自動(dòng)掉到下限值。
(5) 地址0x11:設(shè)置數(shù)字斜坡下限值低16位。
(6) 地址0x13:設(shè)置數(shù)字斜坡下限值高16位。
(7) 地址0x15:設(shè)置數(shù)字斜坡上限值低16位。
(8) 地址0x16:設(shè)置數(shù)字斜坡上限值高16位。
(9) 地址0x19:設(shè)置數(shù)字斜坡頻率步進(jìn)低16位。
(10) 地址0x1B:設(shè)置數(shù)字斜坡頻率步進(jìn)高16位。
(11) 地址0x21:設(shè)置數(shù)字斜坡速率。
其余波形樣式寄存器加載方式與此方式類似,這里不做贅述。
將功能引腳F0~F3配置為全0,通過(guò)并行編程實(shí)現(xiàn)對(duì)AD9914寄存器的加載,寫入時(shí)序圖如圖4所示。
圖4 并行編程寫入時(shí)序圖
所有的寄存器配置完成后,并行端口數(shù)據(jù)并不會(huì)發(fā)送給DDS內(nèi)核,需要置位IOUPDATE引腳,數(shù)據(jù)才會(huì)發(fā)送到DDS內(nèi)核。當(dāng)外部控制設(shè)備的同步觸發(fā)脈沖TRI來(lái)臨之后,將DRCTL引腳由0置為1,保持至少2個(gè)周期之后再置為0,并使能幅度控制引腳OSK,AD9914開始輸出,當(dāng)滿足調(diào)制時(shí)間之后,將OSK管腳拉低,AD9914停止輸出,1次調(diào)制周期結(jié)束,系統(tǒng)等待下一個(gè)同步觸發(fā)脈沖的到來(lái)。
使用頻譜儀和示波器對(duì)實(shí)物進(jìn)行最終測(cè)試,測(cè)試過(guò)程及結(jié)果如圖5~圖8所示。圖5是頻率切換時(shí)間,切換時(shí)間小于250 ns。圖6是150 MHz連續(xù)波,在100 MHz窄帶內(nèi)雜散抑制達(dá)到75 dBc。圖7和圖8分別是5 MHz帶寬和20 MHz帶寬的線性調(diào)頻信號(hào)。
圖5 頻率切換時(shí)域圖
圖6 150 MHz連續(xù)波實(shí)測(cè)圖
圖7 5 MHz帶寬線性調(diào)頻實(shí)測(cè)圖
圖8 20 MHz帶寬線性調(diào)頻實(shí)測(cè)圖
介紹了一種基于DDS的多參數(shù)可調(diào)頻率源,并對(duì)其工作原理進(jìn)行分析,測(cè)試結(jié)果表明該頻率源具有較低的雜散,并且能夠?qū)崿F(xiàn)單頻、正負(fù)線性調(diào)頻、脈沖調(diào)制等多波形輸出。本組件采用DDS技術(shù),集成度高,性能優(yōu)越,易于裝配和調(diào)試,具有廣闊的應(yīng)用前景。