频率可变的任意波形发生器

频率可变的任意波形发生器

ID:11158272

大小:123.50 KB

页数:7页

时间:2018-07-10

频率可变的任意波形发生器_第1页
频率可变的任意波形发生器_第2页
频率可变的任意波形发生器_第3页
频率可变的任意波形发生器_第4页
频率可变的任意波形发生器_第5页
资源描述:

《频率可变的任意波形发生器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、深圳大学实验报告课程名称:Verilog使用及其应用实验名称:频率可变的任意波形发生器学院:电子科学与技术学院一、前言波形发生器是一种数据信号发生器,在调试硬件时,常常需要加入一些信号,以观察电路工作是否正常,在实验与工程中都具有重要的作用。随着电子技术的发展与成熟,电子工程领域对波形发生器的要求越来越高,不仅要求波形发生器具有连续的相位变换,频率稳定等特点,还要求波形发生器可以模拟各种复杂信号,并能做到幅度、频率,相位,波形动态可调。VerilogHDL是一种硬件描述语言(HDL:HardwareDiscr

2、iptionLanguage),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。本实验正是基于VerilogHDL语言对波形发生器的功能进行描述,并进行仿真,从而了解与掌握波形发生器的内部工作原理,并进一步熟悉与掌握VerilogHDL语言,将课堂所学知识进行实践。一、实验原理总体设计方案及其原理说明:FPGA图1-1系统总体设计方案DDS是一种把数字信号通过数/模转换器转换成模拟信号的合成技术。它由相位累加器、相幅转换函数表、D

3、/A转换器以及内部时序控制产生器等电路组成。参考频率f_clk为整个合成器的工作频率,输入的频率字保存在频率寄存器中,经N位相位累加器,累加一次,相位步进增加,经过内部ROM波形表得到相应的幅度值,经过D/A转换和低通滤波器得到合成的波形。△P为频率字,即相位增量;参考频率为f_clk;相位累加器的长度为N位,输出频率f_out为:F_out——输出信号的频率;N————相位累加器的位数;△P———频率控制字(步长);F_clk——基准时钟频率。图1-2四种波形单周期的取样示意图段地址基地址16位二进制数代表波

4、形的取值000000000017000010100000117000100000101-700011010000111-700100010001001100010101000101110001100-10001101-10001110-10001111-1001000001000125100105010011751010010010101125101101501011117511000175110011501101012511011100111007511101501111025111110图1-3函数查找表的

5、设计一、源程序moduledds(f_clk,p,choice,data);//模块的端口设定input[15:0]p;//频率控制字input[1:0]choice;//波形选择变量inputf_clk;//输入时钟信号output[15:0]data;//波形数值输出wire[15:0]data;reg[5:0]addr,address;//波形数值所在地址reg[15:0]count;regf_out;//经P变量频率控制调动后的时钟信号initialbegincount<=0;addr<=0;f_out

6、<=0;endfunction[15:0]rom;//ROM中各波形数值的设定input[5:0]address;case(address)//波形选择0:rom=0;//正弦波1:rom=70;2:rom=100;3:rom=70;4:rom=0;5:rom=-70;6:rom=-100;7:rom=-70;8:rom=100;//方波9:rom=100;10:rom=100;11:rom=100;12:rom=-100;13:rom=-100;14:rom=-100;15:rom=-100;16:rom=0

7、;//正三角波17:rom=25;18:rom=50;19:rom=75;20:rom=100;21:rom=125;22:rom=150;23:rom=175;24:rom=175;//负三角波25:rom=150;26:rom=125;27:rom=100;28:rom=75;29:rom=50;30:rom=25;31:rom=0;default:rom=10'hxx;endcaseendfunctionalways@(posedgef_clk)//利用计数器count变量实现分频beginif(coun

8、t==p)//设置频率控制字begincount=0;f_out=~f_out;endelsecount=count+1;endalways@(posedgef_out)beginif(addr==7)//波形取8个点,实现波形数据切换addr=0;elseaddr=addr+1;case(choice)//选择波形0:address=addr;1:address=addr+8;2:a

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。