dds课程设计报告(正文)(共17页).doc
《dds课程设计报告(正文)(共17页).doc》由会员分享,可在线阅读,更多相关《dds课程设计报告(正文)(共17页).doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上摘 要 本篇报告主要介绍了用EDA设计完成直接数字频率合成器DDS的过程。该直接数字频率合成器输出的频率及相位均可控制,且能输出正弦、余弦、三角波、锯齿波、方波五种波形,经过转换之后还能在示波器上显示,在控制电路的作用下能实现保持、清零功能,另外还能同时显示输出频率、相位控制字、频率控制字。本设计利用QuartusII 5.0软件进行DDS的设计,最后下载到SmartSOPC实验系统中进行硬件测试。Abstract This report introduces the EDA design is completed with Direct Digital Synthe
2、sis DDS process. The direct digital frequency synthesis of the output frequency and phase can control, and can output sine, cosine, triangle wave, sawtooth, square waveform five, after conversion after also displayed on the oscilloscope, in the role of the control circuit can be Implementation maint
3、ained cleared function, and also shows the output frequency, phase control characters, frequency control word. This design uses DDS QuartusII 5.0 software design, the final download SmartSOPC experimental system hardware testing.关 键 词EDA设计、直接数字频率合成器DDS、QuartusII 5.0软件、SmartSOPC实验系统Key wordsEDA desig
4、n,Direct Digital Synthesizer DDS, QuartusII 5.0software, SmartSOPC experiment system目 录摘要 关键词第1篇 多直接数字频率合成器DDS设计要求说明 1.1 设计基本要求第3页 1.2 设计提高部分要求第3页第2篇 对整体电路工作原理的方案论证 第4页第3篇 各子模块设计原理说明 3.1频率预置与调节电路第5页 3.2相位累加器模块第5页 3.3波形存储器模块第7页 3.4相位调节器第9页 3.5波形输出模块第9页 3.6频率测定模块 第10页3.7显示模块模块 第12页 3.8开关功能说明 第14页第4篇 调
5、试、仿真、编程下载过程第14页第5篇 实验总结 5.1 对本设计的一些改进方案第15页 5.2 实验感想第15页参考文献第1篇 直接数字频率合成器DDS设计要求说明1.1 设计基本要求1) 利用QuartusII软件和SmartSOPC实验箱实现DDS的设计;2) DDS中的波形存储器模块用Altera公司的Cyclone系列FPGA 芯片中的ROM实现,ROM结构配置成409610类型;3) 具体参数要求:频率控制字K取4位;基准频率fc=1MHz,由 实验板上的系统时钟分频得到;4) 系统具有清零和使能的功能;5) 利用实验箱上的D/A转换器件将ROM输出的数字信号转换为模拟信号,能够通过
6、示波器观察到正弦波形;6) 通过开关(实验箱上的Ki)输入DDS的频率和相位控制字,并能用示波器观察加以验证;1.2 设计提高部分要求1) 通过按键(实验箱上的Si)输入DDS的频率和相位控制字,以扩大频率控制和相位控制的范围(注意:按键后有消颤电路);2) 能够同时输出正余弦两路正交信号;3) 在数码管上显示生成的波形频率;4) 充分考虑ROM结构及正弦函数的特点,进行合理的配置,提高计算精度;5) 设计能输出多种波形(三角波、锯齿波、方波等)的多功能波形发生器;第2篇 对整体电路工作原理的方案论证 DDS即Direct Digital Synthesizer数字频率合成器,是一种基于全数字
7、技术,从相位概念出发直接合成所需波形的一种频率合成技术,是一种新型的数字频率合成技术。具有相对带宽大、频率转换时间短、分辨力高、相位连续性好等优点,很容易实现频率、相位和幅度的数控调制,广泛应用于通讯领域。fc相位累加器相位调节电路波形存储器D/A转换器频率控制字、相位控制字、频率显示电路低通滤波器kfkpN位fo2.1 DDS基本结构图频率预置与调节电路图1.本设计DDS基本结构图2.2工作原理说明 本设计DDS主要由频率预置电路、相位累加器、波形存储器、D/A转换器、低通滤波器组成。可通过频率控制字kf和相位控制字kp输出频率和相位均可调的正弦波、余弦波、三角波、锯齿波、方波。输出频率fo
8、是对基准频率fc的分频,其关系如下:fo=(kf/2N)fc 在本设计中,N取12位,基准频率fc取1MHz,kf从0000(0)到1111(15),所以输出频率从0到3840Hz。第3篇 各子模块原理说明3.1 频率预置与调节电路 本模块的主要功能是产生基准频率fc、频率控制字kf、相位控制字kp。 SmartSOPC实验箱提供的是48MHz的系统时钟,需要经过48分频得到基准频率fc,48分频用一个模48计数器即可实现。具体电路如图2所示(参见原理图文件48counter74161.bdf)。图2.模48计数器 如图所示,用两片二进制加法计数器74161实现模48计数器,在74161时钟输
9、入端输入系统时钟48MHz,q5端输出的就是基准频频1MHz。 频率控制字kf设计的是从0000到1111的四位二进制数,但是为了与相位累加器相匹配,kf需要定义成12位的二进制数。所以kf的高8为都要赋零,只需要控制低四位。若直接用开关输入需要4个开关,而SmartSOPC实验箱提供的只有8个开关,为了节省开关,本设计利用一个模16计数器来产生频率控制字kf。计数频率采用1Hz,1秒钟计一次数,通过开关来控制使kf达到需要频率控制字(参见原理图文件dds.bdf)。 同样,为了与加法器匹配,相位控制字也定义成了12位的二进制数,为了方便起见,kp也设计了从0000到1111十六个状态,但是若
10、加在低四位,当kp也从0000到0001时,相位只变化了2/212=/2048,肉眼很难观测到,从0000到1111也之变化了/204816=/128,在示波器上很难看到。所以本设计将4位相位控制字加在高四位,低八位赋零。这样从0000到1111,相位变化了2/21227=/16,在示波器上很容易看到的,从0000到1111相位变化了。3.2 相位累加器模块kf相位寄存器相位累加器fc相位量化序列N位 相位累加器的结构图如图3所示。 图3.相位累加器结构图 相位累加器在基准频率信号fc的控制下以频率控制字kf为步长进行累加运算,产生所需要的频率控制数据。相位寄存器则在时钟的控制下把累加的结果作
11、为波形存储器ROM的地址,实现对波形存储器ROM的寻址。当累加器加满量时就会产生一次溢出,完成一个周期性的动作。这个周期也就是DDS信号的一个频率周期。 本设计相位累加器采用文本输入法VHDL语言设计,具体如下(参见VHDL源文件SUM4096.vhd):-SUM4096.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SUM4096 IS PORT(K:IN STD_LOGIC_VECTOR(11 DOWNTO 0); CLK:IN STD_LOGIC; EN: IN STD
12、_LOGIC; RESET:IN STD_LOGIC; OUT1:OUT STD_LOGIC_VECTOR(11 DOWNTO 0);END ENTITY SUM4096;ARCHITECTURE ART OF SUM4096 IS SIGNAL TEMP: STD_LOGIC_VECTOR(11 DOWNTO 0); BEGIN PROCESS(CLK,EN,RESET)IS BEGIN IF RESET=1 THEN /清零端为1时累加器清零 TEMP=0; ELSE IF CLKEVENT AND CLK=1 THEN IF EN=1 THEN /使能端EN为1时累加器正常工作 TEMP
13、=TEMP+K; /时钟CLK上升沿到来时以kf为步长递增 END IF; END IF; END IF; OUT1=TEMP; /将目前的累加结果保存并输出,下次上升沿时实现累加 END PROCESS;END ARCHITECTURE ART; 以上程序不仅定义了累加器还添加了清零和使能功能。相位寄存器是与相位累加器同步的寄存器,也是采用文本输入法VHDL语言设计,具体如下(参见VHDL源文件REG1.vhd):-REG1.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG1 IS PORT(D:IN STD_LOGIC_VECTO
14、R(11 DOWNTO 0); CLK:IN STD_LOGIC; Q:OUT STD_LOGIC_VECTOR(11 DOWNTO 0);END ENTITY REG1;ARCHITECTURE ART OF REG1 IS BEGIN PROCESS(CLK) IS BEGIN IF(CLKEVENT AND CLK=1 )THEN Q=D; /当时钟上升沿到来时输出相位累加器的结果 END IF; END PROCESS; END ARCHITECTURE ART; 相位寄存器的输出就是波形存储ROM的地址。3.3 波形存储器模块 用累加器的输出作为波形存储器的取样地址,进行波形的相位幅
15、值转换,即可在给定的时间上确定输出的波形的抽样幅值。以正弦波形存储器sine_rom为例,N(12)位的寻址ROM相当于把02的正弦信号离散成具有2N个样值的序列,波形ROM有D(10)位数据位,所以设置2N个样值的sin值以D位二进制数值固化在ROM中,这里设置D=10,所以ROM中的数据范围应该从0到1023,但是正弦值只从-1到1,所以要对其进行量化,公式如下:存储数据=round(sin(n2/4096)512+512 其中,n为存储地址,范围是从0到4095。地址数据波形存储器ROM相位量化序列12位正弦幅度量化序列10位 按照地址的不同可以输出相应相位的正弦信号的幅值。相位幅度变换
16、原理如图4所示。图4.相位-幅度变换原理图 同理,余弦波ROM、锯齿波ROM、三角波ROM、方波ROM只需在ROM里存储相应波形的幅度量化序列即可。1) 正弦ROM的存储数据表参见dds.mif。2) 余弦ROM的存储数据表与正弦ROM类似(参见cos.mif):存储数据=round(cos(n2/4096)512)+512存储数据存储地址n0102351110232047307140953) 三角波ROM的数据表参见sanjiao.mif。三角波的数据没有现成的生成三角波的数据,本设计根据图5做出相应的函数产生三角波的数据表。图5. 三角波 所以三角波函数如下:当n(0,1023)时,存储数
17、据round(n2)512;当n(1023,3071)时,存储数据 1024round(n2)512;当n(3071,4095)时,存储数据 round(n2)2048512;存储数据存储地址n0102340954) 锯齿波ROM的数据表参见juchibo.mif。锯齿波的波形如图6所示。 图6.锯齿波 由图6可得出锯齿波的函数如下:存储数据=round(n4)5) 方波ROM的数据表参见fangbo.mif。方波的波形如图7所示。存储数据存储地址n0102340952047 图7.方波 由图7可得出方波的函数如下:1023,n (0,2047) 0, n (2047,4095)存储数据= 最
18、后,生成5个存有不同波形的存储器,分别是sine_rom、cos_rom、fangbo_rom、juchibo_rom、sanjiao_rom。分别如图8所示。正弦波sine_rom余弦波cos_rom方波fangbo_rom三角波sanjiaobo_rom锯齿波juchibo_rom 图8. 5个波形存储器 所有.mif文件的数据都来源于电子表格ROM地址数据。3.4 相位调节模块 相位控制模块是在ROM地址信号输入波形存储器ROM之前,将相位控制字叠加上去,使相位都增加相应的值。这个功能用一个加法器就能实现。该加法器采用文本输入法VHDL语言设计,具体如下(参见VHDL源文件xiangwe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- dds 课程设计 报告 正文 17
限制150内