新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Verilog的多路相干DDS信號源設(shè)計(jì)

基于Verilog的多路相干DDS信號源設(shè)計(jì)

作者: 時(shí)間:2016-10-15 來源:網(wǎng)絡(luò) 收藏

摘要:傳統(tǒng)的多路同步信號源常采用單片機(jī)搭載多片專用芯片配合實(shí)現(xiàn)。該技術(shù)實(shí)現(xiàn)復(fù)雜,且在要求各路同步相干可控時(shí)難以實(shí)現(xiàn)。本文在介紹了原理的基礎(chǔ)上,給出了用語言實(shí)現(xiàn)相干多路的工作原理、設(shè)計(jì)思路、電路結(jié)構(gòu)。利用Modelsim仿真驗(yàn)證了該設(shè)計(jì)的正確性,本設(shè)計(jì)具有調(diào)相方便,相位連續(xù),頻率穩(wěn)定度高等優(yōu)點(diǎn)。

本文引用地址:http://m.butianyuan.cn/article/201610/307556.htm

關(guān)鍵詞:DDS;現(xiàn)場可編程門陣列(FPGA);;

實(shí)現(xiàn)信號源的多路同步輸出且各路間擁有固定的相位關(guān)系,在雷達(dá)、通信等多領(lǐng)域有著重要的應(yīng)用。為了實(shí)現(xiàn)此功能,大多數(shù)設(shè)計(jì)是利用單片機(jī)控制多個(gè)專用DDS芯片,實(shí)現(xiàn)多信號同步輸出,如圖1所示。但腱由于采用分立的專用DDS芯片,各芯片參數(shù)很難做到完全相同,參數(shù)的差異會(huì)造成輸出信號頻率和相位不同。因此,盡管各DDS芯片采用同一頻率字,各個(gè)輸出信號頻率也難以完全相同。同樣,由于參數(shù)的不一致,波形之間的相位也難以做到同步準(zhǔn)確可調(diào),更重要的是各個(gè)信號通道間頻率差異的累積效應(yīng)可能會(huì)導(dǎo)致同步失敗。由于這些原因,要實(shí)現(xiàn)多路同步輸出且各路信號間成相干關(guān)系必須采用另外的系統(tǒng)。本文給出了一種基于FPGA的3路相干信號源設(shè)計(jì)方案。

基于Verilog的多路相干DDS信號源設(shè)計(jì)

1 DDS基本原理

DDS(Direct Digital Synthesizer)的實(shí)質(zhì)足對相位進(jìn)行可控等問隔的采樣。一個(gè)DDS信號發(fā)生器是由:、正弦查找表(波形Rom表)、數(shù)模轉(zhuǎn)換器以及模擬低通濾波器(LPF)組成,原理框圖如圖2所示。

基于Verilog的多路相干DDS信號源設(shè)計(jì)

DDS系統(tǒng)的核心是。相位累加器在參考時(shí)鐘信號的控制下產(chǎn)生讀取Rom表數(shù)據(jù)的地址值,隨后通過查表變換,讀出相應(yīng)地址的信號波形的數(shù)字幅度值序列,再由數(shù)模變換器將代表波形幅度的數(shù)字序列轉(zhuǎn)化為模擬電平,最后經(jīng)由低通濾波器濾除高頻分量使波形平滑。

2 基于FPGA的3路同步輸出DDS工作原理

3路同步相干DDS信號源工作原理如圖3所示。

基于Verilog的多路相干DDS信號源設(shè)計(jì)

所有的部分都在統(tǒng)一時(shí)鐘的控制下保證了各路信號的同步輸出;各頻率輸入為同一控制字,使得各信號間有很好的同頻性;不同的相位輸入決定了各路間固定的相位差,滿足了相干性要求。在FPGA里面做到的是D/A轉(zhuǎn)換器之前的部分。3路信號結(jié)構(gòu)相同,每一路的電路結(jié)構(gòu)如圖4所示。

基于Verilog的多路相干DDS信號源設(shè)計(jì)

3 電路設(shè)計(jì)

3.1 電路總體接口

本系統(tǒng)采用Verilog語言編程,綜合工具為Quartusii,仿真工具為Modelsim。

電路接口有clk,rst_n,K1,K2,K3,phase1,phase2,phase3,d_out1,d_out2,d_out3,其中clk為系統(tǒng)時(shí)鐘,rst_n為復(fù)位信號低電平異步復(fù)位,K1,K2,K3為頻率控制字輸入(本系統(tǒng)為同一輸入),phase1,phase2,phase3為3路相位輸入,d_out1,d_out2,d_out3為3路輸出。

3.2 源程序代碼代碼

頂層模塊代碼如下所示,

基于Verilog的多路相干DDS信號源設(shè)計(jì)

頂層模塊的RTL Viewer如圖5所示。

基于Verilog的多路相干DDS信號源設(shè)計(jì)

相位累加器模塊代碼如下所示。

基于Verilog的多路相干DDS信號源設(shè)計(jì)

波形ROM表利用Quartus ii軟件的插件管理程序Megawizard plug-in manager獲得,對于波形數(shù)據(jù)mif文件的獲得這里使用了專用軟件Guagle_Wave。

4 仿真與分析

仿真測試文件代碼如下。

基于Verilog的多路相干DDS信號源設(shè)計(jì)
基于Verilog的多路相干DDS信號源設(shè)計(jì)

3路相干輸出DDS的仿真結(jié)果如圖6所示。途中豎線為相位跳變處,從此之后各路信號保持了良好的相干性,由此可見滿足了設(shè)計(jì)要求。本設(shè)計(jì)只需改變各路的相位控制字就可實(shí)現(xiàn)各路之間的相位調(diào)整。本設(shè)計(jì)運(yùn)用Vefilog語言結(jié)合DDS原理和FPGA器件,實(shí)現(xiàn)了多路相干信號源設(shè)計(jì),相位連續(xù)可調(diào),且易于調(diào)節(jié)。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉