- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
梧州学院课程论文
(2016 -2017学年第1学期)
课程论文题目:DDS正弦信号发生器设计
学生姓名:欧锦生
提交日期: 年 月 日 学生签名:
学 号
201401910036
班级
14级 组员
课程编号
专业
自动化
课程名称
EDA技术
任课教师
黄玉健
教师评语:
成绩评定: 分 任课教师签名: 年 月 日
【摘要】本文主要讨论了Verilog语言的基于DDS的波形发生器的设计。从设计要 求入手,本文给出了DDS的详细设计过程,包括各个模块的设计思想,电路图, Verilog语言程序代码。其大致思想为通过频率控制字去控制正眩函数的ROM存储 表的地址并对应着得到其幅度值,最终达到输岀需要波形的目的。
本设计除了完成指定的任务。在此基础上,为了验证实验结果我们通过 QuartusII的仿真工具对设计的DDS进行了仿真,并且还进行了理论分析,发现理 论和实践结合的较好。
【关键词】FPGA DDS Verilog波形发生器Quartus 11
1 ?设计目的
精确地输出正弦波信号及保证信号的高可靠性。
设计要求
掌握DDS原理。
用Verilog语言代码或混合式设计一个8位的DDS正弦信号发生器。
下载并应用SinalTab II逻辑分析器显示波形。
可产生8个不同频率的正弦波。
设计原理及分析
本波形发生器的设计包含有频率选择。其具体结构见图3-1.
Z \
波形发生器 =频率选择
图3-1整体设计方案
3. 1DDS基本原理
DDS的基本原理是利用釆样定量,通过查表法产生波形。DDS的结构有很多
其中,相位累加器由N位加法器与N位累加寄存器级联构成如图3-3:
图3-3相频累加器
每来一个时钟脉冲cf ,加法器将控制字k与累加寄存器输岀的累加相位数 据相加,把相加后的结果送到累加寄存器的数据输入端,以使加法器在下一个时 钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断 对频率控制字进行线性相位加累加。由此可以看出,相位累加器在每一个时钟输 入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相 位累加器的输出频率就是DDS输出的信号频率。
接着,把相位累加器输出的数据作为波形存储器(ROM)的相位取样地址。 这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出(可 以看成是一种映射),完成相位到相应幅值转换。
2频率选择
基于DDS的波形发生器,其输出波形的频率由两方面决定。一方面是由频率 控制字,即波形输出的步长决定;另一方面是由波形点输出的固有频率决定。
DDS输出信号的频率与基准时钟频率的关系由下式给定:
font = yN k
其中,fc为基准吋钟频率,2、为波形存储器的字数,N为相位累加器的位 数,k为频率控制字。一般的,k小于N。
各模块代码及电路原理图
4. 1.频率控制字
module f_ctr(sei, f_out, en,reset);
input[2:0] sel;//3 位输入
input en,reset;
output[7:0] f_out;
reg[7:0]
f out;//地址为8位的存储器
3 bOOOf.
3 bOOO
f.
_out
3 bOOl
f_
_out
3, bOlO
f_
out
3, bOll
f_
out
3bl00
f_
_out
3bl01
f_
_out
3bllO
f_
_out
3blll
f
out
case (sei)
always @ (sei)
begin
if(!reset)
f_out = bOOOOOOOO; else if (en)
begin
=8〈二8bOOOOOOlO 〈二8 bOOOOOOll =8=8=8,〈二8bOOOOOlll 〈二8bOOOOlOOO
default:f_out = 8 bOOOOOOOO;
endcase
end
encl
endmodule
sel[2..O] Cout[7..0]
en |
reset
inst
4. 2 8位加法器原理图模块
?〃////////////////〃■〃/////////////////,
夕????????????
:addd
ckck纟)^ dataa[7. .O] 纟datab[7.?0]
ckck
幺 \ inst
result[7..O]由宏模块生成
result[7..O]
纟[add?-?
纟[add
?
-?
-?
9
密4
纟4
clock data[7..O]
q[7..O]
T
9
-?
■
? £
9
9
9
9
9
纟 1 inst
y !???!???!???!???!??????!???!???
文档评论(0)