FPGA波形发生器实验报告

FPGA波形发生器实验报告

ID:36598741

大小:4.58 MB

页数:16页

时间:2019-05-12

FPGA波形发生器实验报告_第1页
FPGA波形发生器实验报告_第2页
FPGA波形发生器实验报告_第3页
FPGA波形发生器实验报告_第4页
FPGA波形发生器实验报告_第5页
资源描述:

《FPGA波形发生器实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验报告册课程名称:VerilogHDL数字系统设计实验项目名称:频率可变的任意波形发生器学院:电子科学与技术专业:微电子班级:二班报告人:黄日才学号:2008160120指导教师:刘春平老师实验时间:2010.12.06—2011.01.06提交时间:2011.01.06实验结论:经过不断的试验,最终完成了该实验设计的基本要求,输出四种不同的波形实现信号频率可调,并且在这基础上调用了FPGA芯片集成锁相环,增加了输出信号幅度可调。经过测试显示输出波形信号稳定。一、实验目的利用DE2实验板和DVCC试验箱的DA转换器设计出可出任意波形且频率可调的信号发生器,也就是基于FP

2、GA的用Verilog描述的直接数字频率合成器(DDS)。二、设计方案及其原理说明:DDS是一种把数字信号通过数/模转换器转换成模拟信号的合成技术。它由相位累加器、相幅转换函数表、D/A转换器以及内部时序控制产生器等电路组成。参考频率f_clk为整个合成器的工作频率,输入的频率字保存在频率寄存器中,经N位相位累加器,累加一次,相位步进增加,经过内部ROM波形表得到相应的幅度值,经过D/A转换和低通滤波器得到合成的波形。△P为频率字,即相位增量;参考频率为f_clk;相位累加器的长度为N位,输出频率f_out为:F_out——输出信号的频率;N————相位累加器的位数;△P—

3、——频率控制字(步长);F_clk——基准时钟频率。1、系统总体设计方案框架图:FPGA图1-1系统总体设计方案2、四种波形单周期的取样示意图:3、本实验采用每个周期取样16次,以便产生的波形更加的平滑。函数查找表的设计:(十进制)地址(8位二进制)rom的值012011652204323042405230620471658120974103511912013914351574地址rom的值161017101810191020102110221023102425025250262502725028250292503025031250地址rom的值32303360349035

4、1203615037180382103924040210411804215043120449045604630470地址rom的值4824049210501805115052120539054605530560573058605990601206115062180632104、程序思路1)分频器控制读取rom的步长,通过输入变量改变分频器计数器的计数总量,控制分频实验频率可调。2)制作rom,通过一个函数实现,给函数输入一个地址,通过case语句输出一个值。3)波形选择,同个if语句选择地址计数器输出的值,从而输出四种不同的波形4)锁相环(附加),调用FPGA芯片集成的锁相

5、环模块,让输出的相位更加的稳定。5)调幅(附加),通过在rom的值除以不同的值来控制改变输出信号的幅度。一、程序及具体方法注释moduledds_ver(clk_50MHz,fout,change,freq,key0);inputclk_50MHz;//输入50MHz的全局时钟input[1:0]change;//定义输入变量,用来切换输出波形,一共4个档位input[2:0]freq;//定义输入变量,用来改变输出信号的频率,一共8个档位output[7:0]fout;//输出8为rom的值,用来驱动DA转化芯片,输出波形inputkey0;//定义输入变量,用来改变幅值

6、计数器的值,从而改变幅值//调用FPGA芯片集成的锁相环模块,让输出的波形相位更稳定pllpll_inst(.inclk0(clk_50MHz),.c0(clk_pll));wire[7:0]fout;//分频功能,根据输入变量的不同实现不同的分频,用于读取rom的步长regclk;reg[15:0]cnt;always@(posedgeclk_pll)//利用计数器实现任意分频beginif(cnt==(50*(freq+1)))//设定频率控制字节begincnt=0;clk=~clk;endelsecnt=cnt+1;end//调幅功能,输入key0更变计数器cntv

7、ol的值,从而更变输出信号的幅度reg[2:0]cntvol;always@(negedgekey0)beginif(cntvol>=1&&cntvol<7)cntvol<=cntvol+1'd1;elsecntvol<=1'b1;end//地址累加器,实现地址的分段累加,从而实现四种不同波形的切换输出reg[5:0]addr;always@(posedgeclk)beginbeginif(change==0)beginif(addr>=0&&addr<15)//切换正弦波addr=addr+1;elseaddr=

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

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

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