毕业设计 dds正弦信号发生器设计.docVIP

  • 5
  • 0
  • 约2.35千字
  • 约 10页
  • 2017-04-11 发布于辽宁
  • 举报
毕业设计 dds正弦信号发生器设计

梧 州 学 院 课 程 论 文 (2016 -2017学年第1学期) 课程论文题目:DDS正弦信号发生器设计 学生姓名:欧锦生 提交日期: 年 月 日 学生签名: 学 号 201401910036 班级 14级 组员 课程编号 专业 自动化 课程名称 EDA技术 任课教师 黄玉健 教师评语: 成绩评定: 分 任课教师签名: 年 月 日 【摘要】本文主要讨论了Verilog语言的基于DDS的波形发生器的设计。从设计要求入手,本文给出了DDS的详细设计过程,包括各个模块的设计思想,电路图,Verilog语言程序代码。其大致思想为通过频率控制字去控制正弦函数的ROM存储表的地址并对应着得到其幅度值,最终达到输出需要波形的目的。 本设计除了完成指定的任务。在此基础上,为了验证实验结果我们通过QuartusII的仿真工具对设计的DDS进行了仿真,并且还进行了理论分析,发现理论和实践结合的较好。 【关键词】FPGA DDS Verilog 波形发生器 Quartus II 1.设计目的 精确地输出正弦波信号及保证信号的高可靠性。 2.设计要求 (1)掌握DDS原理。 (2)用Verilog语言代码或混合式设计一个8位的DDS正弦信号发生器。 (3)下载并应用SinalTab II逻辑分析器显示波形。 (4)可产生8个不同频率的正弦波。 3.设计原理及分析 本波形发生器的设计包含有频率选择。其具体结构见图3-1. 图3-1 整体设计方案 3.1DDS基本原理 DDS的基本原理是利用采样定量,通过查表法产生波形。DDS的结构有很多种,其基本的电路原理可用图2-2来表示。 图3-2 DDS基本电路原理图 其中,相位累加器由N位加法器与N位累加寄存器级联构成如图3-3: 图3-3 相频累加器 每来一个时钟脉冲c f ,加法器将控制字k 与累加寄存器输出的累加相位数据相加,把相加后的结果送到累加寄存器的数据输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位加累加。由此可以看出,相位累加器在每一个时钟输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的输出频率就是DDS 输出的信号频率。 接着,把相位累加器输出的数据作为波形存储器(ROM)的相位取样地址。这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出(可以看成是一种映射),完成相位到相应幅值转换。 3.2频率选择 基于DDS的波形发生器,其输出波形的频率由两方面决定。一方面是由频率控制字,即波形输出的步长决定;另一方面是由波形点输出的固有频率决定。 DDS 输出信号的频率与基准时钟频率的关系由下式给定: 其中, fc 为基准时钟频率,2N 为波形存储器的字数,N 为相位累加器的位数, k 为频率控制字。一般的, k 小于N。 4.各模块代码及电路原理图 4.1.频率控制字 module f_ctr(sel,f_out,en,reset); input[2:0] sel;//3位输入 input en,reset; output[7:0] f_out; reg[7:0] f_out;// 地址为8位的存储器 always @ (sel) begin if(!reset) f_out = 8 else if(en) begin case(sel) 3b000:f_out =8 3b001:f_out =8 3b010:f_out =8 3b011:f_out =8 3b100:f_out =8 3b101:f_out =8 3b110:f_out =8 3b111:f_out =8 default:f_out = 8 endcase end end endmodule 4. 2 8位加法器原理图模块 由宏模块生成 4.3 8位寄存器原理图模块 由宏模块生成 4.4正弦波形数据ROM模块 由宏模块生成 4.5 顶层电路原理图 引脚功能说明: 1) 输入引脚 ? clk:时序同步时钟。该时钟主要用于相位累加器和rom表查询的同时序。它决定了相位累加的速度,也决定了幅度点输出的速度。 ? f_ctr:频率选择控制字。该输入端有三位,即是:000—111八个数值编

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档