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