基于FPGA的波形发生器..doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于FPGA的波形发生器.

课 程 设 计 报 告 题 目: 波形发生器 日期: 2015 年 1月 19日 课程设计目的 1)巩固和加深所学电子技术课程的基本知识, 提高综合运用所学知识的能力; 2)培养学生根据课题需要选用参考书、查阅手册、图表和文献资料的能力,提高学生独立解决工程实际问题的能力 3)通过设计方案的分析比较、设计计算、元件选绎及电路安装调试等环节.初步掌握单实用电路的工程设计方法. 4)提高学生的动手能力.掌握常用仪器设备的正确使用方法,学会对简单实用电路的实验调试和对整机指标的测试方法, 5)了解与课题有关的电路以及元器件的工程技术规范,能按课程设计任务书的要求编写设计说明书,能正确反映设计和实验成果,能正确绘制电路固等. 二、设计任务与要求 任务: ●数码管显示学号 ●设计基于FPGA波形发生器 二)设计要求:1.显示学号 a .用四位数码管显示 b.循环显示同组2人的学号后四位 2.根据按键输入产生波形 根据标准键盘输入不同,分别输出正弦波、方波、三角波(频率=1KHz) 根据标准键盘改变频率(频率变化范围:1KHz-10KHz,每次频率变化1KHz) 输出频率在数码管上显示 三、方案设计与论证 首先是对设计要求的分析,然后说明本次课程设计采用的方案并给出总体设计方框原理图。 。因此其周期为×20ns。 · 当cnt计满时,定义num为变量,通过复位信号实现num的取值为0或1。 · 给num取0或1时(使用case语句)分别赋予两个人的学号,从而使学号得以循环。 波形发生器部分: 键盘模块 键盘包括数据线、时钟线、vcc和gnd,采用第二套扫描码,按键按下时,键盘将相应的通码数据发送到FPGA,根据第二套扫描码集可以确定哪个键被按下。 2)数码管输出模块 用parameter定义字符数据,使用always@()定义敏感变量,当时钟序列的上升沿到来时,触发case函数,从而选择正确的数值进输出。 3)波形发生器和波形选择模块 Wave1,2,3负责波形的产生,包含i2c协议,输出sda和scl,内部如下: FPGA中的波形发生器控制电路通过外部控制信号、高速时钟来产生控制ROM波形数据表的地址,输出信号的频率由ROM地址的变化速率决定,变化越快,输出频率越高。 波形数据表ROM用于存放波形数据,可以存放正弦波、矩形波、三角波。本实验中存放波形数据的ROM是 8位宽度,256个数据深度。 五、遇到问题的解决方法 问题1.对于波形的取样点问题: 一开始我们学习使用代码进行编程实现采样点赋值,然而在观察波形的时候发现精度太差,于是我们花费了整整一天的时间进行优化,最后使用rom文件实现更高精度的调用 问题2.对于i2c 协议的定义 通过短暂的学习了解,我们初步认识了i2c 协议,一开始我们将协议独立为一个模块,但是由于不了解接口定义,所以验证无法通过,我们只好学习别人照猫画虎,将I2c 直接写入波形发生模块,得到了正确结果 问题3.对于频率控制的问题 我们提出了三个设想: 通过控制改变键盘控制字,通过一个分频模块来得到基准频率,根据控制字得到理想频率 通过改变i2c协议中的频率代码实现波形显示的频率改变 通过改变采样点的采样个数来改变频率输出,我们采样点256个,如果全部逐点扫描得到基础频率,当我们隔点扫描的时候,便会实现分频效果,但是不能按要求实现1KHZ的逐步变化 经过分析,我们认为第一种方法最好,但是在处理接口方面出了一点问题导致控制不能实现;

文档评论(0)

jiulama + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档