<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

基于Verilog的多路相干DDS信號源設計

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

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

本文引用地址:http://dyxdggzs.com/article/201610/307556.htm

關(guān)鍵詞:DDS;現場(chǎng)可編程門(mén)陣列(FPGA);;

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

基于Verilog的多路相干DDS信號源設計

1 DDS基本原理

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

基于Verilog的多路相干DDS信號源設計

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

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

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

基于Verilog的多路相干DDS信號源設計

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

基于Verilog的多路相干DDS信號源設計

3 電路設計

3.1 電路總體接口

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

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

3.2 源程序代碼代碼

頂層模塊代碼如下所示,

基于Verilog的多路相干DDS信號源設計

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

基于Verilog的多路相干DDS信號源設計

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

基于Verilog的多路相干DDS信號源設計

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

4 仿真與分析

仿真測試文件代碼如下。

基于Verilog的多路相干DDS信號源設計
基于Verilog的多路相干DDS信號源設計

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



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>