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