基于EDA技术的正弦波方波三角波锯齿波四种波形发生器_第1页
基于EDA技术的正弦波方波三角波锯齿波四种波形发生器_第2页
基于EDA技术的正弦波方波三角波锯齿波四种波形发生器_第3页
基于EDA技术的正弦波方波三角波锯齿波四种波形发生器_第4页
基于EDA技术的正弦波方波三角波锯齿波四种波形发生器_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、梧 州 学 院 课 程 论 文(2014 -2015学年第2学期) 课程论文题目:基于EDA技术的正弦波、方波、三角波、锯齿波、四种波形发生器学生姓名:提交日期:2015 年7月13日 学生签名学 号班级12级组员课程编号BJ9501001专业电子科学与技术课程名称EDA技术与Verilog语言任课教师教师评语: 成绩评定: 分 任课教师签名: 年 月 日目录一、系统设计目的与要求41.1、前言41.2、功能要求:51.3、设计目的:5二、设计方案以及原理说明62.1、设计方案62.2、原理说明7三、设计内容83.1、正弦波发生器83.2、方波发生器113.3、三角波发生器123.4、 锯齿波

2、发生器143.5、波形的选择16四、心得体会20五、参考文献21论文题目: 基于EDA技术的正弦波、方波、三角波、锯齿波、四种波形发生器学生姓名:摘要随着EDA技术以及大规模集成电路技术的迅猛发展,波形发生器的各方面性能指标都达到了一个新的水平。采用CPLD/FPGA器件在QuartuesII设计环境中用VerilogHDL语言完成的波形发生器具有频率稳定性高,可靠性高,输出波形稳定等特点。本文介绍了基于EDA技术的波形发生器的研究与设计。本文采用VerilogHDL语言,运用LPM-ROM制定的方法设计的波形发生器,经过按键来选择四种波形实现了正弦波,方波,三角波,以及锯齿波四种波形的输出,

3、经过实际下载到FPGA实验板上,设计要求已经完全实现。关键词:VerilogHDL 波形发生器 LPM-ROM FPGA 一、系统设计目的与要求1.1、前言随着现代化集成电路和计算机技术的不断飞跃发展,使得电子产品的设计在市场上的应用更为广泛,而且其实现方法的选择也变得越来越多。基于电路板的设计方法是传统电子产品通用的一中设计方案,这种方法是需要采用较多的固定功能器件,再通过这几器件的设计配合,从而实现模拟电子产品的功能,这些工作的重点就在于如何选择这些器件及怎样设计电路板。 由于可编程逻辑器件的出现和计算机性价比的提高,这影响了传统的数字电子系统的设计方法,对其进行了解放性的革命。现在要实现

4、电子系统的功能是通过设计师自己设计的芯片来完成的,之后将传统的固件选用及电路板设计工作放在芯片设计中进行,这种方法是现代电子系统的设计方法。上个世纪九十年代以来,由于复杂化、数字化和大规模集成化的电子产品设计系统的日趋成熟,使得各种电子系统的设计软件也应运而生。 在这些专业化软件中,EDA (Electronic Design Automation)具有一定的代表性,EDA技术是一种基于芯片的现代电子系统设计方法。它的优势主要集中在能用HDL语言进行输入、进行PLD(可编程器件)的设计与仿真等系统设计自动化上;上个世纪九十年代,可编程器件又出现了模拟可编程器件,由于受技术、可操作性及性价比的影

5、响,今后EDA技术会向模拟可编程器件的设计与仿真方向发展,并占据市场的一定份额。EDA技术主要包括大规模可编程逻辑器件、硬件描述语言、开发软件工具及实验开发系统4个方面。其中,大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体硬件,描述语言是利用EDA技术进行电子系统设计的主要表达手段,开发软件工具是利用EDA技术进行电子系统设计的智能化与自动化设计工具,实验开发系统则是提供芯片下载电路及EDA实验、开发的外围资源。 数字化是电子设计的必由之路,这已成为共识。在数字化的道路上,我国的电子技术经历了一系列重大的变革。从应用小规模集成电路构成电路系统,到广泛地应用微控制器或单片机(MCU)

6、,在电子系统设计上发生了具有里程碑意义的飞跃。电子产品正在以前所未有的速度进行着革新,主要表现在大规模可编程逻辑器件的广泛应用。在可编程芯片CPLD(复杂可编程逻辑器件)和FPGA(现场可编程门阵列)上实现电子系统的设计,必将成为今后电子系统设计的一个发展方向。所以电子设计技术发展到今天,又将面临另一次更大意义的突破,即CPLD/FPGA在EDA(电子设计自动化)基础上的广泛应用。本设计将采用基于VHDL的EDA设计来实现波形发生器的各种功能。1.2、功能要求:(1)可产生题目要求的几种波形(频率可调,一个波形周期不少于64点),利用DAC0832输出,用示波器观察。(2)具有波形选择、起动、

7、停止功能。(3)利用数码LED管或液晶显示工作状态。1.3、设计目的:(1)本次课程设计的目的是为了培养我们在动手方面要能够独立自主的完成的能力。(2)让我们更加理解VerilogHDL语言以及熟练应用。(3)了解FPGA的外围器件的应用以及硬件电路的设计原理二、设计方案以及原理说明2.1、设计方案 本系统由FPGA(可编程门阵列),数模转换,时钟(提供clk信号)等组成。全部为FPGA试验箱所有,不需要增加任何器件。用FPGA产生的2550的计数值输入到DAC0832中,将产生对应的模拟信号。本系统采用的是软硬件结合的方法。由于一个周期内的任意波形的离散样点数对硬件实现的复杂性直接产生影响,

8、因此,为了简化硬件存储器件的规模,取128个样点进行讨论。具体做法是先对一个周期进行128点采样,然后依次存于ROM中,再以fs频率给出地址码,控制存储器周期的读出数据,并经D、A转换和模拟放大,便能得到一定的频率的周期信号。因此周期信号的频率为fo=fs/M.其中M为采样点个数,本设计中取值为128;fs为存储器读出频率。显然,通过改变读出频率fs,便可获得不同频率的周期信号fo.。系统结构图如图1所示。波形发生器电路系统结构图: FPGA D/A输出按键输入波形数据ROMFPGA图12.2、原理说明 以正弦波为例说明。完整的波形发生器由三部分组成:由计数器构成的地址信号发生器、波形数据RO

9、M和D/A。在FPGA的顶层文件中,计数器通过外来控制信号和高速时钟信号向波形数据ROM发出地址信号,输出波形的批评你率由发出的地址信号的速度决定;当以固定的频率扫描输出地址时,输出波形是固定频率,而当以周期性时变方式扫描输出地址时,则输出波形为扫频信号。波形数据ROM中存有发生器的波形数据,如正弦波或者三角波数据等。当接受来自FPGA的地址信号后,将从数据线输出相应的波形数据。波形数据ROM可以由多种方式实现,如在FPGA外面外接普通ROM或者由FPGA中的EAB模块相当,即利用LPM-ROM来实现。D/A转换器负责将ROM输出的数据转换成模拟信号,经过滤波电路后输出。输出波形的频率上限与D

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

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

12、器上观察到正弦波形。 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 (!RST) Q1=7B0000000;/8位计数器else if(EN) /如果EN为1,Q1加1Q1=Q1+1;

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

15、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加1Q1=Q1+1;else Q1=Q1; /否则Q1不加assign TMP=Q1; /Q1赋值给TMPfang IC1(.address(TMP),.inclock(CLK),.q(Q);Endmodule 仿真波形: CLK为时钟信号,EN为波形启动键 ,高电平有效。由仿真图可以看出,满足产生方波的

16、要求。 方波发生器实体图:;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 Q1; /定义Q1为寄存器always (posedge CLK or negedge RST) /CLK上升沿或者RST下降沿触发if (!RST) Q1=7B0000000;/8位计

17、数器else if(EN) /如果EN为1,Q1加1Q1=Q1+1;else Q1=Q1; /否则Q1不加assign TMP=Q1; /Q1赋值给TMPsan IC1(.address(TMP),.inclock(CLK),.q(Q);Endmodule 仿真波形: 功能描述:CLK为时钟信号,EN为波形启动键 ,高电平有效。由仿真图可以看出,满足产生三角波的要求。 三角波发生器实体图:3.4、 锯齿波发生器 锯齿波信号波形数据文件的建立 如图所示: LPM_ROM的定制与正弦波同 锯齿波发生器的顶层文件的建立和测试。源程序:module juchi(RST,CLK,EN,Q);output

18、 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加1Q1=Q1+1;else Q1=Q1; /否则Q1不加assign TMP=Q1; /Q1赋值给TMPju IC1(.address(TMP),.inclock(CLK),.q(Q);En

19、dmodule 仿真波形如图所示: 功能描述:CLK为时钟信号,EN为波形启动键 ,高电平有效。由仿真图可以看出,满足产生锯齿波的要求。 锯齿波发生器实体图:3.5、波形的选择 (1)源程序:module xuan(OUT,IN0,IN1,IN2,IN3,SEL); output 7:0 OUT;/定义输出OUT,为8位 input 7: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 I

20、N3) 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 endendmodule 仿真波形 功能描述:clk1为时钟输入信号。当SEL为 “00”时,输出为正弦波;当SEL为 “01”时,输出为方波;当SEL为 “10”时,输出为三角波;当SEL为 “11”时,输出为锯齿波;EN为波形启动,停止键。 波形发生器总体结构图: 引脚锁定 四、心得体会通过本次课程设计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论