直接数字频率合成器参考word.doc

上传人:scccc 文档编号:12036781 上传时间:2021-12-01 格式:DOC 页数:23 大小:360KB
返回 下载 相关 举报
直接数字频率合成器参考word.doc_第1页
第1页 / 共23页
直接数字频率合成器参考word.doc_第2页
第2页 / 共23页
直接数字频率合成器参考word.doc_第3页
第3页 / 共23页
直接数字频率合成器参考word.doc_第4页
第4页 / 共23页
直接数字频率合成器参考word.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《直接数字频率合成器参考word.doc》由会员分享,可在线阅读,更多相关《直接数字频率合成器参考word.doc(23页珍藏版)》请在三一文库上搜索。

1、EDA设计II 实验名称:直接数字频率合成器学号:0804480122姓名:田冬院系:电子工程与光电技术学院 专业:信息对抗技术指导老师:蒋立平时间:2011年6月1日推荐精选目 录摘要 关键词¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨第3页设计基本要求¨¨¨¨¨¨¨¨¨¨¨¨¨¨&

2、#168;¨¨¨第4页方案论证 ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨第5页各子模块设计原理说明 波形存储器模块¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨第7页 相位累加器模块¨¨¨¨¨¨&

3、#168;¨¨¨¨¨¨¨¨¨第8页 相位调节器¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨第9页 波形输出模块¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨第9页 频率测定模块&#

4、168;¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨ 第11页译码模块¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨第13页显示模块¨¨¨¨¨¨¨¨¨¨¨¨¨&#

5、168;¨¨¨¨第14页测频模块¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨第14页调试、仿真、编程下载过程 ¨¨¨¨¨¨¨¨¨¨¨¨第15页遇到的问题及解决方案 ¨¨¨¨¨¨¨¨

6、8;¨¨¨¨第16页实验感想¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨第16页总电路图¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨第17页参考文献¨&#

7、168;¨¨¨¨ ¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨第17页推荐精选摘要与关键字 摘要: 本篇报告主要介绍了用EDA设计完成直接数字频率合成器DDS的过程。该直接数字频率合成器输出的频率及相位均可控制,且能输出正余弦、三角波、锯齿波、方波四种波形,经过D/A转换之后能在示波器上显示,在控制电路的作用下能实现保持、清零等功能,另外在数码管上同时显示输出所测频率、相位控制字、频率控制字。本设计利用QuartusII7.0软件

8、进行DDS的设计,最后下载到SmartSOPC实验系统中进行硬件测试。 Abstract: This report introduces the EDA design is completed with Direct Digital Synthesis 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 , af

9、ter conversion after also displayed on the oscilloscope, in the role of the control circuit can be Implementation maintained cleared function, and also shows the output frequency, phase control characters, frequency control word. This design uses DDS QuartusII 7.0 software design, the final download

10、 SmartSOPC experimental system hardware to test. 关键词: EDA设计、直接数字频率合成器DDS、Quartus II 7.0软件、SmartSOPC实验系统推荐精选 Kyewords: EDA design,Direct Digital Synthesizer DDS, QuartusII 7.0software, SmartSOPC experiment system设计要求说明1) 利用QuartusII软件和SmartSOPC实验箱实现DDS的设计;2) DDS中的波形存储器模块用Altera公司的Cyclone系列FPGA 芯片中的RO

11、M实现,ROM结构配置成4096×10类型;3) 具体参数要求:频率控制字K取4位;基准频率fc=1MHz,由 实验板上的系统时钟分频得到;4) 系统具有清零和使能的功能;5) 利用实验箱上的D/A转换器件将ROM输出的数字信号转换为模拟信号,能够通过示波器观察到正弦波形;6) 通过开关控制改变DDS的频率和相位控制字,并能用示波器观察加以验证;7) 在数码管上显示生成的波形频率;8) 充分考虑ROM结构及正弦函数的特点,进行合理的配置,提高计算精度;9) 设计能输出多种波形(三角波、锯齿波、方波等)的多功能波形发生器;10)考虑节省ROM空间的设计,例如只提供四分之一的波形或者半波

12、形推荐精选。方案论证 DDS即Direct Digital Synthesizer数字频率合成器,是一种基于全数字技术,从相位概念出发直接合成所需波形的一种频率合成技术,是一种新型的数字频率合成技术。具有相对带宽大、频率转换时间短、分辨力高、相位连续性好等优点,很容易实现频率、相位和幅度的数控调制,广泛应用于通讯领域。 DDS基本结构图工作原理说明 DDS的基本结构主要由相位累加器、相位调制器、正弦波数据表(ROM)、D/A转换器构成.相位累加器由N位加法器N位寄存器构成.每来一个CLOCK,加法器就将频率控制字fwrod与累加寄存器输出的累加相位数据相加,相加的结果又反馈送至累加寄存器的数据

13、输入端推荐精选,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加.这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加.由此,相位累加器在每一个时钟脉冲输入时,把频率控制字累加以此,相位累加器输出的数据作为波形存储器的相位取样地址,这样就可把存储在波形存储器内的波形抽样值进行找表查出,完成相位到幅值的转换.由于相位累加器为N位,相当于把正弦信号在相位上的精度定为N位,所以分辨率为1/2N.若系统时钟频率为fc,频率控制字fword为1,则输出频率为fOUT=fC/2N,这个频率相当于"基频".若fword为K,则输出频率为:fout=K* fC/2N当系统输

14、入时钟频率fC不变时,输出信号的频率由频率控制字K所决定.由上式可得:K=2N*fout/fC其中,K为频率字,注意K要取整,有时会有误差.选取ROM的地址时,可以间隔选项,相位寄存器输出的位数D一般取10-16位,这种截取方法称为截断式用法,以减少ROM的容量.D太大会导致ROM容量的成倍上升,而输出精度受D/A位数的限制未有很大改善.在本设计中,N取12位,基准频率fc取1MHz,kf从0000(0)到1111(15),所以输出频率为从0到3662Hz。推荐精选各子模块设计DDS模块设计 LPM-ROM的设定(以正弦为例)首先用VC程序产生rom数据值,程序如下:#include"

15、;stdio.h"#include"math.h"int main(int argc,char*argv) int i;double s;for(i=0;i<4096;i+)s=sin(atan(1)*8*i/4096);printf("%d:%x;n",i,(int)(s+1)*1023/2);return 0;上述程序编译后,生成一个可执行文件rogen.exe,在DOS命令下执行:rogen>sine.mif生成sine.mif文件,再加上*.mif文件的头部说明即可,格式如下: DEPTH=256; WIDTH=10; AD

16、DRESS_RADIX=DEC; DATA_RADIX=HEX; CONTENT BEGIN . -ROM中的数据,每个占用一行 . END然后设定LPM-ROM推荐精选在元器库中选取LPM-ROM,设置ROM的信息,数据宽度为10bits,数据个数为4096;设置ROM为寄存器输出,不需要时钟和异步清零信号;指定ROM的初始化数据来源,选择刚刚所生成的mif文件。然后点击“finish”即可生成ROM单元了。器件图如下:其他波形发生器rom生成方式类似。频率预置与调节电路 设计原理如下:K为相位增量,也叫频率控制字。DDS的输出频率表达式为fout=K* fC/2N,当K=1时,DDS输出最

17、低频率(也即频率分辨率)为fc/2N,而DDS的最高输出频率由Nyquist采样定理决定,即fc/2,也就是说K的最大值为2N-1。设计模块时,用74161设计模16模块,1HZ信号输入让其变化。该模块有清零和保持端,由开关控制,以便计数到需要值时保持或清零。输出作为频率控制字低四位,高八位置零,输入累加器进行累加。在本设计中,N取12位,基准频率fc取1MHz,kf从0000(0)到1111(15),所以输出频率为从0到3662Hz。累加器累加器由12位加法器和12位寄存器两个模块组成。累加器在时钟fc的控制下以频率控制字K为步长进行累加运算,产生所需的频率控制数据。寄存器在时钟控制下,将加

18、法器每次计算的结果寄存下来,再反馈回加法器进行下一次计算,从而实现累加功能。同时寄存器在时钟的控制下把累加的结果送入相位控制模块。推荐精选加法器推荐精选library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity adder isport(reset,clk:in std_logic;op1,op2:in std_logic_vector(11 downto 0);ci:out std_logic;result:out std_logic_vector(11 downto 0);end adder

19、;architecture behave of adder isbeginprocess(reset,clk)variable result_t:std_logic_vector(11 downto 0);variable ci_t:std_logic;beginif(reset='0')thenci<='0'result<=(others=>'0');elsif(clk'event and clk='1')thenci_t:='0'for i in 0 to 11 loopresult_

20、t(i):=op1(i)xor op2(i)xor ci_t;ci_t:=(op1(i)and op2(i)or(ci_t and(op1(i)or op2(i);end loop;ci<=ci_t;result<=result_t;end if;end process;end behave;推荐精选寄存器推荐精选library ieee;use ieee.std_logic_1164.all;ENTITY shifter IS PORT (data :in std_logic_vector(11downto 0); sl_in,sr_in,reset,clk :IN std_lo

21、gic; mode :in std_logic_vector(1 downto 0); qout :buffer std_logic_vector(11 downto 0);END shifter;ARCHITECTURE behave OF shifter IS signal q1,q0:std_logic;BEGIN PROCESS(clk) BEGIN IF(clk'EVENT AND clk='1')THEN if(reset='1')then qout<=(others=>'0'); else case mode i

22、s when "01"=> qout<=sr_in&qout(11downto 1); when "10"=> qout<=qout(10 downto 0)&sl_in;推荐精选 when "11"=> qout<=data; when others=>null; end case; end if; END IF; END PROCESS;END behave;推荐精选 累加器模块图:相位控制相位控制模块实际上是用一个12位的加法器将之前累加器的输出结果的高四位与四位相位控制

23、字Q相加,从而构成相位控制模块。其中清零与保持端分别由开关控制,以便得到所需相位。四位相位控制字Q由另一个模16产生。DDS整体模块图 图中LPM_MUX为数据选择器,在此功能为: 控制开关K输入为0时,输出正弦波形推荐精选 控制开关K输入为1时,输出为三角波频率测定模块将0.5Hz的脉冲与待测信号的最高位相与,就等于在测1s内波形的个数.即所测信号的频率。原理及波形示意图如下:推荐精选测频电路:推荐精选译码电路 频率控制字和相位控制字都是四位的二进制码,要转换成8421BCD码才能在数码管上显示。因此先通过译码电路实现此转换再输入显示电路。对应转化如下表:频率控制字kf十进制个位(kfg3.

24、0)十进制十位(kfs3.0)0000(0)0000(0)00000001(1)0001(1)00000010(2)0010(2)00000011(3)0011(3)00000100(4)0100(4)00000101(5)0101(5)00000110(6)0110(6)00000111(7)0111(7)00001000(8)1000(8)00001001(9)1001(9)00001010(10)0000(0)00011011(11)0001(1)00011100(12)0010(2)00011101(13)0011(3)00011110(14)0100(4)00011111(15)01

25、01(5)0001推荐精选带S下标表示十进制的十位,带g下标的表示十进制的个位。显示电路 依旧采用动态显示方法,不过由六个数码管增加到了七个,相应的模六计数器改为模七计数器。其余原理不变。推荐精选分频模块本次实验所需要的频率有:1hz,1khz,10khz,100khz,1Mhz,0.5hzVHDL语言描述如下:推荐精选LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY fenpin ISPORT(clk: IN STD_LOGIC; hz0,hz1,hz2,hz3,hz4,hz5:buffer STD_LOGIC);END fenpin;ARCHI

26、TECTURE behave OF fenpin ISSIGNAL count0,count1,count2,count3,count4,count5: integer range 0 to 48000000;BEGINPROCESS(clk)BEGINIF (clk='1') THENcount0<=count0+1;count1<=count1+1;count2<=count2+1;count3<=count3+1;count4<=count4+1;推荐精选count5<=count5+1;IF(count0=23999999) Then

27、count0<=0;hz0<=NOT hz0;END IF;IF(count1=23999) Thencount1<=0;hz1<=NOT hz1;END IF;IF(count2=2399) Thencount2<=0;hz2<=NOT hz2;END IF;IF(count3=239) Thencount3<=0;hz3<=NOT hz3;END IF;IF(count4=23) Thencount4<=0;hz4<=NOT hz4;END IF;IF(count5=47999999) Thencount5<=0;hz5&l

28、t;=NOT hz5;END IF;END IF;END PROCESS;END behave;推荐精选仿真下载波形输出至示波器在此截仅取其中几张进行说明有相位差及无相位差正弦信号:无相位差及有相位差三角波信号:推荐精选可靠性检测:(单位hz)频率控制字理论输出频率示波器显示频率测频显示频率1244.1244.05324461464.81464.5621464153662.13662.0863661误差均在允许范围内。遇到问题及解决方案 问题:相位控制改变精度不高 解决方案:可以先控制相位控制位高位进行粗调,然后控制其低位进行微调,既迅速又提高了精度。实验感想 通过又一次实验,进一步提高了对V

29、HDL语言的运用能力及对QuartusII7.0软件的熟悉程度。在实验中,我一直是追求最基本的功能实现,没有对自己严格要求,对老师提出的改进要求没有认真的思考,错过了熟化运用知识的绝佳机会,令我后悔莫及。在完成实验后推荐精选,与同学,老师进行了很多交流,对很多不确定的想法恍然大悟。以后应当珍惜每一次实践机会,着实增强自己解决问题的能力。总电路将各部分级联得总电路图参考文献1. 蒋立平编著.数字电路.南京理工大学出版社2. 南京理工大学电子技术中心编.EDA设计实验指导书3. 付文红、花汉兵编著.EDA技术与实验.机械工业出版社4.5.6. 7. (注:可编辑下载,若有不当之处,请指正,谢谢!)8.9.10. 11. 12.13.推荐精选

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1