基于VHDL语言的多波形信号发生器的设计电子课程设计毕业论文.doc

上传人:laozhun 文档编号:4148431 上传时间:2023-04-07 格式:DOC 页数:23 大小:990KB
返回 下载 相关 举报
基于VHDL语言的多波形信号发生器的设计电子课程设计毕业论文.doc_第1页
第1页 / 共23页
基于VHDL语言的多波形信号发生器的设计电子课程设计毕业论文.doc_第2页
第2页 / 共23页
基于VHDL语言的多波形信号发生器的设计电子课程设计毕业论文.doc_第3页
第3页 / 共23页
基于VHDL语言的多波形信号发生器的设计电子课程设计毕业论文.doc_第4页
第4页 / 共23页
基于VHDL语言的多波形信号发生器的设计电子课程设计毕业论文.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《基于VHDL语言的多波形信号发生器的设计电子课程设计毕业论文.doc》由会员分享,可在线阅读,更多相关《基于VHDL语言的多波形信号发生器的设计电子课程设计毕业论文.doc(23页珍藏版)》请在三一办公上搜索。

1、摘 要:硬件描述语言HDL是EDA技术中的重要组成部分,VHDL是当前最流行的硬件描述语言之一,此语言具有良好的可读性、可移植性等特点。本设计主要是利用VHDL语言设计一个多功能信号发生器,根据输入信号的选择可以输出方波、三角波、正弦波和阶梯波4种信号,主要使用了Altera公司的Quartus II软件。本设计利用VHDL语言使用文本输入法,新建工程,通过设计输入、编译、仿真完成各种信号的设计,然后生成元器件,再使用原理图输入法完成各部分的整合,从而形成一个完整的多波形信号发生器,而后经过锁定引脚下载数模转换可以在示波器上观察到波形。关键词:VHDL,文本输入法,原理图输入法,数模转换Abs

2、tract:Hardware describe language HDL is an important part of EDA technology ,VHDL is one of the current most popular hardware describe language,this language has a nice readability and portability. This design primarily uses vhdl language to design a versatile signal generator. According to the choi

3、ce of the input signal wave,the generator can export the one wave of the four waves including square-wave、triangular-wave、 sine-wave、 ladder-wave . This design primarily uses the Quartus II software of Altera company. The design uses text input method by VHDL language to creat new projects,design th

4、e input,compile,simulate various kinds signals.And it generate new component,then it form a completed various kinds signals generator by schematic diagram method,then you can observe the waveforms on the oscillograph after locking the pins,downloading,digital-analogue conversion.Keywords: VHDL,text

5、input method,schematic diagram method,digital-to-analogue conversion目 录1 绪论41.1 EDA概述41.2 Quartus II 概述41.3 信号发生器概述52 VHDL语言介绍53 主要功能63.1 功能模块的划分73.2 主要功能的实现73.2.1方波的实现73.2.2三角波的实现93.2.3正弦波的实现103.2.4阶梯波的实现133.2.5四选一输出波形选择模块143.3 多波形信号发生器154 外围电路设计174.1基于EPM1270T144C5芯片的开发板介绍174.2 D/A转换器174.3示波器观察图形1

6、9结 论21参 考 文 献22致 谢231 绪论1.1 EDA概述EDA技术是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关开发软件,自动完成用软件的方式设计的电子系统到硬件系统实现,最终形成集成电子系统或专用集成芯片的一门新技术。1.2 Quartus II 概述Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合

7、器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合

8、,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在Quartus II 中包含了许多诸如SignalTap II、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了Maxplu

9、s II 友好的图形界面及简便的使用方法。Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。 Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添 了FastFit编译选项,推进了网络编辑性能,

10、而且提升了调试能力。支持MAX7000/MAX3000等乘积项器件1。1.3 信号发生器概述信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。例如在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、

11、频率或高或低的振荡器。2 VHDL语言介绍硬件描述语言HDL是EDA技术的重要组成部分,常见的HDL语言有VHDL、Verilog HDL、 ABEL、AHDL、System Verilog 和 System C。其中VHDL,Verilog在现在的EDA设计中使用最多,也拥有几乎所有主流EDA工具的支持。而System Verilog和System C这两种HDL语言还处于完善过程中。VHDL是作为电子设计主流硬件的描述语言之一,这里我们将重点介绍它。VHDL的英文全名是VHSIC(Very High Speed Integrated Circuit Hardware Description

12、 Language),于1983年由美国国防部(DOD发起创建),由IEEE(The Institute of Electrical and Electronics Engineers)进一步发展,并在1987年作为“IEEE标准1076”发布。从此,VHDL成为硬件描述语言的业界标准之一。自IEEE公布了标准版本(IEEE Std 1076)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具支持VHDL。从此VHDL在电子设计领域得到广泛应用,并逐步取代了原有的非标准硬件描述语言2。VHDL作为一个规范语言和建模语言,随着它的标准化,出现了一些支持该语言的行为仿真器。由

13、于创建VHDL的最初目标是用于标准文档的建立和电路功能模拟,其基本想法是在高层次上描述系统和元件的行为。但到了20世纪90年代初,人们发现,VHDL不仅可以作为系统模拟的建模工具,而且可以作为电路系统的设计工具:可以利用软件工具将VHDL源码自动地转化为文本方式表达的基本逻辑元件连接图,即网表文件。这种方法显然对于电路自动设计是一个极大的推进。很快,电子设计领域出现了第一个软件设计工具,即VHDL逻辑综合器,它可以标准地将VHDL的部分语句描述转化为具体电路实现的网表文件。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展了VHDL的内容,公布了新版本的VHDL,即

14、IEEE标准的1076-1993版本。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言3。VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。VHDL允许以下三种描述方式:(1)结构描述:描述该设计单元的硬件结构,即该硬件是如何构成的。主要使用配置指定语句及元件例化语句描述元件的类型及元件的互连关系。(2)行为描述:描述该设计单元的功能,即该硬件能做些什么。主要使用进程语句,以算法形式描述数据的变换和传送。(3)数据流方式:以

15、类似于寄存器传输级的方式描述数据的传输和变换。主要使用并行的信号赋值语句,既显式表示了设计单元的行为,也隐式表示了设计单元的结构。VHDL具有与具体硬件电路无关和与设计平台无关的特性,并具有良好的电路行为描述和系统描述能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。因此,VHDL在支持各种模式的设计方法、自项向下与自底向上或混合方法方面,在面对当今许多电子产品生命周期的缩短,需要多次重新设计以融入最新技术,改变工艺等方面都表现了良好的适应性。用VHDL进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的工艺有关的因素花费过多的时间

16、和精力。此外,它支持大规模设计的分解和己有设计的再利用,一个大规模设计不可能一个人独立完成,它将由多个人甚至多个项目组共同完成。VHDL中设计实体(design entity)的概念、程序包(package)的概念、设计库(library)的概念为设计的分解和设计的再利用提供了有力的支持4。3 主要功能本设计主要是利用VHDL语言设计一个多功能信号发生器,根据输入信号的选择可以输出方波、三角波、正弦波和阶梯波4种信号,并且可以通过示波器观察到所选择的波形。3.1 功能模块的划分信号发生器的结构框图如图1所示:图1 信号发生器的结构框图其中信号产生模块将产生所需的各种信号,信号发生器的控制模块可

17、以用数据选择器实现,用4选1数据选择器实现对4种信号的选择。最后将波形数据送入D/A转换器,将数字信号转换为模拟信号输出。用示波器测试D/A转换器的输出,可以观测到4种信号的输出。3.2 主要功能的实现3.2.1方波的实现产生方波,是通过交替送出全0和全1实现,每32个时钟翻转一次。其VHDL代码如下:library ieee;use ieee.std_logic_1164.all;entity square is port(clk,clr:in std_logic; q:out integer range 0 to 255); end square;architecture one of s

18、quare issignal a:bit; begin process(clk,clr) variable cnt:integer; begin if clr=0 then a=0; elsif clkevent and clk=1 then if cnt31 then cnt:=cnt+1; else cnt:=0; a=not a; end if; end if; end process; process(clk,a) begin if clkevent and clk=1 then if a=1 then q=255; else q=0; end if; end if; end proc

19、ess;end one;其仿真波形如图2所示:图2 方波仿真图其生成元器件如图3所示:图3 方波元器件生成图3.2.2三角波的实现该模块产生的三角波以64个时钟为一个周期,输出q每次加减8。其VHDL代码如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity delta is port(clk,reset:in std_logic; q:out std_logic_vector(7 downto 0); end delta;architecture delta_arc of delta

20、 isbegin process(clk,reset) variable tmp:std_logic_vector(7 downto 0); variable a:std_logic; begin if reset=0 then tmp:=00000000; elsif clkevent and clk=1 then if a=0 then if tmp=11111000 then tmp:=11111111; a:=1; else tmp:=tmp+8; end if; else if tmp=00000111 then tmp:=00000000; a:=0; else tmp:=tmp-

21、8; end if; end if; end if; q=tmp; end process;end delta_arc;其仿真波形如图4所示:图4 三角波仿真图其生成元器件如图5所示:图5 三角波元器件生成图3.2.3正弦波的实现该模块产生以64个时钟为一个周期的正弦波。其VHDL代码如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sin is port(clk,clr:in std_logic; d:out integer range 0 to 255);end sin;ar

22、chitecture sin_arc of sin isbegin process(clk,clr) variable tmp:integer range 0 to 63; begin if clr=0 then dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddnull; end case; end if; end process;end sin_arc;其仿真波形如图6所示:图6 正弦波仿真图其生成元器件如图7所示:图7 正弦波元器件生成图3.2.4阶梯波的实现改变该模块递增的常数,可以改变阶梯的个数。其VHD

23、L代码如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ladder is port(clk,reset:in std_logic; q:out std_logic_vector(7 downto 0);end ladder;architecture ladder_arc of ladder isbegin process(clk,reset) variable tmp:std_logic_vector(7 downto 0); variable a:std_logic; beg

24、in if reset=0 then tmp:=00000000;elsif clkevent and clk=1 then if a=0 then if tmp=11111111 then tmp:=00000000;a:=1; elsetmp:=tmp+16; -阶梯常数为16,可修改a:=1; end if; elsea:=0; -循环计数 end if; end if; qqqqq=d3; end case; end process;end one;其波形仿真如图10所示:图10 四选一信号选择仿真图其生成元器件如图11所示:图11 4选1信号选择元器件生成图3.3 多波形信号发生器新

25、建一工程,加载上述模块,利用原理图输入法生成整体多波形信号发生器。整体RTL图如图12所示:图12 整体多波形信号发生器RTL图整体多波形信号发生器仿真如图13所示:图13 整体多波形信号发生器仿真图4 外围电路设计4.1基于EPM1270T144C5芯片的开发板介绍开发板具体功能如图14所示图14 基于EPM1270T144C5芯片的开发板4.2 D/A转换器在整体系统中,波形的幅度值被量化成数字值存储在ROM中,通过一组数据线输出代表二进制编码的电平信号。为了将数字信号转换成模拟信号,需要用到数一模转换器,简称DAC (Digital-Analog Converter)。为了数据处理结果的

26、准确性,DAC转换器必须有足够的转换精度,同时为了能够在较高频率下工作,它必须有足够快的转换速度。因此,转换精度和转换速度是衡量DAC转换器性能优劣的主要标志。目前常见的D/A转换器中,有权电阻网络D/A转换器,倒梯形电阻网络D/A转换器,权电阻网络D/A转换器,倒梯形电阻网络D/A转换器、权电流型D/A转换器、权电容型网络D/A转换器以及开关树型D/A转换器几类型。本设计中采用倒T形电阻网络的单片集成D/A转换器AD7520,其内部结构如图所示,它的输入为10位二十制数,采用CMOS电路构成的模拟开关,为了降低开关的导通内阻,开关电路的电源电压设计在15V左右。使用AD7520时需要外加运算

27、放大器。运算放大器的反馈电阻可以使用其内部的反馈电阻R,也可以另外选取反馈电阻连接到Iout1与放大器输出之间。外接的参考电压VREF必须保证有足够的稳定度,才能确保应有的转换精度。图15 AD7520内部结构电路原理如图16所示,DO-D7对应ROM的8位输出,D/A的最低两位直接接地,参考电压采用5V,开关电路的电源电压为12V,由于参考电压直接影响到输出,故必须保证它有足够的稳定度,在电源和地之间应当有去耦电容,并尽可能的接近IC引脚,这将有助于滤除电源噪声。245D0 6D1 7D2 8D3 9D4 10D5 11D6 12D7 13MSB-1BIT-2BIT-3BIT-4BIT-5B

28、IT-6BIT-7BIT-8BIT-9LSB-1016131514+5 +12 VddVrefINRfbIout1Iout22GND+5AD7520R110kR210k2 36 -OPA650 +R310M236Vo-OPA650+图16 D/A 电路原理图4.3示波器观察图形在没有分频的情况下,直接利用开发板上的时钟脉冲作为输入信号,将输出信号通过开发板上数模转换器转换成模拟信号,改变选择值和时钟频率就可以在示波器上观察到相应的波形。通过示波器可以观察到波形幅度约为2.4V。将选择键置为00时观察到方波波形如图17所示:图17 方波波形将选择键置为01时观察到三角波波形如图18所示: 图18

29、 三角波波形将选择值置为10时观察到正弦波如图19所示:图19 正弦波波形将选择键置为11时观察到阶梯波如图20所示:图20 阶梯波波形结 论通过该设计使我全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对信号发生器的编程和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。该设计因为输入信号是通过开发板上的时钟频率直接引入的,并没有通过分频来实现,所以可以选择的输入信号是有限的,选择频率不当时,示波器上相应的波形并不能够清楚地显示出来。可以通过分频解决这一

30、问题,也可以选择更精确的晶振来解决。 参 考 文 献1汪国强.EDA技术与应用.北京:电子工业出版社,2007.42黄正瑾.CPLD系统技术入门与应用M.北京:电子工业出版社,20023潘松,黄继业.EDA技术与VHDLM.北京:清华大学出版社,2006.389-39 4潘景良.程控任意波形功率驱动电源的研制J.南京:南京理工大学测试计量技术及仪器专业,20045王振红.VHDL数字电路设计与应用实践教程.北京:机械工业出版社,2003.6致 谢本论文的工作是在我的导师:陈华宝老师的悉心指导下完成的,导师严谨的治学态度和科学的工作方法给了我极大的影响和帮助,他的博学多识给予我大量的指导,正是在导师的谆谆教导下,我不断克服来自于方方面面的困难,最终较为顺利的完成了毕业设计工作,在此向我的指导老师致以深沉的敬意和诚挚的谢意! 我还要感谢毕业设计过程中所有给我真诚帮助的老师和同学,最后真诚地谢谢各位评阅老师。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号