欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    FPGA波形发生器实验报告(共16页).doc

    • 资源ID:13483204       资源大小:4.56MB        全文页数:16页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    FPGA波形发生器实验报告(共16页).doc

    精选优质文档-倾情为你奉上实验报告册 课程名称: Verilog HDL数字系统设计 实验项目名称: 频率可变的任意波形发生器 学 院: 电子科学与技术 专 业: 微电子 班 级: 二班 报 告 人: 黄日才 学 号: 指导教师: 刘春平 老师 实验时间: 2010.12.06 2011.01.06 提交时间: 2011.01.06 实验结论:经过不断的试验,最终完成了该实验设计的基本要求,输出四种不同的波形实现信号频率可调,并且在这基础上调用了FPGA芯片集成锁相环,增加了输出信号幅度可调。经过测试显示输出波形信号稳定。一、 实验目的利用DE2实验板和DVCC试验箱的DA转换器设计出可出任意波形且频率可调的信号发生器,也就是基于FPGA的用Verilog描述的直接数字频率合成器(DDS)。 二、 设计方案及其原理说明:DDS是一种把数字信号通过数/模转换器转换成模拟信号的合成技术。它由相位累加器、相幅转换函数表、D/A转换器以及内部时序控制产生器等电路组成。参考频率f_clk为整个合成器的工作频率,输入的频率字保存在频率寄存器中,经位相位累加器,累加一次,相位步进增加,经过内部ROM波形表得到相应的幅度值,经过D/A转换和低通滤波器得到合成的波形。P为频率字,即相位增量;参考频率为_clk;相位累加器的长度为位,输出频率_out为:F_out输出信号的频率;N相位累加器的位数;P频率控制字(步长);F_clk基准时钟频率。1、系统总体设计方案框架图:FPGA图 1-1 系统总体设计方案2、四种波形单周期的取样示意图: 3、本实验采用每个周期取样16次,以便产生的波形更加的平滑。函数查找表的设计:(十进制)地址(8位二进制)rom的值012011652204323042405230620471658120974103511912013914351574地址rom的值161017101810191020102110221023102425025250262502725028250292503025031250地址rom的值323033603490351203615037180382103924040210411804215043120449045604630470地址rom的值4824049210501805115052120539054605530560573058605990601206115062180632104、程序思路 1)分频器控制读取rom的步长,通过输入变量改变分频器计数器的计数总量,控制分频实验频率可调。 2)制作rom,通过一个函数实现,给函数输入一个地址,通过case语句输出一个值。3)波形选择,同个if语句选择地址计数器输出的值,从而输出四种不同的波形4)锁相环(附加),调用FPGA芯片集成的锁相环模块,让输出的相位更加的稳定。5)调幅(附加),通过在rom的值除以不同的值来控制改变输出信号的幅度。三、 程序及具体方法注释module dds_ver(clk_50MHz,fout,change,freq,key0 );input clk_50MHz; /输入50MHz的全局时钟input1:0 change; /定义输入变量,用来切换输出波形,一共4个档位input 2:0 freq; /定义输入变量,用来改变输出信号的频率,一共8个档位 output 7:0 fout; /输出8为rom的值,用来驱动DA转化芯片,输出波形input key0; /定义输入变量,用来改变幅值计数器的值,从而改变幅值/调用FPGA芯片集成的锁相环模块,让输出的波形相位更稳定pllpll_inst (.inclk0 ( clk_50MHz ),.c0 ( clk_pll );wire 7:0 fout;/分频功能,根据输入变量的不同实现不同的分频,用于读取rom的步长reg clk;reg 15:0 cnt;always (posedge clk_pll) /利用计数器实现任意分频begin if(cnt=(50*(freq+1) /设定频率控制字节begin cnt=0;clk=clk;end elsecnt=cnt+1;end/调幅功能,输入key0更变计数器cntvol的值,从而更变输出信号的幅度reg 2:0 cntvol;always(negedge key0)begin if (cntvol>=1&&cntvol<7) cntvol<=cntvol+1'd1; else cntvol<=1'b1;end/地址累加器,实现地址的分段累加,从而实现四种不同波形的切换输出reg 5:0 addr;always (posedge clk)begin begin if(change=0) begin if(addr>=0&&addr<15) /切换正弦波 addr=addr+1; else addr=0; end else if(change=1) begin if(addr>=16&&addr<31) /切换方波 addr=addr+1; else addr=16; end else if(change=2) begin if(addr>=32&&addr<47) /切换正三角波 addr=addr+1; else addr=32; end else if(change=3) begin if(addr>=48&&addr<63) /切换反三角波 addr=addr+1; else addr=48; end endend/制作rom的函数function 7:0 rom;input 63:0 address;case(address) 0:rom=120/cntvol; /正弦波的rom值 1:rom=165/cntvol; 2:rom=204/cntvol; 3:rom=230/cntvol; 4:rom=240/cntvol; 5:rom=230/cntvol; 6:rom=204/cntvol; 7:rom=165/cntvol; 8:rom=120/cntvol; 9:rom=74/cntvol; 10:rom=35/cntvol; 11:rom=9/cntvol; 12:rom=0/cntvol; 13:rom=9/cntvol; 14:rom=35/cntvol; 15:rom=74/cntvol; 16:rom=10/cntvol; /方波的rom值 17:rom=10/cntvol; 18:rom=10/cntvol; 19:rom=10/cntvol; 20:rom=10/cntvol; 21:rom=10/cntvol; 22:rom=10/cntvol; 23:rom=10/cntvol; 24:rom=250/cntvol; 25:rom=250/cntvol; 26:rom=250/cntvol; 27:rom=250/cntvol; 28:rom=250/cntvol; 29:rom=250/cntvol; 30:rom=250/cntvol; 31:rom=250/cntvol; 32:rom=30/cntvol; /正三角波的rom值 33:rom=60/cntvol; 34:rom=90/cntvol; 35:rom=120/cntvol; 36:rom=150/cntvol; 37:rom=180/cntvol; 38:rom=210/cntvol; 39:rom=240/cntvol; 40:rom=210/cntvol; 41:rom=180/cntvol; 42:rom=150/cntvol; 43:rom=120/cntvol; 44:rom=90/cntvol; 45:rom=60/cntvol; 46:rom=30/cntvol; 47:rom=0/cntvol; 48:rom=240/cntvol; /反弦波的rom值 49:rom=210/cntvol; 50:rom=180/cntvol; 51:rom=150/cntvol; 52:rom=120/cntvol; 53:rom=90/cntvol; 54:rom=60/cntvol; 55:rom=30/cntvol; 56:rom=0/cntvol; 57:rom=30/cntvol; 58:rom=60/cntvol; 59:rom=90/cntvol; 60:rom=120/cntvol; 61:rom=150/cntvol; 62:rom=180/cntvol; 63:rom=210/cntvol;endcaseendfunctionassign fout=rom(addr);/ /把读到的rom的值赋给输出端口,输出驱动DA转换芯片endmodule四、 实验结果 及分析1、QuartusII仿真 结果2、下载到DE2实验板连接到DVCC试验箱用示波器显示输出的各种波形图1)输出正弦波2)输出正弦波频率调节3)输出正弦波幅值调节4)输出方波5)输出正三角波6)输出正三角波3、结果分析通过仿真和搭建实验平台。成功完成了实验设计的要求输出波形有很严重的锯齿现象,但是基本上显示出了完整的波形,实现了设计的波形切换输出、频率可调和幅值可调,前后比较了没有加入锁相环和加入锁相环模块输出波形的质量,加入锁相环值之后波形稳定很多。输出波形的质量只要取决于信号周期取样的频率,取样点越多输出波形的失真越小,当然跟取样点的准确性也有很大关系,但是rom的值是通过MATLAB产生的,准确性很高。为了验证这个结论,决定每个信号周期取256个点(8为DA转换最大取样点256个)再进行实验,观察实验结果。输出波形质量明显提高。实验结果波形图如下:1)正弦波2)方波 3)三角波 4)锯齿波说明:由于觉得正三角波和反三角波只是相位上相差180度,显示出来的波形没有区别,这是由于采用取值法决定的,取值是包括了DA输出负值的点,所以没有正三角波和负三角波在显示上占有180度相位差的区别。所以把反三角波改成输出锯齿波。(这只是取样点不同,没有本质其别)当然,这些输出信号也是可以调节频率和幅度的。五、 实验结论:经过不断的试验,最终完成了该实验设计的基本要求,输出四种不同的波形实现信号频率可调,并且在此基础上调用了锁相环技术,增加了输出信号幅度可调。经过测量显示输出波形信号稳定。通过该信号发生器的设计,学习和掌握了DA转换,更加熟练地使用Verilog语言描述硬件电路和信号的输出,也更加熟练地掌语言编写过程中的握数据的控制、运用quartusII仿真和调用modelsim仿真。熟悉软件在编译过程中出现的错误和排除这些错误。在搭建实验平台的过程中,由于没有使用过DVCC实验箱,所以遇到麻烦,开始没有使DE2板和DVCC试验箱共地,所以输不出波形,但是有些同学没有共地也能输出波形,而我试验之后发现我的实验平台只有共地才能输出完整波形,理论上也是需要所有的实验系统共地才不会影响信号完整性输出的。编写代码时应该细分代码实现的功能,从很小的一个功能部分开始编写,不能全部一起编写,要先编写一小部分进行仿真。测试成功之后再编写下一个功能模块,最好能使用模块化设计,以功能分开编写,分别测试。一步步实现功能。如果没有细分的话,容易出问题,而且出现问题也不知道是哪一小部分,无从排除。发现编写实现相同的不同代码占有FPGA的逻辑单元也大小不一,通过对语言的简化可以节省很多逻辑单元。觉得硬件编程的最高境界应该是“用最简单的语言描述最复杂的硬件”。 六、 意见与建议:希望老师在下学期的 可编程ASIC 设计课程中更加具体的讲Verilog解语言的本身和数据流的控制。建议老师也简单讲下其他语言,如VHDL。专心-专注-专业

    注意事项

    本文(FPGA波形发生器实验报告(共16页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开