目 录
第一章 系统分析与设计方案 ............................................................................................................ 1
1.1 DDS设计原理介绍 ................................................................................................................ 1 1.2直接数字式频率合成器(DDS)的基本结构 .......................................................................... 1 1.3基本DDS结构的常用参量计算 ........................................................................................... 1
1.3.1 DDS的输出频率fout 。 ............................................................................................... 1 1.3.2 DDS产生的相位。 ...................................................................................................... 1 1.3.3 DDS的频率分辨率。 .................................................................................................. 1 1.3.4 DDS的频率输入字FW计算。 .................................................................................. 2 1.4 DDS的工作原理 .................................................................................................................... 2
1.4.1相位累加器与频率控制字FW .................................................................................... 2 1.4.2 相位控制字PW ........................................................................................................... 2
第二章 软件设计 ................................................................................................................................ 3
2.1 Verilog HDL程序 ................................................................................................................... 3
2.1.1 8位加法器程序代码 .................................................................................................... 3 2.1.2 16位加法器程序代码 .................................................................................................. 3 2.1.3 8位寄存器程序代码 .................................................................................................... 3 2.1.4 16位寄存器程序代码 .................................................................................................. 4 2.1.5 dds代码程序 ................................................................................................................ 4 2.1.6 ROM的创建................................................................................................................. 4
第三章 实验仿真 ................................................................................................................................ 5
3.1 原理图 .................................................................................................................................... 5
3.1.1 ROM.............................................................................................................................. 5 3.1.2 八位加法器 .................................................................................................................. 5 3.1.3 十六位加法器 .............................................................................................................. 5 3.1.4 八位寄存器 .................................................................................................................. 6 3.1.5 十六位寄存器 .............................................................................................................. 6 3.2 仿真波形 ................................................................................................................................ 6 3.3 D/A转换电路 ......................................................................................................................... 9
3.3.1 DAC0832结构及工作原理 ......................................................................................... 9 3.3.2 D/A转换电路模块 ..................................................................................................... 10 3.4 实验结果 .............................................................................................................................. 10 3.5 调试过程 .............................................................................................................................. 10
3.5.1对adder8、adder16、reg8、reg16的调试 ............................................................... 10 3.5.2. D/A转换电路的调试 ................................................................................................ 10 3.5.3.输出波形的调试 ...................................................................................................... 10
第四章 心得体会 .............................................................................................................................. 11 第五章 参考文献 .............................................................................................................................. 12
第一章 系统分析与设计方案
1.1 DDS设计原理介绍
DDS即Direct Digital Synthesizer数字频率合成器,是一种基于全数字技术,从相位概念出发直接合
成所需波形的一种频率合成技术,是一种新型的数字频率合成技术。具有相对带宽大、频率转换时间短、分辨力高、相位连续性好等优点,很容易实现频率、相位和幅度的数控调制,广泛应用于通讯领域。
1.2直接数字式频率合成器(DDS)的基本结构
直接数字式频率合成器(DDS)是从相位概念出发直接合成所需波形。其电路一般包括基准时钟、频率累加器、相位累加器、相位调制器、同步寄存器、正弦ROM查找表,D/A转换器。基本结构如图1所示。
图1 直接数字式频率合成器(DDS)的基本结构
1.3基本DDS结构的常用参量计算
1.3.1 DDS的输出频率fout 。
Fout=(FW×fclk)/ 2N
fclk1=50KHZ,FW=1,n=8,则Fout =195.3125HZ。 fclk1=500KHZ,FW=1,n=8,则Fout =1.953KHZ。
1.3.2 DDS产生的相位。
(PW×2π)/2N
1.3.3 DDS的频率分辨率。
Fout=fclk/2N
1
1.3.4 DDS的频率输入字FW计算。
FW=2N×(fout/fclk)
1.4 DDS的工作原理
1.4.1相位累加器与频率控制字FW
每来一个时钟脉冲fclk,N位加法器将频率控制字FW与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的输入端。累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,使加法器在下一时钟的作用下继续与频率控制字FW相加;另一方面将该值作为存储器的地址输出相应的波形数据。最终经D/A转换成所需要的模拟波形。相位累加器在基准时钟的作用下,进行线性相位累加,当相位累加器加满量时就会产生一次溢出,这样就完成了一个周期,此周期即为DDS
N
的频率周期。DDS的输出信号频率:Fout=(FW×fclk)/ 2,通过设定相位累加器的位数和频率控制字可确定输出频率。
1.4.2 相位控制字PW
每来一个时钟脉冲fclk,加法器将相位控制器PW与累加寄存器输出的数据相加,把相加后的结果作为波形存储器(ROM)的相位取样地址,这样就可以把存储在波形存储器内的波形取样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到D/A转换器,将数字量转换成所要求合成频率的模拟量信号。
2
第二章 软件设计
2.1 Verilog HDL程序
2.1.1 8位加法器程序代码
module adder8(sum,a,b); output sum; input a,b; wire[3:0] a; wire[3:0] b; wire[7:0] sum; assign sum=a+b; end module
2.1.2 16位加法器程序代码
module adder16(sum,a,b); output sum; input a,b; wire[7:0] a; wire[7:0] b; wire[15:0] sum; assign sum=a+b; endmodule
2.1.3 8位寄存器程序代码
module reg8(din, q, clk); output[7:0] q;
input[7:0] din, input, clk; reg[7:0] q;
always @(posedge clk) begin q=din; end
endmodule
3
2.1.4 16位寄存器程序代码
module reg16(din,q,clk); output[15:0]q; input[15:0]din; input clk; reg[15:0]q;
always @(posedge clk) begin q=din; end
endmodule
2.1.5 dds代码程序
module dds (clk0,fword,pword,fout,pout); output[7:0] fout,pout; input[7:0] fword,pword; input clk0;
wire[7:0] lin8b,sin8b;
wire[15:0] f16b,d16b,din16b; assign f16b[15:8]=fword;
assign f16b[7:0]=8'b00000000;
adder16 u1(.a(f16b),.b(d16b),.sum(din16b)); reg16 u2( clk(clk0),.in(din16b),.qout(d16b)); rom u3(d16b[15:8],fout);
adder8 u4(.a(pword),.b(d16b[15:8]),.sum(lin8b)); reg8 u5(.clk(clk0),.in(lin8b),.qout(sin8b)); rom u6(sin8b,pout); endmodule
2.1.6 ROM的创建
首先选择ROM数据文件编辑窗,即在File 菜单中选择“New”,并在New窗中选择“Other files”项,并选“Memory Initialization File”,点击OK后产生ROM数据文件大小选择窗。这里采用2点8位数据的情况,可选ROM的数据数Number为256,数据宽Word size取8位。点击“OK”,将出现空的mif数据表格,表格中的数据为10进制表达方式,任一数据对应的地址为左列于顶行数之和)。将波形数据填入此表中,完成后在File菜单中点击“Save as”,保存此数据文件。
4