DDS函数信号发生器的设计与实现-课程设计_第1页
DDS函数信号发生器的设计与实现-课程设计_第2页
DDS函数信号发生器的设计与实现-课程设计_第3页
DDS函数信号发生器的设计与实现-课程设计_第4页
DDS函数信号发生器的设计与实现-课程设计_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DDSDDS函数信号发生器的设计与实现函数信号发生器的设计与实现 课程设计课程设计 DDS函数信号发生器的设计与实现 一 主要功能要求 1 设计任务 1 正弦波 三角波 方波 锯齿波输出频率范围 1KHZ 1MHZ 2 具有频率设置功能 频率步骤 100HZ 3 输出信号频率定度 优于10 4 4 输出电压幅度 在5K负载电阻上的电压峰 峰值Vopp 1V 5 失真度 用示波器观察使无明显失真 2 基本要求 1 掌握采用FPGA硬件特性 及软件开发工具MAXPLUSII的使用 2 掌握DDS函数信号发生器的原理 并采用VIIDL语言设计DDS内核单元 3 掌握单片机与DDS单无连接框图原理 推导出频率控制字 相位控制字的算 法 4 设计键盘输入电路和程序并调试 掌握键盘和显示 LCD1602 配合使用的方 法和技巧 5 掌握硬件和软件联合调试的方法 6 完成系统硬件电路的设计和制作 7 完成系统程序的设计 8 完成整个系统的设计 调试和制作 9 完成课程设计报告 3 提高部分 1 三角波 方波输出频率范围 1KHZ 1MHZ 2 产生二进制PSK ASK信号 再50KHZ固定频率载波进行二进制键控 二进制 基带序列码速率固定为10Kbps 二进制基带序列信号自行产生 3 设计高速D A转换电路 4 发挥部分 1 对数据频率进行倍频 二 整体设计框图及整机概述 1 DDS的实现原理 它建立在采样定理的基础上 首先对需要产生的波形进行采样 将采样值数字化后 存入存储器作为查找表 然后再通过查表将数据读出 经过D A转换器转换成模拟 量 把存入的波形重新合成出来 2 整体设计框图 图一 DDS函数信号发生器系统框图结构 3 整机概述 整个DDS信号发生器由单片机子系统 DDS子系统 模拟子系统三部分组成 单片机子系统由单片机 人机接口组成 人机接口由液晶显示器和键盘组成 通 过键盘选择信号波形和输入信号频率 液晶用来显示波的类型和波当前的频率 值 DDS子系统由FPGA和高速D A转换器组成 是DDS信号发生器的核心部分 DD S的一些功能模块由频率字寄存器 32位移位寄存器 32位累加器 32位存储器 ROM波形查找表 数据选择器 DAC控制逻辑均由FPGA实现 模拟子系统由低通滤波器 放大电路组成 三 各硬件单元电路的设计 参数分析及原理说明 1 DDS信号发生器设计 正弦信号发生器 它的输出可以用下式来描述 用基准时钟CLK进行抽样 令正弦信号的相位 在一个CLK周期Tclk 相位的变化量为 Tclk 1 fclk 为了进行数字量化 把切割成2N份 由此每个CLK周期的相位用量化值来表述 且 将 式代入 式得 经变换后得 信号发生器的输出可描述为 其中 指前一个clk周期的相位值 同样得出 基本DDS结构的常用参量计算 1 DDS的输出频率fout 2 DDS的频率分辨率 3 DDS的频率输入字 计算 注意 要取整 有时会有误差 DDS由相位累加器 正弦查找表 D A转换器和低通滤波器组成 其原理如图2所 示 902 DDS函数信号发生器的设计与实现 图2 DDS原理图 图2中 fc为时钟频率 K为频率控制字 N为相位累加器的字长 m为ROM地址线位 数 n为ROM数据线宽度 一般也为D A转换器的位数 f0为输出频率 相位累加 器由加法器和D触发器级联组成 在时钟脉冲fc的控制下 对输入频率控制字K进 行累加 累加满量时产生溢出 相位累加器的输出对应于该时刻合成周期信号的 相位 并且这个相位是周期性的 在0 2 范围内变化 相位累加器位数为N 最大 输出为2N 1 对应于2 的相位 累加一次就输出一个相应的相位码 通过查表得到 正弦信号的幅度 然后经D A转换器转换为模拟信号 由低通滤波器滤除杂散波 和谐波以后 输出一个频率为f0的正弦波 输出频率f0由fc和K共同决定 当频率 控制字为K时 相位累加器的增量步长为K 经过2N K次累加 相位累加器满量溢 出 完成一个周期动作 输出频率f0与时钟频率fc之间的关系满足f0 Kfc 2N 从而 DDS的最小频率分辨率 fmin可达 fmin f0 2N 图3 相位累加器位宽和采样点关系 3 DDS的特点 DDS具有以下特点 1 频率分辨率高 DDS的频率分辨率在fc固定时 取决于相位累加器的位数N 只 要N足够大 理论上就可以获得相应的分辨精度 这是传统方法难以实现的 2 频率变换速度快 在DDS中 一个频率的建立时间通常取决于滤波器的带宽 影响因素为相位累加器 ROM内的工艺结构 D A转换器及其它信号处理过程中 可能产生的时延 其中 信号处理的时延与时钟周期相关 由于DDS中不要相位反 馈控制 频率建立及切换快 与频率分辨率 频谱纯度相互独立 明显优于PPL 3 DDS中相位改变是线性过程 数字相位累加器是优良的线性数字增值发生器 因此 DDS的相位误差主要依赖于时钟的相位特性 相位误差小 另外 DDS的相 位是连续变化的 形成的信号具有良好的频谱特性 这是传统的直接频率合成方法 所无法实现的 4 输出频率范围宽 理论上 DDS输出的频率范围在0 fc 2 实际上 考虑到低 通滤波器的设计 为40 fc 而FPGA的时钟频率可达到100MHz 因此 利用FPGA 可以实现输出频率范围很宽的正弦信号 4 DDS的FPGA实现 DDS函数信号发生器的内核VHDL源码参见附录 DDS rar其顶层原理如图4下所 示 图4 DDS vhd顶层原理图 DDS函数信号发生器的内核与单片机联接采用SPI总线方式 由于单片机作为主 控器DDS内核作为被控对象 所以接口可定义为SCLK MOSI CS三线结构 数据 格式采用串行40bit 高32bit作为频率控制字或相位控制字 低8bit作为指令译码 自行决定其功能 5 基于DDS的数字移相信号发生器 6 图5基于DDS的数字移相信号发生器参考模型 四 总结设计及调试的体会 这一星期的课程设计 学会了DDS函数信号发生器内核和利用89S51单片机最小 系统的应用 懂得了如何综合应用单片机定时器 中断 数码显示等 在这个过程中 我们遇到了许多麻烦 但是在于同学的交流中 我们解决了许多 难题 同时也对DDS信号发生器的具体应用有了切实的体会 虽然在这其中由于 我平时的积累不够 困难还是很大的 但是只要有耐心和细心 一切的困难都可 以解决的 五 附录 包括系统电路图 元器件清单 应用程序清单和参考资料 1 DDS原理图 DDS函数信号发生器的设计与实现 程序 加法器 ADDER32B LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY ADDER32B IS PORT A1 IN STD LOGIC VECTOR 31 DOWNTO 0 B1 IN STD LOGIC VECTOR 31 DOWNTO 0 S1 OUT STD LOGIC VECTOR 31 DOWNTO 0 END ADDER32B ARCHITECTURE BEHAV OF ADDER32B IS BEGIN S1 A1 B1 END BEHAV 寄存器 REG32BIT LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL ENTITY reg32bit IS PORT CLK IN STD LOGIC DIN IN STD LOGIC VECTOR 31 DOWNTO 0 DOUT OUT STD LOGIC VECTOR 31 DOWNTO 0 END reg32bit ARCHITECTURE one OF reg32bit IS BEGIN PROCESS CLK DIN BEGIN IF CLK EVENT AND CLK 1 THEN 时钟到来时 锁存输入数据 DOUT DIN END IF END PROCESS END 数据选择器 library ieee use ieee std logic 1164 all entity selec3 1 is port a b in std logic cin1 cin2 cin3 in std logic vector 7 downto 0 cout out std logic vector 7 downto 0 end architecture arc of selec3 1 is signal ab std logic vector 1 downto 0 begin ab cout cout cin2 end process end 译码处理 按键处理部分 Library IEEE Use IEEE std logic 1164 all Use ieee std logic unsigned all Use IEEE std logic arith all Entity key show is Port clk s in std logic mode add sub in std logic q2 q3 q4 out std logic vector 23 downto 0 q1 out std logic vector 13 downto 0 LED7S out std logic vector 6 downto 0 SEL OUT out std logic vector 2 downto 0 da 1 out da 2 out da 3 out da 4 out out std logic vector 3 downto 0 end key show architecture arch of key show is signal Q std logic vector 24 downto 0 signal mode out bak SEL std logic vector 2 downto 0 signal da 4 da 3 da 2 da 1 da 4B da 3B da 2B da 1B A std logic vector 3 downto 0 signal da 4 sel da 3 sel da 2 sel da 1 sel clk clk2 std logic begin q1 10000110001101 q2 000000010100111110001011 q3 000011010001101101101110 q4 100000110001001001001100 DDS函数信号发生器的设计与实现 sel out sel da 1 out da 1 da 2 out da 2 da 3 out da 3 da 4 out 1011111010111100001000000 THen Q 0 else q q 1 end if end if clk q 24 500ms 2hz clk2 q 10 扫描时钟 end process process clk mode begin if clk event and clk 1 then if mode 0 then mode out bak da 1 sel 1 灭灯 da 2 sel 0 da 3 sel 0 da 4 sel da 1 sel 0 da 2 sel 1 灭灯 da 3 sel 0 da 4 sel da 1 sel 0 da 2 sel 0 da 3 sel 1 灭灯 da 4 sel da 1 sel 0 da 2 sel 0 da 3 sel 0 da 4 sel da 1 sel 0 da 2 sel 0 da 3 sel 0 da 4 sel 0 END CASE end process process clk add sub da 1 sel begin if clk event and clk 1 then if add 0 and da 1 sel 1 then 加100HZ if da 1 1001 then da 1 0000 else da 1 da 1 1 end if end if if sub 0 and da 1 sel 1 then if da 1 0000 then da 1 1001 else da 1 da 1 1 end if end if end if end process process clk add sub da 2 sel begin if clk event and clk 1 then if add 0 and da 2 sel 1 then 加1KHZ if da 2 1001 then da 2 0000 else da 2 da 2 1 end if end if if sub 0 and da 2 sel 1 then if da 2 0000 then da 2 1001 else da 2 da 2 1 end if end if end if end process process clk add sub da 3 sel begin end if end if if sub 0 and da 3 sel 1 then if da 3 0000 then da 3 1001 else da 3 da 3 1 end if end if end if end process process clk add sub da 4 sel begin if clk event and clk 1 then if add 0 and da 4 sel 1 then 加100KHZ if da 4 1001 then da 4 0000 else da 4 da 4 1 end if end if

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论