




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西南科技大学FPGA课程设计报告课程题目: 波形发生器 . 指导老师: 刘桂华 . 学 生: 任健铭 .二0一二年五月三日【摘要】本文主要讨论了Verilog语言的基于DDS的波形发生器的设计。从设计要求入手,本文给出了DDS的详细设计过程,包括各个模块的设计思想,电路图,Verilog语言程序代码。其大致思想为通过频率控制字和相位控制字去控制正弦函数的ROM存储表的地址并对应着得到其幅度值,最终达到输出需要波形的目的。本设计除了完成指定的任务。在此基础上,为了验证实验结果我们通过QuartusII的仿真工具对设计的DDS进行了仿真,并且还进行了理论分析,发现理论和实践结合的非常好。【关键词】
2、FPGA DDS Verilog 波形发生器 Quartus II1.设计要求(1)设计并实现一个可产生正弦波、三角波波形发生器;(2)其工作频率为50MHz,可产生1MHz、2MHz、3MHz、4MHz、5MHz的正弦波、三角波。所产生波形的幅度、相位均可调整,输出数据的字长为12 bit。若波形的频率为n MHz,则相位的最小调幅为2*n/60;(3)要求进行4级幅度调整,即ROM中存储的数据字长为10 bit,ROM输出的数据分别乘以001、010、011、和100。2.设计原理及分析本波形发生器的设计总共包含有频率选择、波形选择、相位选择和幅度选择四个大块。其具体结构见图2-1.图2-
3、1 整体设计方案2.1DDS基本原理DDS的基本原理是利用采样定量,通过查表法产生波形。DDS的结构有很多种,其基本的电路原理可用图2-2来表示。图2-2 DDS基本电路原理图其中,相位累加器由N位加法器与N位累加寄存器级联构成如图2-3:图2-3 相频累加器每来一个时钟脉冲c f ,加法器将控制字k 与累加寄存器输出的累加相位数据相加,把相加后的结果送到累加寄存器的数据输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位加累加。由此可以看出,相位累加器在每一个时钟输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信
4、号的相位,相位累加器的输出频率就是DDS 输出的信号频率。 接着,把相位累加器输出的数据作为波形存储器(ROM)的相位取样地址。这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出(可以看成是一种映射),完成相位到相应幅值转换。2.2频率选择基于DDS的波形发生器,其输出波形的频率由两方面决定。一方面是由频率控制字,即波形输出的步长决定;另一方面是由波形点输出的固有频率决定。DDS 输出信号的频率与基准时钟频率的关系由下式给定:其中, c f 为基准时钟频率,2N 为波形存储器的字数,N 为相位累加器的位数, k 为频率控制字。一般的, k 小于N。假设基准时钟频率为131kHz
5、,累加器为8 位,k=4,则f out= 2048 Hz。2.3波形选择本设计要实现三角波和正弦波这两种波形的输出。所以,在整个模块设定了一个输入控制端。通过查询这个输入控制端的电平的高低来确定输出正弦波还是输出三角波。其实质还是利用了rom表完成了对相同相位的不同幅度的输出。2.4初相位选择本设计中,对于产生的波形的初相的控制我们同样设定了一个输入控制端。通过控制端的不同状态给波形添加不同的初相。其原理是对相频累加器的初次输出加上一个特定的值。在本设计中无法实现初相的任意值设定。本设计只是设定了几个特定的初相供选择已验证理论的正确性。2.5幅度选择按照设计要求,波形的最终输出幅度值是可调节的
6、。设计要求中规定幅度值是能够按照1到4倍的大小调节的。故在本设计中,在最后输出前,我们增加了一个幅度按调节的部分。将相位幅度转换成功后的值再乘上一个要求的调幅系数为最终的波形输出。3.各模块代码及电路原理图3.1.频率控制字module f_ctr(sel,f_out,en,reset);input2:0sel;inputen,reset;output8:0f_out;reg8:0f_out;always (sel)beginif(!reset)f_out <= 9'b000000000;else if(en)begincase(sel)3'b001:f_out <
7、=9'b001010010;3'b010:f_out <=9'b010100100;3'b011:f_out <=9'b011110110;3'b100:f_out <=9'b101001000;3'b101:f_out <=9'b110011010;default:f_out <= 9'b000000000;endcaseendendendmodule3.2相频累加器/相位控制字(溢出没看懂)modulen_full_adder(a,b,clk,sel,y); /n wei quan
8、 jia qiparameterm = 9;parametern = 12;inputm-1:0 a; /6 wei pin lv kong zhi ziinputn-1:0b;outputn-1:0y;input1:0sel;inputclk;regn-1:0y;regn-1:0c;regn-1:0d;always (posedge clk)begincase(sel)2'b00:c <= 12'b000000000000;2'b01:c <= 12'b001111111111;2'b10:c <= 12'b011111111
9、111;2'b11:c <= 12'b101111111111;endcaseendalways (posedge clk)begind = b;if(d=12'b0)d = d+c; elsey = a+d;endendmodule33相/幅转换(rom查询)和波形选择width=12;depth=4096;index=linspace(0,2*pi,depth);y=sawtooth(index,0.5);y1=fix(y*1023)+1024;plot(y1);adrs=0:depth-1;str_width=strcat('WIDTH=',
10、num2str(width);str_depth=strcat('DEPTH=',num2str(depth);fid=fopen('D:My DocumentsDesktopboxingtriangular.mif','w');fprintf(fid,str_width);fprintf(fid,'rnrn');fprintf(fid,str_depth);fprintf(fid,'rnnrn');fprintf(fid,'ADDRESS_RADIX=HEX;rnrn');fprintf(fid,
11、'DATA_RADIX=HEX;rnrnrn');fprintf(fid,'CONTENT BEGINrn');fprintf(fid,'t%x:%x;rn',adrs;y1);fprintf(fid,'END;rn');fclose(fid);width=12;depth=4096;index=linspace(0,2*pi,depth);y=sin(index);y1=fix(y*1023)+1024;plot(y1);adrs=0:depth-1;str_width=strcat('WIDTH=',num2s
12、tr(width);str_depth=strcat('DEPTH=',num2str(depth);fid=fopen('D:My DocumentsDesktopboxingsin.mif','w');fprintf(fid,str_width);fprintf(fid,'rnrn');fprintf(fid,str_depth);fprintf(fid,'rnnrn');fprintf(fid,'ADDRESS_RADIX=HEX;rnrn');fprintf(fid,'DATA_RA
13、DIX=HEX;rnrnrn');fprintf(fid,'CONTENT BEGINrn');fprintf(fid,'t%x:%x;rn',adrs;y1);fprintf(fid,'END;rn');fclose(fid);3.3.2原理图模块正弦波rom生成代码 三角波rom生成代码波形选择电路原理图3.4相位幅度转换/rom cha xun ding ceng wen jianmodulerom_search(clk,addr_in,dds_out,boxing_ctr);parameterwidth = 12; inputwi
14、dth-1:0addr_in; /shu ru 12 wei di zhiinputclk;inputboxing_ctr;outputwidth-2:0dds_out; /shu chu 11 wei fu du zhireg10:0dds_out;wire10:0Q1,Q2;sin u0(.address(addr_in),.clock(clk),.q(Q1);triangular U1(.address(addr_in),.clock(clk),.q(Q2);always (boxing_ctr)begincase(boxing_ctr)1'b1:dds_out <= Q1
15、;1'b0:dds_out <= Q2;endcaseendendmodule 3.5幅度调制module fd_choose(v_in,sel,v_out);input10:0v_in;input2:0sel;output12:0v_out;reg12:0v_out;always (v_in or sel)beginif(sel = 3'b100)v_out <= v_in * 4;else if(sel = 3'b011)v_out <= v_in * 3;else if(sel = 3'b010)v_out <= v_in * 2;
16、else if(sel = 3'b001)v_out <= v_in ;endendmodule3.6顶层例化电路原理图引脚功能说明:1) 输入引脚Ø clk:时序同步时钟。该时钟主要用于相位累加器和rom表查询的同时序。它决定了相位累加的速度,也决定了幅度点输出的速度。Ø f_ctr:频率选择控制字。该输入端有三位,即是:000111八个数值编码。编码值从001到101分别对应了1到5Mhz的输出波形频率。其他编码值未定义,默认为0。Ø en:电路工作使能端,高电平有效。Ø rest:电路工作复位端,低电平有效。Ø xiangw
17、ei_ctr:初相位选择控制端。该输入有两位,即是:0011四个数值编码。编码值从00到11分别对应了0,/2, ,3/2四个初相位。Ø boxing_ctr:波形选择控制位。为高电平时输出正弦波,为低电平时输出三角波。Ø fdu_ctr:幅度选择调制位。该端为三位输入,即是:000111八个数值编码。编码值从001到100分别对应了1到4倍幅度调制。其他为未定义,默认为0。2) 输出引脚Ø boxing_out:波形输出端。该端口为13位输出端口。幅度值从-4096到+4095.4各模块仿真4.1频率控制字4.2相频累加器/相位控制字4.3相位幅度转换4.3幅度
18、调制4.4最终仿真图图4-1 三角波产生波形图4-2 正弦波产生波形图4-3 正弦波调频调幅波形图4-4 三角波调频调幅波形图4-5 波形切换波形5结论与传统的频率合成方法相比,DDS合成信号具有频率切换时间短、频率分辨率高、相位变化连续等诸多优点。使用单片机灵活的控制能力与FPGA器件的高性能、高集成度相结合,可以克服传统DDS设计中的不足,从而设计开发出性能优良的DDS系统。通过本次实验,我们验证了DDS设计理论的正确性。在课余时间,结合了所学的FPGA课程的知识,自主完成了基于DDS的调频、调幅、调相的波形发生器的设计,拓宽了知识面,也增进了对FPGA 及Verilog进行电路开发的理解。总的来说这次实验时非常成功的,这让我从中受益匪浅。5实验感想通过本次实验,我进一步认识了通过FPGA进行硬件设计的基本思路,体会了如何把理论变为实物。同时发现,有时一个好的想法要变成现实并不是一件容易的事情。但是团队的力量却是可以把它解决的。比方说,在写rom表查询的时候,在自学了相关知识以后我很快地把它编完并将其局部顶层例化。但是,在顶层仿真的时候,怎么办输出都是零。就在后来小组讨论的时候,其中一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年监理工程师建设工程合同管理专项练习
- 2025建筑工程合同书(空白)+安全责任
- 2025年高速公路工程合同管理研究
- 工厂合伙加盟协议书
- 购房佣金协议书范本
- 2025年03月江苏泰州市海陵区事业单位公开招聘工作人员44人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 广西钦州市浦北县2025年高三第一次质量检查试题历史试题含解析
- 江苏省盐城市郭猛实验学校2025届初三5月模拟英语试题含答案
- 广西经济职业学院《药品分析》2023-2024学年第二学期期末试卷
- 贵州理工学院《生物分子学及检验》2023-2024学年第二学期期末试卷
- 2024年人力资源行业变革:人工智能在招聘中的应用
- 2024-2030年中国玩偶行业发展前景预测及竞争力策略分析报告
- 【初中物理】《质量》教学课件-2024-2025学年人教版(2024)八年级物理上册
- 全电路欧姆定律-完整课件
- 《数据的收集》课件
- DBJ33T 1320-2024 建设工程质量检测技术管理标准
- 腰椎骨折健康宣教
- GB/T 23862-2024文物包装与运输规范
- 九年级化学上册(沪教版2024)新教材解读课件
- 2024届四川省自贡市富顺县数学三下期末统考试题含解析
- 医院医共体理事会章程
评论
0/150
提交评论