摘要:傳統(tǒng)的多路同步信號源常采用單片機搭載多片專用DDS芯片配合實現(xiàn)。該技術實現(xiàn)復雜,且在要求各路同步相干可控時難以實現(xiàn)。本文在介紹了DDS原理的基礎上,給出了用Verilog_HDL語言實現(xiàn)相干多路DDS的工作原理、設計思路、電路結構。利用Modelsim仿真驗證了該設計的正確性,本設計具有調相方便,相位連續(xù),頻率穩(wěn)定度高等優(yōu)點。
關鍵詞:DDS;現(xiàn)場可編程門陣列(FPGA);相位累加器;Verilog_HDL
實現(xiàn)信號源的多路同步輸出且各路間擁有固定的相位關系,在雷達、通信等多領域有著重要的應用。為了實現(xiàn)此功能,大多數(shù)設計是利用單片機控制多個專用DDS芯片,實現(xiàn)多信號同步輸出,如圖1所示。但腱由于采用分立的專用DDS芯片,各芯片參數(shù)很難做到完全相同,參數(shù)的差異會造成輸出信號頻率和相位不同。因此,盡管各DDS芯片采用同一頻率字,各個輸出信號頻率也難以完全相同。同樣,由于參數(shù)的不一致,波形之間的相位也難以做到同步準確可調,更重要的是各個信號通道間頻率差異的累積效應可能會導致同步失敗。由于這些原因,要實現(xiàn)多路同步輸出且各路信號間成相干關系必須采用另外的系統(tǒng)。本文給出了一種基于FPGA的3路相干信號源設計方案。
1 DDS基本原理
DDS(Direct Digital Synthesizer)的實質足對相位進行可控等問隔的采樣。一個DDS信號發(fā)生器是由:相位累加器、正弦查找表(波形Rom表)、數(shù)模轉換器以及模擬低通濾波器(LPF)組成,原理框圖如圖2所示。
DDS系統(tǒng)的核心是相位累加器。相位累加器在參考時鐘信號的控制下產生讀取Rom表數(shù)據(jù)的地址值,隨后通過查表變換,讀出相應地址的信號波形的數(shù)字幅度值序列,再由數(shù)模變換器將代表波形幅度的數(shù)字序列轉化為模擬電平,最后經由低通濾波器濾除高頻分量使波形平滑。
2 基于FPGA的3路同步輸出DDS工作原理
3路同步相干DDS信號源工作原理如圖3所示。
所有的部分都在統(tǒng)一時鐘的控制下保證了各路信號的同步輸出;各頻率輸入為同一控制字,使得各信號間有很好的同頻性;不同的相位輸入決定了各路間固定的相位差,滿足了相干性要求。在FPGA里面做到的是D/A轉換器之前的部分。3路信號結構相同,每一路的電路結構如圖4所示。
3 電路設計
3.1 電路總體接口
本系統(tǒng)采用Verilog語言編程,綜合工具為Quartusii,仿真工具為Modelsim。
電路接口有clk,rst_n,K1,K2,K<3,phase1,phase2,phase3,d_out1,d_out2,d_out3,其中clk為系統(tǒng)時鐘,rst_n為復位信號低電平異步復位,K1,K2,K3為頻率控制字輸入(本系統(tǒng)為同一輸入),phase1,phase2,phase3為3路相位輸入,d_out1,d_out2,d_out3為3路輸出。
3.2 源程序代碼代碼
頂層模塊代碼如下所示,
頂層模塊的RTL Viewer如圖5所示。
相位累加器模塊代碼如下所示。
波形ROM表利用Quartus ii軟件的插件管理程序Megawizard plug-in manager獲得,對于波形數(shù)據(jù)mif文件的獲得這里使用了專用軟件Guagle_Wave。
4 仿真與分析
仿真測試文件代碼如下。
3路相干輸出DDS的仿真結果如圖6所示。途中豎線為相位跳變處,從此之后各路信號保持了良好的相干性,由此可見滿足了設計要求。本設計只需改變各路的相位控制字就可實現(xiàn)各路之間的相位調整。本設計運用Vefilog語言結合DDS原理和FPGA器件,實現(xiàn)了多路相干信號源設計,相位連續(xù)可調,且易于調節(jié)。