




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于 DDS 的数字移相信号发生器 EDA 课程设计课程设计 课题名称课题名称 基于 DDS 的数字移相信号发生器 专专 业业 电子信息工程 班班 级级 学学 号号 姓姓 名名 成成 绩绩 指导教师指导教师 20142014 年年 5 5 月月 7 7 日日 基于 DDS 的数字移相信号发生器 一 课程设计目的 3 二 设计任务 3 三 工作原理及模块分析 3 1 频率预置与调节电路 4 2 累加器 4 3 波形存储器 4 4 D A 转换器 5 四 相关程序 5 1 加法器 5 1 ADD10 5 2 ADD32 7 2 寄存器 8 1 REG10B 8 2 REG32B 10 3 ROM 12 4 主程序 14 五 仿真结果 17 六 引脚配置和下载 18 七 实验心得 19 基于 DDS 的数字移相信号发生器 一 课程设计目的一 课程设计目的 1 进一步熟悉 Quartus 的软件使用方法 2 熟悉利用 VHDL 设计数字系统并学习 LPM ADD SUB LPM ROM LPM FF 的使用方法 3 学习 FPGA 硬件资源的使用和控制方法 4 掌握 DDS 基本原理 学习利用此原理进行信号发生器的设计 二 设计任务二 设计任务 完成 10 位输出数据宽度的频率可调的移相正弦信号发生器 通过按键调节 频率和初始相位 实现相位和频率可调的正弦信号发生器 三 工作原理及模块分析三 工作原理及模块分析 直接数字频率合成器 DDS 是通信系统中常用到的部件 利用 DDS 可以 制成很有用的信号源 与模拟式的频率锁相环 PLL 相比 它有许多优点 突出 为 1 频率的切换迅速 2 频率稳定度高 一个直接数字频率合成器由相位累加器 波形 ROM D A 转换器和低通 滤波器构成 DDS 的原理框图如下所示 频率预置与 调节电路 累加器 累加器 波形存储器 波形存储器 D A转换器 D A转换器 低通滤波器 低通滤波器 K N位 N位 fc S n D位 S t 图 1 直接数字频率合成器原理图 其中 K 为频率控制字 fc 为时钟频率 N 为相位累加器的字长 D 为 ROM 数据位及 D A 转换器的字长 相位累加器在时钟 fc 的控制下以步长 K 作 为累加 输出 N 位二进制码作为波形 ROM 的地址 对波形 ROM 进行寻址 波 形 ROM 输出的幅码 S n 经 D A 转换器变成梯形波 S t 再经低通滤波器平 滑后就可以得到合成的信号波形了 合成的信号波形形状取决于波形 ROM 中 存放的幅码 因此用 DDS 可以产生任意波形 本设计中直接利用 D A 转换器得 到输出波形 省略了低通滤波器这一环节 基于 DDS 的数字移相信号发生器 1 频率预置与调节电路 不变量 K 被称为相位增量 也叫频率控制字 DDS 方程为 f0 fc K 2n f0 为输出频率 fc 为时钟频率 当 K 1 时 DDS 输出最低频率 也既频率分辩率 为 fc 2n DDS 的最大输出频率由 Nyguist 采样定理决定 即 fc 2 也就是说 K 的最 大值为 2n 1 因此 只要 N 足够大 DDS 可以得到很细的频率间隔 要改变 DDS 的输出频率 只要改变频率控制字 K 即可 2 累加器 相位累加器的原理图如下图 图 2 相位累加器原理图 相位累加器由 N 为加法器与 N 位寄存器级联构成 每来一个时钟脉冲 fc 加法器将频率控制字与寄存器输出的累加相位数据相加 再把相加后的结果送 至寄存器的数据输入端 寄存器将加法器在上一个时钟作用后所产生的下数据 反馈到加法器的输入端 以使加法器在下一个时钟作用下继续频率控制字进行 相加 这样 相位累加器在时钟的作用下 进行相位累加 当相位累加器累加 满量时 就产生一次溢出 完成一个周期性的动作 这个周期应为 uk 2n GCD 2N k 其中 GCD 表示最大公约数 3 波形存储器 用相位累加器输出的数据作为波形存储器的取样地址进行波形的相位 幅值转换 即可在给定的时间上确定输出的波形的抽样幅值 N 位的寻址 ROM 相当于把 00 3600 的正弦信号离散成具有 2n 样值的序列 若波形 ROM 有 D 位数据位 则 2n 个样值的幅值以 D 位二进制数值固化在 ROM 中 按照地址 的不同可以输出相宜相位的正弦信号的幅值 相位 幅值变换原理图如下所示 加法器寄存器 频率控制字K N位 N位 N位 相位量化序列 fc 基于 DDS 的数字移相信号发生器 图 3 相位 幅度变换原理图 4 D A 转换器 D A 转换器的作用是把已经合成的正弦波的数字量转换成模拟量 正弦幅 度量化序列 S n 经 D A 转换后变成了包络为正弦波的阶梯波 S t S t 的周 期为 T uk Tc 需要注意的是 频率合成器对 D A 转换器的分辨率有一定的要 求 D A 转换器的分辨率越高 合成的正弦波 S t 台阶数就越多 输出 波形 的精度也就越高 四 相关程序 1 加法器 1 ADD10 LIBRARY ieee USE ieee std logic 1164 all LIBRARY lpm USE lpm all ENTITY ADD10 IS PORT dataa IN STD LOGIC VECTOR 9 DOWNTO 0 datab IN STD LOGIC VECTOR 9 DOWNTO 0 result OUT STD LOGIC VECTOR 9 DOWNTO 0 END ADD10 ARCHITECTURE SYN OF add10 IS 波形ROM 地 址 数 据 相位量化序列 正弦幅度量化序列 N位D位 基于 DDS 的数字移相信号发生器 SIGNAL sub wire0 STD LOGIC VECTOR 9 DOWNTO 0 COMPONENT lpm add sub GENERIC lpm direction STRING lpm hint STRING lpm type STRING lpm width NATURAL PORT dataa IN STD LOGIC VECTOR 9 DOWNTO 0 datab IN STD LOGIC VECTOR 9 DOWNTO 0 result OUT STD LOGIC VECTOR 9 DOWNTO 0 END COMPONENT BEGIN result ADD lpm hint ONE INPUT IS CONSTANT NO CIN USED NO lpm type LPM ADD SUB lpm width 10 PORT MAP dataa dataa datab datab result sub wire0 END SYN 基于 DDS 的数字移相信号发生器 2 ADD32 LIBRARY ieee USE ieee std logic 1164 all LIBRARY lpm USE lpm all ENTITY ADD32 IS PORT dataa IN STD LOGIC VECTOR 31 DOWNTO 0 datab IN STD LOGIC VECTOR 31 DOWNTO 0 result OUT STD LOGIC VECTOR 31 DOWNTO 0 END ADD32 ARCHITECTURE SYN OF add32 IS SIGNAL sub wire0 STD LOGIC VECTOR 31 DOWNTO 0 COMPONENT lpm add sub GENERIC lpm direction STRING lpm hint STRING lpm type STRING lpm width NATURAL PORT dataa IN STD LOGIC VECTOR 31 DOWNTO 0 datab IN STD LOGIC VECTOR 31 DOWNTO 0 result OUT STD LOGIC VECTOR 31 DOWNTO 0 基于 DDS 的数字移相信号发生器 END COMPONENT BEGIN result ADD lpm hint ONE INPUT IS CONSTANT NO CIN USED NO lpm type LPM ADD SUB lpm width 32 PORT MAP dataa dataa datab datab result sub wire0 END SYN 2 寄存器 1 REG10B LIBRARY ieee USE ieee std logic 1164 all LIBRARY lpm USE lpm all ENTITY REG10B IS PORT 基于 DDS 的数字移相信号发生器 clock IN STD LOGIC data IN STD LOGIC VECTOR 9 DOWNTO 0 q OUT STD LOGIC VECTOR 9 DOWNTO 0 END REG10B ARCHITECTURE SYN OF reg10b IS SIGNAL sub wire0 STD LOGIC VECTOR 9 DOWNTO 0 COMPONENT lpm ff GENERIC lpm fftype STRING lpm type STRING lpm width NATURAL PORT clock IN STD LOGIC q OUT STD LOGIC VECTOR 9 DOWNTO 0 data IN STD LOGIC VECTOR 9 DOWNTO 0 END COMPONENT BEGIN q DFF lpm type LPM FF lpm width 10 基于 DDS 的数字移相信号发生器 PORT MAP clock clock data data q sub wire0 END SYN 2 REG32B LIBRARY ieee USE ieee std logic 1164 all LIBRARY lpm USE lpm all ENTITY REG32B IS PORT clock IN STD LOGIC data IN STD LOGIC VECTOR 31 DOWNTO 0 q OUT STD LOGIC VECTOR 31 DOWNTO 0 END REG32B ARCHITECTURE SYN OF reg32b IS SIGNAL sub wire0 STD LOGIC VECTOR 31 DOWNTO 0 COMPONENT lpm ff GENERIC lpm fftype STRING lpm type STRING 基于 DDS 的数字移相信号发生器 lpm width NATURAL PORT clock IN STD LOGIC q OUT STD LOGIC VECTOR 31 DOWNTO 0 data IN STD LOGIC VECTOR 31 DOWNTO 0 END COMPONENT BEGIN q DFF lpm type LPM FF lpm width 32 PORT MAP clock clock data data q sub wire0 END SYN 3 ROM LIBRARY ieee 基于 DDS 的数字移相信号发生器 USE ieee std logic 1164 all LIBRARY altera mf USE altera mf all ENTITY ROM IS PORT address IN STD LOGIC VECTOR 9 DOWNTO 0 clock IN STD LOGIC q OUT STD LOGIC VECTOR 9 DOWNTO 0 END ROM ARCHITECTURE SYN OF rom IS SIGNAL sub wire0 STD LOGIC VECTOR 9 DOWNTO 0 COMPONENT altsyncram GENERIC address aclr a STRING init file STRING intended device family STRING lpm hint STRING lpm type STRING numwords a NATURAL operation mode STRING outdata aclr a STRING outdata reg a STRING widthad a NATURAL width a NATURAL width byteena a NATURAL PORT 基于 DDS 的数字移相信号发生器 clock0 IN STD LOGIC address a IN STD LOGIC VECTOR 9 DOWNTO 0 q a OUT STD LOGIC VECTOR 9 DOWNTO 0 END COMPONENT BEGIN q NONE init file LUT10X10 MIF intended device family Cyclone lpm hint ENABLE RUNTIME MOD YES INSTANCE NAME NONE lpm type altsyncram numwords a 1024 operation mode ROM outdata aclr a NONE outdata reg a CLOCK0 widthad a 10 width a 10 width byteena a 1 PORT MAP clock0 clock address a address q a sub wire0 END SYN 4 主程序 主程序 基于 DDS 的数字移相信号发生器 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGiC UNSIGNED ALL ENTITY DDS SIN YANGTIANJUN CHENYAOSHUAI IS PORT CLK IN STD LOGIC 系统时钟 FWORD IN STD LOGIC VECTOR 7 DOWNTO 0 频率控制字 PWORD IN STD LOGIC VECTOR 7 DOWNTO 0 相位控制字 FOUT OUT STD LOGIC VECTOR 9 DOWNTO 0 可移相正弦信号输出 POUT OUT STD LOGIC VECTOR 9 DOWNTO 0 CLKOUT OUT STD LOGIC 参考信号输出 END DDS SIN YANGTIANJUN CHENYAOSHUAI ARCHITECTURE one OF DDS SIN YANGTIANJUN CHENYAOSHUAI IS COMPONENT REG32B 32 位锁存器 PORT clock IN STD LOGIC data IN STD LOGIC VECTOR 31 DOWNTO 0 q OUT STD LOGIC VECTOR 31 DOWNTO 0 END COMPONENT COMPONENT REG10B 10 位锁存器 PORT clock IN STD LOGIC data IN STD LOGIC VECTOR 9 DOWNTO 0 q OUT STD LOGIC VECTOR 9 DOWNTO 0 END COMPONENT COMPONENT ADD32 32 位加法器 PORT 基于 DDS 的数字移相信号发生器 dataa IN STD LOGIC VECTOR 31 DOWNTO 0 datab IN STD LOGIC VECTOR 31 DOWNTO 0 result OUT STD LOGIC VECTOR 31 DOWNTO 0 END COMPONENT COMPONENT ADD10 10 位加法器的设计 PORT dataa IN STD LOGIC VECTOR 9 DOWNTO 0 datab IN STD LOGIC VECTOR 9 DOWNTO 0 result OUT STD LOGIC VECTOR 9 DOWNTO 0 END COMPONENT COMPONENT ROM 10 位地址 10 位数据正弦信号数据 ROM PORT address IN STD LOGIC VECTOR 9 DOWNTO 0 clock IN STD LOGIC q OUT STD LOGIC VECTOR 9 DOWNTO 0 END COMPONENT SIGNAL F32B D32B DIN32B STD LOGIC VECTOR 31 DOWNTO 0 SIGNAL P10B LIN10B SIN10B STD LOGIC VECTOR 9 DOWNTO 0 BEGIN CLKOUT CLK F32B 27 DOWNTO 20 FWORD F32B 31 DOWNTO 28 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教科版科学五年级下册 2.6 设计我们的小船 教学设计及反思
- 2025年科研助理笔试题及答案
- 2025年新媒体剪辑面试题及答案
- 2.1 等式性质与不等式性质 高中数学人教A版必修一课时训练(含解析)
- 小学《除三害》教学课件
- 特种设备知识培训记录课件
- 模压鞋跟脱模工艺考核试卷及答案
- 如何不出钱下载课件教学
- 涤纶纤维预取向牵伸工艺考核试卷及答案
- 特种灾害救援概述
- 橡皮障隔离术知情同意书
- 临床医学内科学-消化系统疾病-肠结核和结核性腹膜炎
- 营区物业服务投标方案(技术标)
- 小学语文人教版一年级上册《我上学了单元整备课》word版教案
- 小学生小古文100篇
- 喷淋塔改造施工方案
- 高效能人士七个习惯
- 血浆置换在危重病人中的应用教学课件
- 六年级上册科学全册练习题(2022年新教科版)
- 沉井下沉纠偏措施
- 教师专业发展与名师成长(学校师范专业公共课)
评论
0/150
提交评论