eda课程设计 信号发生器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1. 引言 (1)
2. VHDL语言及Quartus II软件介绍 (2)
2.1 VHDL语言 (2)
2.2 Quartus II软件 (2)
3.总体设计思想及流程 (3)
4. 具体程序实现模块 (4)
4.1倍频器模块 (4)
4.2主程序模块 (4)
4.3 波形显示模块 (5)
4.4频率显示模块 (5)
5. 软件仿真 (6)
6. 硬件显示 (7)
7. 总结与体会 (8)
参考文献 (9)
附录 (10)
附录1. 整体系统原理图 (10)
附录2. 主程序 (11)
1. 引言
信号发生器是一种能够产生多种波形,如三角波、方波、锯齿波、正弦波的仪器。信号发生器在电路实验和设备检测以及通信、雷达、导航、宇航等领域有广泛的应用。正因为其在生活中应用的重要性,人们它做了大量的研究,总结出了许多实现方式。可以基于FPGA 、VHDL、单片机、DOS技能、数字电路等多种方法实现。简易信号发生器是信号发生器的一种。可以实现信号发生器的一些基本功能。本次课程设计要求设计的是一种简易信号发生器。
在本设计中要求设计的简易信号发生器是采用VHDL来实现的简易多功能信号发生器。它能产生正弦波,三角波和方波。且对各种波形的要求如下:(1)设计任意信号发生器,使之能够生成正弦波、三角波和方波;
(2)电路的外部频率为40MHz,要求信号发生器可产生0-1KHz、
1KHz~10KHz、10KHz~1MHz三档频率的信号;
(3)要求具有波形选择和频率选择的功能;
(4)在同一频率档内,可实现频率的加减;
(5)要求显示波形的同时能够进行频率的调节;
(6)要求能够显示波形:A——正弦波;B——三角波;C——方波;
(7)要求能够显示频率值;
(8)可用示波器进行波形的观测。
2. VHDL语言及Quartus II软件介绍
2.1 VHDL语言
本次设计使用的是VHDL语言。VHDL 的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982 年。1987 年底,VHDL被IEEE 和美国国防部确认为标准硬件描述语言。
VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
VHDL语言的特点是:VHDL 语言功能强大,设计方式多样;VHDL 语言具有强大的硬件描述能力;VHDL 语言具有很强的移植能力;VHDL 语言的设计描述与器件无关;VHDL 语言程序易于共享和复用。
2.2 Quartus II软件
本设计中需要用到Quartus II 9.0软件。Quartus II 是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。
此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。
3.总体设计思想及流程
本次课程设计按模块式实现,据任务书要求,设计总共分三大步骤完成:(1)产生波形(三种波形:方波、三角波、正弦波)信号;
(2)频率控制;
(3)显示频率值。
利用VHDL编程,依据基本数字电路模块原理进行整合。系统各部分所需工作时钟信号由输入系统时钟信号经分频得到,系统时钟输入端应满足输入脉冲信号的要求。频率控制模块可以实现频率的连续可调,最终送至脉冲发生模块输出脉冲信号,同时将信号的频率输出至数码管显示当前信号的频率值,达到设计课题所要求的输出波形频率可调功能。如图2.1所示:
图3.1总体程序流程图
4. 具体程序实现模块
4.1倍频器模块
由于要求简易信号发生器输出频率达到1MHZ,所以实验箱上的20MHZ的输出过低,无法达到要求。此时可以采用一个倍频器将20MHZ的频率输出加倍成为128MHZ的频率输出。具体可以通过Quartus II 9.0软件的ALTPLL模块实现。原理图如图4.1所示:
图 4.1倍频器模块原理图
4.2主程序模块
主程序用来实现系统的主要功能,包括波形定义分频、频段选择、频率调节以及频率输出等。主程序见附录1。主程序原理图如图4.2所示:
图 4.2主程序模块原理图
其中clk信号为20MHZ的信号经过加倍后的128MHZ的频率。Key1、key2为频率调节按钮,key1接按钮,当按动key1频率值加1或者减1;key2接拨码开关,用来加减选择,当key2=1时为加,当key2=0时为减。sel_p[1..0]为频段