基于技术的正弦波方波三角波锯齿波四种波形发生器26786.pdf

上传人:得** 文档编号:79851245 上传时间:2023-03-21 格式:PDF 页数:14 大小:533.47KB
返回 下载 相关 举报
基于技术的正弦波方波三角波锯齿波四种波形发生器26786.pdf_第1页
第1页 / 共14页
基于技术的正弦波方波三角波锯齿波四种波形发生器26786.pdf_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《基于技术的正弦波方波三角波锯齿波四种波形发生器26786.pdf》由会员分享,可在线阅读,更多相关《基于技术的正弦波方波三角波锯齿波四种波形发生器26786.pdf(14页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、梧 州 学 院 课 程 论 文(2014-2015 学年第 2 学期)课程论文题目:基于 EDA 技术的正弦波、方波、三角波、锯齿波、四种波形发生器 学生姓名:提交日期:2015 年 7 月 13 日 学生签名 学 号 班级 12 级 组员 课程编号 BJ9501001 专业 电子科学与技术 课程名称 EDA技 术 与Verilog 语言 任课教师 教师评语:成绩评定:分 任课教师签名:年 月 日 目录 论文题目:基于 EDA 技术的正弦波、方波、三角波、锯齿波、四种波形发生器 学生姓名:摘要 随着 EDA 技术以及大规模集成电路技术的迅猛发展,波形发生器的各方面性能指标都达到了一个新的水平。

2、采用CPLD/FPGA器件在 QuartuesII设计环境中用Verilog?HDL语言完成的波形发生器具有频率稳定性高,可靠性高,输出波形稳定等特点。本文介绍了基于 EDA 技术的波形发生器的研究与设计。本文采用Verilog?HDL语言,运用 LPM-ROM 制定的方法设计的波形发生器,经过按键来选择四种波形实现了正弦波,方波,三角波,以及锯齿波四种波形的输出,经过实际下载到 FPGA 实验板上,设计要求已经完全实现。关键词:Verilog?HDL 波形发生器 LPM-ROM FPGA 一、系统设计目的与要求 1.1、前言 随着现代化集成电路和计算机技术的不断飞跃发展,使得电子产品的设计在

3、市场上的应用更为广泛,而且其实现方法的选择也变得越来越多。基于电路板的设计方法是传统电子产品通用的一中设计方案,这种方法是需要采用较多的固定功能器件,再通过这几器件的设计配合,从而实现模拟电子产品的功能,这些工作的重点就在于如何选择这些器件及怎样设计电路板。由于可编程逻辑器件的出现和计算机性价比的提高,这影响了传统的数字电子系统的设计方法,对其进行了解放性的革命。现在要实现电子系统的功能是通过设计师自己设计的芯片来完成的,之后将传统的固件选用及电路板设计工作放在芯片设计中进行,这种方法是现代电子系统的设计方法。上个世纪九十年代以来,由于复杂化、数字化和大规模集成化的电子产品设计系统的日趋成熟,

4、使得各种电子系统的设计软件也应运而生。在这些专业化软件中,EDA(Electronic Design Automation)具有一定的代表性,EDA 技术是一种基于芯片的现代电子系统设计方法。它的优势主要集中在能用 HDL 语言进行输入、进行 PLD(可编程器件)的设计与仿真等系统设计自动化上;上个世纪九十年代,可编程器件又出现了模拟可编程器件,由于受技术、可操作性及性价比的影响,今后 EDA技术会向模拟可编程器件的设计与仿真方向发展,并占据市场的一定份额。EDA 技术主要包括大规模可编程逻辑器件、硬件描述语言、开发软件工具及实验开发系统 4 个方面。其中,大规模可编程逻辑器件是利用 EDA

5、技术进行电子系统设计的载体硬件,描述语言是利用 EDA 技术进行电子系统设计的主要表达手段,开发软件工具是利用 EDA 技术进行电子系统设计的智能化与自动化设计工具,实验开发系统则是提供芯片下载电路及 EDA 实验、开发的外围资源。数字化是电子设计的必由之路,这已成为共识。在数字化的道路上,我国的电子技术经历了一系列重大的变革。从应用小规模集成电路构成电路系统,到广泛地应用微控制器或单片机(MCU),在电子系统设计上发生了具有里程碑意义的飞跃。电子产品正在以前所未有的速度进行着革新,主要表现在大规模可编程逻辑器件的广泛应用。在可编程芯片 CPLD(复杂可编程逻辑器件)和 FPGA(现场可编程门

6、阵列)上实现电子系统的设计,必将成为今后电子系统设计的一个发展方向。所以电子设计技术发展到今天,又将面临另一次更大意义的突破,即 CPLD/FPGA 在 EDA(电子设计自动化)基础上的广泛应用。本设计将采用基于 VHDL 的 EDA 设计来实现波形发生器的各种功能。1.2、功能要求:(1)可产生题目要求的几种波形(频率可调,一个波形周期不少于 64 点),利用 DAC0832输出,用示波器观察。(2)具有波形选择、起动、停止功能。(3)利用数码 LED 管或液晶显示工作状态。1.3、设计目的:(1)本次课程设计的目的是为了培养我们在动手方面要能够独立自主的完成的能力。(2)让我们更加理解Ve

7、rilog?HDL语言以及熟练应用。(3)了解 FPGA 的外围器件的应用以及硬件电路的设计原理 二、设计方案以及原理说明 2.1、设计方案 本系统由 FPGA(可编程门阵列),数模转换,时钟(提供 clk 信号)等组成。全部为FPGA 试验箱所有,不需要增加任何器件。用 FPGA 产生的 2550 的计数值输入到 DAC0832中,将产生对应的模拟信号。本系统采用的是软硬件结合的方法。由于一个周期内的任意波形的离散样点数对硬件实现的复杂性直接产生影响,因此,为了简化硬件存储器件的规模,取 128 个样点进行讨论。具体做法是先对一个周期进行 128 点采样,然后依次存于 ROM 中,再以 fs

8、 频率给出地址码,控制存储器周期的读出数据,并经 D、A 转换和模拟放大,便能得到一定的频率的周期信号。因此周期信号的频率为 fo=fs/M.其中 M 为采样点个数,本设计中取值为 128;fs 为存储器读出频率。显然,通过改变读出频率 fs,便可获得不同频率的周期信号 fo.。系统结构图如图 1 所示。波形发生器电路系统结构图:图 1 2.2、原理说明 以正弦波为例说明。完整的波形发生器由三部分组成:由计数器构成的地址信号发生器、波形数据 ROM 和 D/A。在 FPGA 的顶层文件中,计数器通过外来控制信号和高速时钟信号向波形数据 ROM 发出地址信号,输出波形的批评你率由发出的地址信号的

9、速度决定;当以固定的频率扫描输出地址时,输出波形是固定频率,而当以周期性时变方式扫描输出地址时,则输出波形为扫频信号。波形数据ROM 中存有发生器的波形数据,如正弦波或者三角波数据等。当接受来自 FPGA 的地址信号后,将从数据线输出相应的波形数据。波形数据 ROM 可以由多种方式实现,如在 FPGA 外面外接普通 ROM 或者由 FPGA 中的EAB 模块相当,即利用 LPM-ROM 来实现。D/A 转换器负责将 ROM 输出的数据转换成模拟信号,经过滤波电路后输出。输出波形的频率上限与 D/A 转换器件的转换速度有重要关系,我们的试验箱上用的是 DAC0832。按键输入 FPGA 波形数据

10、ROM FPGA D/A 输出 DAC0832 是 8 位并行、中速(其转换时间 1us)、电流型 D/A 转换芯片。DAC0832 内部由三部分组成,“8 位输入寄存器”用于存放 CPU 送来的数字量,使输入数 字量得到缓冲和锁存,由加以控制。“8 位 DAC 寄存器”用于存放待转换的数字量,由控制。“8 位 D/A 转换电路”由 8 位 T 型网路和电子开关组成,电子开关受“8 位 DAC 寄存器”输出控制,T 型电阻网路能输出与数字量成正比的模拟电流。因此,DAC0832 通常需要外接运放才能得到模拟输出电压。DAC0832 共有 20 条引脚,双列直插式封装。数字输入线 DI7DI0(

11、8 条)DI7DI0 常和 CPU 数据总线相连,用于输入 CPU 送来的待转换数字里,DI7 为最高位。控制线(5 条)为片选线。当为低电平时,本片被选中工作;当为高电平时,本片不被选中工作。输出线 3 条 为运算放大器的反馈线,常接到运放的输出端。和为两条模拟电流输出线。+为一常数。电源线(4 条)VCC 为电源输入线,可在+5+15V 范围捏;为参考电压,一般在-10+10V范围内,由稳压电源提供;DGND 为数字地线;AGND 为模拟量地线。通常接在一起。三、设计内容 3.1、正弦波发生器 正弦波信号波形数据文件的建立 ROM 中的地址线宽为 8,数据线宽为 8,其中的正弦波波形数据由

12、 128 个点构成,此数据经 DAC0832,可在示波器上观察到正弦波形。ROM 中的波形文件建立如图:LPM_ROM 定制 选菜单 toolsMegaWizard Plug-In Manager,选择 Create a new.,然后按next,进入。选中 LPM-ROM;最后在 Browse 下的栏中键入路径与输出文件名。单击 Next,选择 ROM 的数据位宽度为 8,地址线宽度为 8,即设置此 ROM 能存储8 位二进制数据共 128 个,然后进入。打开已经定制的 ROM 文件,观察文件中的实体表达、COMPONEN 语句,例化语句和初始化文件的路径和文件名。最后将其设置为工程,并确定

13、目标器件,进行测试,仿真波形如图所示。完成正弦信号发生器顶层文件的设计和测试 以下是正弦信号发生器的顶层设计。其中调用了如上所说的 ROM 模块、ROM 中的数据文件。源程序:module zhengxuanbo(RST,CLK,EN,Q);output 7:0 Q;/定义输出 Q 为 8 位 input EN,CLK,RST;/定义 EN,CLK,RST 为输入变量 wire 6:0 TMP;/定义 TMP 中间变量为网线型 reg 6:0 Q1;/定义 Q1 为寄存器 always(posedge CLK or negedge RST)/CLK 上升沿或者 RST 下降沿触发 if(!RS

14、T)Q1=7B0000000;/8 位计数器 else if(EN)/如果 EN 为 1,Q1 加 1 Q1=Q1+1;else Q1=Q1;/否则 Q1 不加 assign TMP=Q1;/Q1 赋值给 TMP zheng IC1(.address(TMP),.inclock(CLK),.q(Q);Endmodule 仿真波形:功能描述:CLK 为时钟信号,EN 为使能,高电平有效。正弦波发生器实体图:3.2、方波发生器 方波信号波形数据文件的建立 如图所示:LPM_ROM 的定制与正弦波同 方波发生器的顶层文件的建立和测试。源程序:module fangbo(RST,CLK,EN,Q);o

15、utput 7:0 Q;/定义输出 Q 为 8 位 input EN,CLK,RST;/定义 EN,CLK,RST 为输入变量 wire 6:0 TMP;/定义 TMP 中间变量为网线型 reg 6:0 Q1;/定义 Q1 为寄存器 always(posedge CLK or negedge RST)/CLK 上升沿或者 RST 下降沿触发 if(!RST)Q1=7B0000000;/8 位计数器 else if(EN)/如果 EN 为 1,Q1 加 1 Q1=Q1+1;else Q1=Q1;/否则 Q1 不加 assign TMP=Q1;/Q1 赋值给 TMP fang IC1(.addre

16、ss(TMP),.inclock(CLK),.q(Q);Endmodule 仿真波形:CLK 为时钟信号,EN 为波形启动键,高电平有效。由仿真图可以看出,满足产生方波的要求。方波发生器实体图:;3.3、三角波发生器 三角波信号波形数据文件的建立 如图所示:LPM_ROM 的定制与正弦波相同 三角波发生器的顶层文件的建立和测试。源程序:module sanjiao(RST,CLK,EN,Q);output 7:0 Q;/定义输出 Q 为 8 位 input EN,CLK,RST;/定义 EN,CLK,RST 为输入变量 wire 6:0 TMP;/定义 TMP 中间变量为网线型 reg 6:0

17、 Q1;/定义 Q1 为寄存器 always(posedge CLK or negedge RST)/CLK 上升沿或者 RST 下降沿触发 if(!RST)Q1=7B0000000;/8 位计数器 else if(EN)/如果 EN 为 1,Q1 加 1 Q1=Q1+1;else Q1=Q1;/否则 Q1 不加 assign TMP=Q1;/Q1 赋值给 TMP san IC1(.address(TMP),.inclock(CLK),.q(Q);Endmodule 仿真波形:功能描述:CLK 为时钟信号,EN 为波形启动键,高电平有效。由仿真图可以看出,满足产生三角波的要求。三角波发生器实体

18、图:3.4、锯齿波发生器 锯齿波信号波形数据文件的建立 如图所示:LPM_ROM 的定制与正弦波同 锯齿波发生器的顶层文件的建立和测试。源程序:module juchi(RST,CLK,EN,Q);output 7:0 Q;/定义输出 Q 为 8 位 input EN,CLK,RST;/定义 EN,CLK,RST 为输入变量 wire 6:0 TMP;/定义 TMP 中间变量为网线型 reg 6:0 Q1;/定义 Q1 为寄存器 always(posedge CLK or negedge RST)/CLK 上升沿或者 RST 下降沿触发 if(!RST)Q1=7B0000000;/8 位计数器

19、 else if(EN)/如果 EN 为 1,Q1 加 1 Q1=Q1+1;else Q1=Q1;/否则 Q1 不加 assign TMP=Q1;/Q1 赋值给 TMP ju IC1(.address(TMP),.inclock(CLK),.q(Q);Endmodule 仿真波形 如图所示:功能描述:CLK 为时钟信号,EN 为波形启动键,高电平有效。由仿真图可以看出,满足产生锯齿波的要求。锯齿波发生器实体图:3.5、波形的选择 (1)源程序:module xuan(OUT,IN0,IN1,IN2,IN3,SEL);output 7:0 OUT;/定义输出 OUT,为 8 位 input 7:

20、0 IN0;/定义四路波形输入 input 7:0 IN1;input 7:0 IN2;input 7:0 IN3;input 1:0 SEL;/选择波形 reg 7:0 OUT;always(SEL or IN0 or IN1 or IN2 or IN3)begin case(SEL)0:OUT=IN0;/当 SEL 为 0,输出正弦波 1:OUT=IN1;/当 SEL 为 1,输出方波 2:OUT=IN2;/当 SEL 为 2,输出三角波 3:OUT=IN3;/当 SEL 为 3,输出锯齿波 default:OUT=8bX;/OUT 为 8 位 endcase end endmodule

21、仿真波形 功能描述:clk1 为时钟输入信号。当 SEL 为“00”时,输出为正弦波;当 SEL 为“01”时,输出为方波;当 SEL 为“10”时,输出为三角波;当 SEL 为“11”时,输出为锯齿波;EN 为波形启动,停止键。波形发生器总体结构图:引脚锁定 四、心得体会 通过本次课程设计,我的体会很多也很深,我以前没有对基于 FPGA 的正弦波发生器进行系统的研究,在本次完成本次课程设计的过程中,我遇到了很多问题,也走了很多弯路,还好最后终于通过自己的努力得到了理想的结果。通过本课题,我对 EDA 技术和FPGA 技术有了更进一步的理解,掌握了 FPGA 的层次化设计电路的方法,掌握了用V

22、erilog?HDL 语言编写各个功能模块并通过波形确定电路设计是否正确。掌握了下载验到目标器件的过程。在课程设计中遇到的问题很多,有一些是比较基础的,但由于接触不多,还是遇到了不少麻烦,例如怎样把四种不同的波形用按键来控制输出的波形,以及启动停止功能。还有计数器的设计,我在参考老师以前上课写的程序后才慢慢去理解体会。但是经过了这么多的锻炼,现在再看这些问题,就觉得没有那么难了,我想这就是我得到的最大收获。总之,这次课程设计给我一个很好的机会,使我受益匪浅,我相信这对我以后的学习和工作都会有很大的帮助。五、参考文献 1黄正瑾.在系统编程技术及其应用.南京:东南大学出版社,2007 2彭介华.电子技术课程设计指导.北京:高等教育出版社,2007 3李国丽,朱维勇.电子技术实验指导书.合肥:中国科技大学出版社,2008 4潘松,黄继业.EDA 技术实用教程.北京:科学出版社,2008 5郑家龙,王小海,章安元.集成电子技术基础教程.北京:高等教育出版社,2007 6宋万杰,罗丰,吴顺君.CPLD 技术及其应用.西安:西安电子科技大学出版社,2006 7张昌凡,龙永红,彭涛.可编程逻辑器件及 VHDL 设计技术.广州:华南工学院出版社,2001

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com