李 輝 饒睿楠 任亞欣
(西安電子工程研究所 西安 710100)
現代雷達中,通常要求雷達發射信號具有多種形式,如工作時采用的不同帶寬不同時寬的線性調頻信號、非線性調頻信號、單頻信號、相位編碼信號,以及為進行系統調試、校正而使用幅度調制的上述信號等。這就給雷達信號產生器提出了具有多種工作模式的要求[1]。應用于某雷達系統的信號波形要求如表1所示,表1中的f為多普勒頻移。盡管本系統中對信號模式要求不是很多,但是為了實現通用化這就要求在設計的開始就以模塊化和通用化的思想從軟件和硬件方面進行構思設計。本文將MATLAB工具軟件和Quartus軟件聯合使用,通過MATLAB以參數化的方法產生mif格式的信號波形數據和DDS寄存器配置數據,這些數據作為FPGA中RAM對應的數據在FPGA開發中直接使用。在FPGA設計中采用多層狀態機的方法來實現對AD9910的多模式動態配置[1]。由于采用了參數化方法使得當信號參數改變時,只需在MATLAB中修改信號相應參數產生對應的數據替換原來的數據就可以實現新參數的信號,從而實現了信號產生器的通用化,節省了軟、硬件開發成本。

表1 某雷達信號產生器的工作模式
AD9910是ADI公司近年來推出的一款性價比很高的DDS芯片,它與AD9954的功能比較如表2所示,可以認為它是AD9954的升級版,其內部結構圖如圖1所示,由圖1可以看出:它主要由DDS核、14位DAC、線性斜坡發生器、1024 X 32 bit RAM、時鐘倍頻電路、時序控制邏輯、串行控制接口和高速并行數據接口等8部分組成。它支持的最高時鐘頻率達到1000MHz。其內部集成的靜態RAM從邏輯上劃分為八個區,分別由外部引腳Profile0~2進行選擇,這八個區分別由寄存器 Profilei(i=0,1,2,3,4,5,6,7)控制。該RAM中的數據可以作為頻率控制字、也可以作為相位偏移字,還可以作為幅度與相位偏移字用于角度調制,RAM主要用于預先定義好的調制。AD9910主要有4種工作模式:單頻模式、RAM調制模式、DRG調制模式和并口調制模式。在單頻模式下,AD9910輸出連續波信號。AD9910共有8個64位單頻信號寄存器,可以存儲8個單一頻率控制字,每個寄存器中包含了頻率控制參數、相位控制參數和幅度控制參數。利用芯片管腳Profile0~2可以選擇使用哪個Profile寄存器。在RAM調制模式下,用戶可以任意改變DDS信號控制參數來產生各種信號,典型應用如FSK、PSK、ASK以及用戶可自定義的非線性掃描信號。這種模式下的RAM寄存器和單點調制模式下的單頻信號寄存器復用同一地址,通過芯片的功能控制寄存器CFR1、CFR2來控制選用哪種模式。DRG調制模式與RAM調制模式實現功能相類似,不同點是該模式利用累加器對DDS所需的信號參數進行調制。在這種模式下,可以產生較好的線性調頻信號。并口調制模式主要應用于需要頻率或者相位極快變化的場合,例如跳頻合成器、高速波形發生器等。因為AD9910提供了更新速率可達250MHz的l6bit快速編程的并行接口,每隔8ns即可更新一次32bit的頻率控制字。在各個工作模式下對芯片的操作只需要選擇相應的模式,并寫入相應的控制字即可。根據AD9910的功能特點及設計要求,在本文中選擇使用的是RAM調制模式。

表2 AD9910與AD9954主要功能對比

圖1 AD9910的結構框圖
系統采用FPGA作為控制電路的核心,通過AD9910的串口對其進行動態配置來實現通用雷達信號產生器,其系統框圖如圖2所示。圖2中穩壓器對+5V的電壓進行穩壓處理,產生+3.3V、+1.2V、+1.8V電壓分別為FPGA和AD9910供電;FPGA根據外部輸入信號的變化對AD9910進行動態配置,在配置完成后根據外部的輸入脈沖觸發AD9910輸出一定參數的復雜信號;AD9910輸出的信號通過Balun實現差分到單端信號的轉換,再經濾波器濾波后由放大器對信號進行放大后輸出。
在進行硬件設計時,為了實現通用化需要考慮以下幾個問題:一是AD9910的輸入參考時鐘,采用外部直接輸入時鐘還是通過內置的PLL對輸入的頻率較低的時鐘進行倍頻而得到最終的頻率較高的時鐘信號;二是系統中的關鍵信號如串口配置時鐘Sclk、配置數據Sdio和同步時鐘信號等要按照高速信號來處理;三是信號輸出電路部分的Balun、濾波器和放大器的選擇要考慮到輸出信號中心頻率、帶寬變化的影響。在本方案中對輸入的頻率較低的時鐘信號通過內置的PLL進行倍頻,考慮到不同倍頻次數和環路參數對最終輸出相位噪聲的影響,需要特別注意外接環路濾波器的設計,在印制板設計時對外接的電容和電阻按照并聯和串聯方式多布置幾個封裝位置以便于調整環路參數、優化輸出信號的相位噪聲。對于系統中的關鍵信號按照高速信號設計規則進行布線,以保證信號的完整性。對于輸出Balun和放大器采用頻響滿足AD9910最大Nyquist帶寬的型號,而對于濾波器則選用標準封裝的成品濾波器,當輸出信號中心頻率和帶寬變化時,直接更換即可。

圖2 系統框圖
軟件的設計涉及三個方面,一是波形和配置數據的產生,二個是根據外部輸入信號的變化對AD9910進行動態配置;三是配置完成以后的運行控制。本方案中,波形和配置數據利用MATLAB工具以參數化的方法產生Quartus軟件能夠直接使用的mif格式的數據文件,當信號參數改變時,只要在MATLAB中對參數進行修改生成新的數據文件來代替舊的數據文件就可以完成新參數信號的產生。動態配置的問題可以采用多層次狀態機[1]來解決。配置完成后的控制運行要依據雷達工作的特點,以Prf脈沖的前沿作為觸發,根據脈寬等參數的變化來改變Profile0~2信號,從而使AD9910輸出一定參數的復雜信號。圖3為FPGA內部的框圖,主要由三部分組成:邏輯控制模塊、RAM和并串轉換模塊,邏輯控制模塊負責整個系統的邏輯產生包括對RAM的讀控制、并串轉換模塊的啟動和與AD9910連接的信號的邏輯控制。在FPGA設計時要保證關鍵信號的建立時間和保持時間滿足AD9910數據手冊的要求。

圖3 FPGA內部框圖
圖4為AD9910串口配置的時序要求。串口的操作要在CS信號為低電平的情況下先寫入一個命令字節,通過命令字節指明是進行讀操作還是寫操作,同時指明操作寄存器的地址。接下來的字節是數據字節也就是寫入寄存器的數據或者從寄存器中讀出的數據。圖5是用Quartus軟件進行FPGA設計,仿真出的時序圖。從仿真圖可以看出,在進行串口寫操作前先在io-reset端口形成一個脈沖來進行串口的同步操作,在寫完一個寄存器后在io-update端口上形成一個脈沖使寫入的數據從緩存區轉移到寄存器中,從而完成一個寄存器的寫操作。


圖6~9是測試不同模式下的信號頻譜圖,圖10~11是測試不同初始相位情況下的信號時域圖。其中,圖6為脈內跳頻的線性調頻脈沖信號的頻譜圖,圖8為線性調頻脈沖信號的頻譜圖,圖7和圖9分別為圖6和圖8對應信號加多普勒偏移后的信號頻譜圖,為了便于觀測,將多普勒頻率設置為1MHz。

圖6 脈內跳頻線性調頻信號未加多普勒偏移





本文根據AD9910的性能特點,通過FPGA對其進行動態配置形成通用雷達信號產生器。對實現該方案應注意的問題和解決方法進行了具體的介紹。最后利用頻譜儀測試了輸出信號的頻譜,利用示波器測試了線性調頻脈沖信號的時域圖,符合設計要求。需要指出的是:由于受AD9910最高參考時鐘頻率以及其內部集成RAM容量的限制,該方案在產生大時寬、大帶寬的線性調頻脈沖信號或非線性調頻脈沖信號時受到了限制。
[1]李輝.基于AD9954的多模式雷達信號產生器[J].火控雷達技術,2008,(4).
[2]AD9910 DATA SHEET.Analog Devices,Inc.2007.
[3]夏宇聞.VERILOG數字系統設計教程[M].北京:北京航空航天大學出版社,2003.
[4]田廣錕,范如東.高速電路PCB設計與EMC技術分析[M].北京:電子工業出版社,2008.