logo

您所在位置网站首页 > 海量文档  > 行业资料 > 工业设计

课程设计---直接数字式频率合成器(DDS)的设计.doc 11页

本文档一共被下载: ,您可全文免费在线阅读后下载本文档。

  • 支付并下载
  • 收藏该文档
  • 百度一下本文档
  • 修改文档简介
全屏预览

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
特别说明: 下载前务必先预览,自己验证一下是不是你要下载的文档。
  • 上传作者 2017meng(上传创作收益人)
  • 发布时间:2018-06-13
  • 需要金币200(10金币=人民币1元)
  • 浏览人气
  • 下载次数
  • 收藏次数
  • 文件大小:1.03 MB
下载过该文档的会员
课程设计---直接数字式频率合成器(DDS)的设计
你可能关注的文档:
EDA技术课程设计报告 课题名称: DDS直接数字式频率合成器的设计 目 录 一 概述 1 (一) 设计背景及意义 1 (二) 设计要求 1 二 设计方案 1 (一) 直接数字式频率合成器(DDS)的基本结构 1 (二) 基本DDS结构的常用参量计算 2 (三) DDS的工作原理 2 三 软硬件设计 3 (一) VHDL程序 3 (二) ROM源代码 7 (三) ROM定制 7 (四) 仿真波形图 8 (五) D/A转换电路 8 四 调试过程 8 五 实验结果 9 六 心得体会 9 七 参考文献 9 直接数字式频率合成器(DDS)的设计 一、设计任务 1、设计任务 设计并制作一个直接数字式频率合成器(DDS),包括加法器、寄存器、存储器和D/A转换器,基本结构如图1所示: 图1 直接数字式频率合成器(DDS)的基本结构 2、设计要求 输出一路5V的正弦波、方波和三角波信号; 频率(200kHz; 结果用显示、频率合成(Direct Digital Frequency Synthesis,简称DDS或DDFS)是近年来发展起来的种新的频率合成技术。其主要优点是相对带宽很宽、频率转换时间极短(可小于20ns)、频率分辨率很高(典型值为0.001Hz)、全数字化结构便于集成、输出相位连续、频率、相位和幅度均可实现程控。DDS由于其频率分辨率极低、频率捷变速度极快、变时相位连续、相位噪声低、集成度高、体积小、价格较低以及可灵活产生多种信号等传统频率合成技术无可比拟的优点DDS结构的常用参量计算 a) DDS的输出频率fout。 b) DDS的产生的相位。 c) DDS的频率分辨率。 d) DDS的频率输入字FW计算。 2.2 DDS的工作原理 2.2.1 相位累加器与频率控制每来一个时钟脉冲clk,N位加法器将频率控制与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的输入端。累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,使加法器在下一时钟的作用下继续与频率控制相加;另一方面将值作为存储器地址输出相应的波形数据。最后经D/A转换成所需要的模拟波形相位累加器在基准时钟的作用下,进行线性相位累加,当相位累加器加满量时就会产生一次溢出,这样就完成了一个周期,这个周期也就是DDS信号的频率周期。DDS输出信号的频率:= 设基准时钟为0MHz,累加器为位,则)*50 MHz =11.6MHz。可见,通过设定相位累加器位数和频率控制字可确定输出频率。 2.2.2相位控制clk,加法器将相位控制字PW与累加寄存器输出的数据相加,把相加后的结果作为波形存储器(ROM)的相位取样地址,这样就可把存储在波形存储器内的波形取样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到D/A转换器,将数字量转换成所要求合成频率的模拟量信号。 2.2.3 数据存储器 数据存储器采用 LPM模块的VHDL文本调用方式实现。 ROM的深度为1024,输出的数据为8位; rom_data.mif 可参阅下例,设计时根据D/A转换器的输出极性确定相应的取样公式。 rom_data.mif 8位正弦波数据文件,用C语言生成。 rom_data.mif WIDTH=8; DEPTH=1024; ADDRESS_RADIX=DEC; DATA_RADIX=DEC; CONTENT BEGIN 0: 127; 1: 128; 2: 129; 3: 129; ... 1019: 123; 1020: 124; 1021: 125; 1022: 125; 1023: 126; END; 三、软硬件设计 3.1 VHDL程序 3.1.1 32位锁存器的VHDL程序 library ieee; use ieee.std_logic_1164.all; entity reg32b is port(load :in std_logic; din :in std_logic_vector(31 downto 0); dout:out std_logic_vector(31 downto 0)); end ; architecture behav of reg32b is begin process(load) begin if load'event and load='1' then dout(31 downto 0)<=din(31 downto 0); end if; end process; end behav; 3.1.2 32位加法器的VHDL程序 library ieee; use ieee.std

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片

“原创力文档”前称为“文档投稿赚钱网”,本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。原创力文档是网络服务平台方,若您的权利被侵害,侵权客服QQ:3005833200 电话:19940600175 欢迎举报,上传者QQ群:784321556