999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Verilog HDL的DDS設計與仿真

2008-04-12 00:00:00李春劍吉望西劉達倫
現代電子技術 2008年20期

摘 要:詳細闡述利用QuartusⅡ實現DDS(直接數字頻率合成器)模塊的方法和步驟。首先分析DDS的設計原理,并對其進行系統建模,利用Verilog HDL實現設計并在開發環境下進行功能仿真,選用現場可編程器件FPGA作為目標器件,得到可以重構的IP核,其可以很方便地實現復雜的調頻、調相和調幅功能。利用該方法實現的DDS模塊具有更廣泛的實際意義和更良好的實用性。

關鍵詞:直接數字頻率合成器;現場可編程門陣列;Verilog HDL;Quartus Ⅱ;IP核

中圖分類號:TN77文獻標識碼:B

文章編號:1004373X(2008)2001503

Design and Simulation of DDS Based on Verilog HDL

LI Chunjian,JI Wangxi,LIU Dalun

(National Institute of Metrology,Beijing,100013,China)

Abstract:The method and steps of realization of DDS(Direct Digital Synthesizer)on Quartus II is described in detail.This paper analyzes the principle of DDS,builds up a system model,realizes DDS module based on Verilog HDL and simulates it.The IP nucleus of DDS which is built can be reframed.It is very easy to achieve frequency modulation,phase modulation and amplitude modulation with the DDS module.It has more comprehensive and nice practicality.

Keywords:direct digital synthesizer;FPGA;Verilog HDL;Quartus II;IP nucleus

直接數字頻率合成技術(Direct Digital Synthesize,DDS)是繼直接頻率合成技術和鎖相式頻率合成技術之后的第三代頻率合成技術[1]。它采用全數字技術,并從相位角度出發進行頻率合成。隨著微電子技術和數字集成電路的飛速發展,以及電子工程領域的實際需要,DDS日益顯露出優于傳統頻率合成技術的一些性能,高分辨率、極短的頻率切換時間、相位噪聲低、便于集成等,逐步成為現代頻率合成技術中的佼佼者。

目前,DDS的設計大多是應用HDL(Hardware Description Language)對其進行邏輯描述。整個設計可以很容易地實現參數改變和設計移植,給設計者帶來很大的方便。Verilog HDL就是其中一種標準化的硬件描述語言,它不僅可以進行功能描述,還可以對仿真測試矢量進行設計。Altera公司開發的QuartusⅡ設計軟件,提供了Verilog HDL的設計界面以及編譯平臺,并且該公司還集成了可供程序下載的FPGA器件CYCLONE Ⅱ系列芯片,這樣大大縮短了DDS的設計周期。

1 DDS的設計原理

DDS的原理圖如圖1所示。DDS實現頻率合成主要是通過查表的方式進行的[2]

正弦查詢表是一個只讀存儲器(ROM),以相位為地址,存有1個或多個按0o~360o相位劃分幅值的正弦波幅度信息。相位累加器對頻率控制字進行累加運算,若需要還可以加入相位控制字,得到的結果作為正弦波查詢表的地址。正弦查詢表的輸出為數字化正弦幅度值,通過D/A轉換器轉化為近似正弦波的階梯波,再通過低通濾波器濾除高頻成分和噪聲最終得到一個純正度很高的正弦波。

1.1 建模

如圖2所示正弦波y=sin(2πx),若以f量化的量化頻率對其幅度值進行量化,一個周期可以得到M=f量化個幅度值。將這些幅度值按順序存入到ROM。相位累加器在參考時鐘的驅動下,每來1個脈沖,輸出就會增加1個步長相位增量X,輸出數據作為地址送入ROM中,讀出對應的幅度值形成相應的波形。

1.2 參數設定

DDS輸出信號頻率:

fo=fc×X/2N

其中,X為頻率累加器設定值;N為相位累加器位數;fc為參考時鐘頻率。

例如,假定基準時鐘為200 MHz,累加器的位數為32,頻率控制字X為:

0x08000000H,即為227,則:

fo=200×227/232=6.25 MHz

再設定頻率控制字X為0x80000000H,即為231,則:

fo=200×231/232=100 MHz

可見,理論上通過設定DDS相位累加器位數N、頻率控制字X和基準時鐘fc的值,就可以得到任一頻率的輸出[3]。

頻率分辨率為:fres=fc/2N,由參考時鐘和累加器的位數決定,當參考時鐘的頻率越高,相位累加器的位數越高,所得到的頻率分辨率就越高。

1.3 方案的選擇

在利用FPGA制作DDS時,相位累加器是決定DDS性能的一個關鍵部分[3]。一方面可以利用進位鏈來實現快速、高效的電路結構,同時長的進位鏈會減少其他邏輯的布線資源,限制整個系統速度的提高;另一方面可以利用流水線技術提高工作頻率,但系統頻率轉換速度會相對降低。在選擇累加器實現方案時需要綜合考慮。

正弦波查詢表ROM也是制作的重點。在FPGA中ROM 表的尺寸隨著地址位數或數據位數的增加呈指數遞增,如何在滿足性能的前提下節省資源開銷。一方面通過相位累加器的輸出截斷方式,例如從32位的相位累加器結果中提取高16位作為ROM的查詢地址,由此而產生的誤差會對頻譜純度有影響,但是對波形的精度的影響是可以忽略的;另一方面可以根據信號周期對稱性來壓縮ROM的尺寸,這時系統硬件設計復雜度會有所增加。因此,需要選取合適的參數和ROM壓縮技術,在滿足系統性能的前提下使得系統盡量優化。

2 Verilog HDL實現DDS模塊

2.1 相位累加器

module acc(aclr,clock,dataa,datab,result);

inputaclr,clock;//輸入輸出端口說明

input[31:0] dataa,datab;

output[31:0] result;

reg[31:0] result;

reg[31:0] A;

always@(posedge clock or posedge aclr)//功能實現

begin

if (aclr)

result=0;

else

begin

A=dataa+A;

result=A+datab;

end

end

endmodule

上述為相位累加器的Verilog HDL功能實現,其中數據寬度為32位。同時利用Quartus Ⅱ進行波形仿真見圖3。對應的模塊符號見圖4。

2.2 ROM正弦查詢表

根據DDS的原理,將正弦波形的量化數據存儲于波形查詢表ROM中,即可完成正弦波發生的功能[4]。Altera公司提供了LPM ROM(ROM兆函數),這里只需借助Matlab生成.mif文件,并加載到LPM ROM中即可得到所需的正弦查詢表ROM。

在Matlab中,運行下面的語句可以得到儲存正弦波數字幅度值的.mif文件。例如產生214×12 b的正弦波0~2π幅度值,語句如下:

>>x=0:1:16383;

>>y=round(1000*sin(2*pi*x/16383))+1000;

>>a=[x;y];

>>fid=fopen(′rom.mif′,′w′);

>>fprintf(fid,′%d:%d;\\\′,a);

>>fclose(fid);

由此而生成的rom.mif文件內容是正弦波0~2π數字幅度值,但是格式不符合.mif文件的格式,需要對其進行修改。.mif文件的格式如下:

WIDTH=12;

DEPTH=16384;

ADDRESS_RADIX=DEC;

DATA_RADIX=DEC;

CONTENT BEGIN

…7646:1208;…

END

這樣通過例化LPM ROM得到了正弦波查詢表ROM的模塊,地址寬度為14位,輸出數據為12位。模塊符號見圖5。

2.3 DDS頂層模塊的實現

module dds(clear,clk200,freq,phase,A,sinout);

input clear,clk200;

input [31:0] freq,phase;

output [31:0] A;

output [11:0] sinout;

reg [31:0] A;

wire[13:0] address;//內部信號的定義

assign address=A[31:18];

acc u0(.clock(clk200),.aclr(clear),.dataa(freq),

.datab(phase),.result(A));//相位累加器模塊的例化

sinromu1(.clock(clk200),.address(address),.q(sinout));

//正弦查詢表模塊例化

endmodule

上述代碼為DDS模塊的Verilog HDL頂層文件。對應的模塊圖見圖6。

若需要利用NIOS Ⅱ對其進行控制,需要并將DDS模塊加載到NIOS Ⅱ的系統中。例如,通過NIOS Ⅱ為DDS模塊的頻率控制字freq和相位控制字phase置數。此時DDS的代碼應改為:

module dds(clear,clk200,idata,iwr,iclk,addr,A,sinout);

input clear,clk200,iclk,iwr,addr;

input [31:0] idata;

output [31:0] A;

output [11:0] sinout;

reg [31:0] freq,phase,A;

wire[13:0] address;

always@(posedge iclk)

begin

if(iwr)

case(addr)

1'b0:freq=idata;

1'b1:phase=idata;

endcase

end

assign address=A[31:18];

acc u0(.clock(clk200),.aclr(clear),.dataa(freq),

.datab(phase),.result(A));

sinromu1(.clock(clk200),.address(address),.q(sinout));

endmodule

模塊的輸入端口添加了寫信號iwr、地址信號addr和與NIOS Ⅱ同步的時鐘信號iclk,這樣是為了將DDS模塊連接到Avalon總線上,利用總線和NIOS Ⅱ進行通信。

加載到NIOS Ⅱ系統之前,需要將該模塊進行仿真和調試。仿真結果如圖7所示。

至此DDS的數字部分已經完成。

對于整個模塊的驅動時鐘,若時鐘源器件的頻率不符合實際需要,需要再設計一個倍(分)頻器將其倍頻或是分頻。例如現有時鐘源為50MHz,可以使用FPGA中的PLL(鎖相環)實現4倍頻得到200 MHz。

參考文獻

[1]羅韓君,林亞風,吳伶錫.一種基于DDS技術的新型激光測距系統的設計[J].現代電子技術,2005,28(17 ):42-44.

[2]鐘蔚杰,蔣壘,劉耀應.基于VHDL編程的DDS設計\\.艦船電子對抗,2007,30(2):102-105.

[3]周俊峰,陳濤.基于FPGA的直接數字頻率合成器的設計和實現\\.電子技術應用,2002,28(8):34-36.

[4]李威.FPGA/DDS的諧波信號發生器的研究與設計\\.南京:河海大學,2007.

[5]夏雨聞.Verilog數字系統設計教程\\.北京:北京航空航天大學出版社,2003.

[6]\\帕爾尼卡.Verilog HDL數字設計與綜合\\.夏雨聞,譯.北京:電子工業出版社,2004.

[7]湯家華,王道德.基于FPGA設計的采用DDS 技術的任意波形發生器\\.電子測量技術,2007,30(4):129-131.

[8]張春榮,張厥盛.DDS/PLL快速調頻頻率合成器研究[J].西部電子,1993(4):35-39.

[9]彭澄廉,周博,邱衛東,等.挑戰SoC[M].北京:清華大學出版社,2004.

[10]周立功.SoPC嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,2005.

[11]\\坂俊昭.鎖相環(PLL)電路設計與應用\\.何希才,譯.北京:科學出版社,2006.

[12]唐穎,阮越.直接數字頻率合成器的FPGA實現\\.2005年全國單片機與嵌入式系統學術交流會論文集\\.深圳,2005.

作者簡介 李春劍 女,1983年出生,中國計量科學研究院在讀研究生。

主站蜘蛛池模板: 国产黑丝视频在线观看| 91欧美在线| 亚洲人成网站18禁动漫无码| 久久精品国产在热久久2019 | 国产福利2021最新在线观看| 色首页AV在线| 国产丝袜无码精品| 人人91人人澡人人妻人人爽| www.av男人.com| 欧美日韩国产精品va| 97se亚洲综合在线韩国专区福利| 97久久精品人人| 欧美日本在线播放| 58av国产精品| 国产v精品成人免费视频71pao| 国产成人亚洲毛片| 制服丝袜一区| 日韩在线观看网站| 亚洲成人高清无码| www.精品国产| 福利姬国产精品一区在线| 亚洲欧美在线综合图区| 无码久看视频| 日本久久免费| 伊人色婷婷| 激情综合五月网| 国产女人在线| 99中文字幕亚洲一区二区| 亚洲黄网在线| 四虎永久免费地址| 国产成人亚洲精品无码电影| 永久天堂网Av| 国产视频欧美| 最近最新中文字幕免费的一页| 国产粉嫩粉嫩的18在线播放91| 欧美第二区| 亚洲午夜国产精品无卡| 一级爱做片免费观看久久| Aⅴ无码专区在线观看| 91人妻日韩人妻无码专区精品| 日本中文字幕久久网站| 国产精品19p| 亚洲第一黄片大全| 日韩精品无码免费专网站| 亚洲天堂精品在线| 国产噜噜噜视频在线观看 | 国产欧美日韩资源在线观看| 免费a级毛片18以上观看精品| 国内精品视频| 亚洲高清中文字幕| 午夜欧美理论2019理论| 午夜性刺激在线观看免费| 国产精品播放| 日韩色图区| 四虎成人精品| 中文字幕乱码二三区免费| 国产情侣一区二区三区| 人妻一区二区三区无码精品一区 | 99视频全部免费| 中文字幕永久视频| 国产精品深爱在线| 午夜少妇精品视频小电影| 国产精品亚洲片在线va| 激情午夜婷婷| 一级一级一片免费| 国产精品久久久精品三级| 欧美精品伊人久久| 成人在线观看不卡| 三级国产在线观看| 亚洲毛片在线看| 日韩免费中文字幕| 亚洲人成网站观看在线观看| 欧美人在线一区二区三区| 婷婷午夜影院| 国产真实乱子伦视频播放| 日韩精品毛片人妻AV不卡| 亚洲免费福利视频| 免费jjzz在在线播放国产| 一区二区理伦视频| 欧美精品一区在线看| 青青青国产免费线在| 91人人妻人人做人人爽男同|