课程设计(论文)基于FPGA智能函数发生器设计.doc
《课程设计(论文)基于FPGA智能函数发生器设计.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)基于FPGA智能函数发生器设计.doc(24页珍藏版)》请在三一办公上搜索。
1、 课程设计题 目 基于FPGA智能函数发生器设计 学生姓名 学号 0813014043 所在院(系) 物电学院 专业班级 电子082 指导教师 完成地点 501实验室 2011 年 12 月 27 日基于FPGA智能函数发生器的设计(陕西理工学院 电信工程系(电子信息工程专业,082班)指导教师:摘要 FPGA实现智能函数发生器设计介绍了一种基于FPGA的智能函数发生器的设计.采用EDA技术对此设计进行功能仿真和时序仿真,在EDA系统开发平台上实现程序下载,同时在示波器上观察波形输出.关键词函数发生器 FPGA EDADesign of intelligent function signal
2、generator based on FPGA(Shaanxi University of Technology Department of Communication Engineering Electronic information engineering major Class082)Guide teacher: Han TuanjunAbstract FPGA intelligent function generator design introduced one kind based on the FPGA intelligent function generator design
3、. Using EDA technology to design the function simulation and timing simulation, in the development of EDA system platform to achieve program download, while in the oscilloscope to observe the waveform output.Key word Function generator FPGA EDA 目录1.智能函数器发生原理和系统实现21.1智能函数发生器的性能指标21.2仿真软件介绍及操作步骤31.21Q
4、uartus II软件简介31.22Quartus II软件设计流程42.智能函数器设计52.1设计的基本原理和思路52.2总体方案设计53.单元模块的设计73.1递增斜波信号产生模块:73.2递减斜波信号产生模块83.3三角波信号产生模块103.4阶梯波信号产生模块113.5方波信号产生模块133.6正弦波信号产生模块143.7波形输出选择器模块163.8函数发生器的顶层设计184.设计总结215.致谢226.参考文献231.智能函数器发生原理和系统实现1.1智能函数发生器的性能指标综合市场 上的函数 发生器的指 标和自身 的硬件情 况以及考 虑到其应 用的不同的 场合, 该智能 函数发 生
5、器的 设计要 求如下 :该 函 数 发 生 器 采 用 直 接 数 字 频 率 合 成 (DDS-Digital Direct Frequ encySynthesis) 技术实现,可以产生 范围为 1 180 kHz 的三角波、正弦 波、 方波递增斜波 ,递减 斜波。该函数发生 器可以 实现波 形的幅 度可调 以及可 以叠加 直流。此函数发生 器在共 分为四 个档,分别为 1Hz100Hz、100Hz1kHz、1KHz10KHz、10KHz80KHz,在这 四个档 位内的 最小可 调节频 率分别 为 1Hz、10 Hz、100Hz、1 KHz。该函数发生 器有四 个按键,五个数码管,一个调节幅
6、度的旋钮,一个调剂叠加直 流分量 的旋钮 以及一 个波形 输出端 口,其 四个按 键的具 体功能 如下:按键 1:任何状态下按下此键都输出频率为 1Hz 的方 波按键 2:波形选择键:通过 此按键 可选择 波形。每按一次键,波形就改变一次, 波形在 方波、 正弦波 、三角 波,递 增斜波 ,递减 斜波五 种波形 间切换 。按键 3:频率档位选择键:通过按键选择频率档位。每按 一次键,选择一个频率 档位,共分为四个档,分别为 1Hz100Hz,100Hz1KHz,1KHz 10KHz,10KHz80KHz。按键 4:频率步进选择键:通过按键选择频率的步进值。每按一次键,步进值则 根据此 时所处
7、的频率 的档位 的不同 而改变 :当频 率处于 1Hz100Hz 时 ,步进值 为 1 Hz,当频率为 100Hz1KHz 时,其步进值为 10Hz,当频率处于 1KHz10KHz 时,其步进值为 100Hz,当频率为 10KHz80KHz,其 步进值 为 1KHz。此函数发生 器具有 五个数 码管, 用一个 数码管 的 1 5 来区 分当前 的波形 种类, 1 代表方波, 2,代表三角波,3 代表正弦波,4 代表 递增斜 波, 5 代表递减斜波 。一个 用于显 示档位 ,1 代表 1Hz1 00Hz 的档位,2 代表 1 00Hz1 KHz 档位, 3 代表 1KHz10 KHz 档位,4
8、代表 1 0KHz80KHz 档位。还有三位用于显示当 前波形 的频率1.2仿真软件介绍及操作步骤1.21Quartus II软件简介1)Quartus II软件介绍Quartus II 是Alera公司推出的一款功能强大,兼容性最好的EDA工具软件。该软件界面友好、使用便捷、功能强大,是一个完全集成化的可编程逻辑设计环境,具有开放性、与结构无关、多平台完全集成化丰富的设计库、模块化工具、支持多种硬件描述语言及有多种高级编程语言接口等特点。Quartus II是Altera公司推出的CPLD/FPGA开发工具,Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全
9、部特性,包括:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;芯片平面布局连线编辑;功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具;定时/时序分析与关键路径延时分析;可使用SignalTap II逻辑分析工具进行嵌入式的逻辑分析;支持软件源文件的添加和创建,并将它们链接起来生成编程文件;使用组合编译方式可一次完成整体设计流程;自动定位编译错误;高效的期间编程与验证工具;可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件;能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。1.22Quar
10、tus II软件设计流程(1) 打开Quartus II软件。(2) 选择路径。注意:工作目录名不能有中文。(3) 添加设计文件。(4) 选择FPGA器件。Family选择Cyclone,240,8。(5) 建立原理图或用VHDL语言描述设计电路。(6) 对原理图或用VHDL语言进行编译,无误后进行添加信号。(7) 对上述电路进行仿真。(8) 进行管脚分配。(9) 全局编译。(10) 采用JTAG或AS模式进行下载测试。2.智能函数器设计2.1设计的基本原理和思路本设计采用 直接频 率合成 的方式 设计函 数信号 发生单 元。直接频率合成的基本原理是:首先设定一个 (或多个)基准频率,将这 个
11、(或多个)基 准频率变换成另一 个 ( 或 多 个 ) 合 乎 质 量 要 求 的 所 需 频 率 。 直 接 频 率 合 成 技 术 (Direct Digital Frequ ency Synthsis)就是把要输出的波形,预先归一化处理后,采样足够的点数,存储 于波形 存储器 中,在需要输出时,将波形从存储器中读出,经过 数/模转换,再通过后续模拟电路 处理输出。DDS 信 号产生单元主要有由 相位累加器、只读存储 器、数模转换器组成。存储器中存储的是波形一个周期内不同相位对于函数波形 幅值的 编码,通过时钟触发相位累加器累加,相位累加器的输出作为地址取出存储器存储的值, 该值进入 D/
12、A 转换为 相应的模拟信号,通 过一个周期内相位的 累加我 们就可 以得到 一个周 期的信 号输出 ,该信号通过后续模拟电路处理就可以 得到我 们想要 的函数 波形。2.2总体方案设计本论文设计的函数信号发生器主要由波形选择部分,波形发生部分和输出部分组成,其硬件结构图如图2.2所。其中波形选择部分是数据选择器电路;波形发生部分包括递增斜波产生电路,递减斜波产生电路,三角波产生电路,斜梯波产生电路,正弦波产生电路和方波产生电路;输出部分是数/模转换电路。其中数/模转换模块是通过硬件实现的,其它都是依靠软件实现的。根据实验箱的硬件资源,本次设计选用ALTERA公司MAX7000S系列的EPM71
13、28SLC8415作为主控芯片。它是一种基于乘积项结构的复杂可编程逻辑器件,它的基本逻辑单元是由一些与、或阵列加上触发器构成,其中与或阵列完成组合逻辑功能,触发器完成时序逻辑。它的逻辑控制灵活,可反复编程,有利于系统的扩展和修改,而且其集成度高,保密性好。在实际应用中,它体积小、功耗低、价格便宜,维护和升级都十分方便,具有较好的应用前景。图2.2硬件结构图数模转换器原理D/A转换器输入的是数字量,经转换后输出的是模拟量。有关D/A转换器的技术性能很多,例如分辨率、建立时间、接口形式、偏移量误差以及线形度等等。分辨率是D/A转换器对输入量变化敏感程度的描述,与输入数字量的位数有关。数字量位数越多
14、,分辨率也就越高。建立时间是描述D/A转换速度快慢的一个参数,指从输入数字量变化到输出并达到终值误差正负(1/2)LSB(最低有效位)时所需时间。通常以建立时间来表示转换速度。D/A转换器与微机借口方便与否,主要决定于转换器本身是否带数据锁存器。总的来说有两类D/A转换器,一类是不带锁存器的,另一类是带锁存器的。带锁存器的D/A转换器,可以把它看作一个输出口,因此可直接在数据总线上,而不是另加锁存器。偏移量误差是指输入数据量为0的时候,输出模拟量对0的偏移量。这种误差可以通过DAC的外接VREF和电位计加以调整。线形度是指DAC的实际转换特性曲线和理想直线之间的最大偏差。D/A转换器有2大类:
15、一类是在电子线路中使用,不能使能控制端口,只有数字量输入和模拟量输出;另一类带有使能控制端口,可以与微机直接连接。此实验中采用后者的LM358,以实现数字信号到模拟信号的转换。LM358转换模块8位D/A,I/O口定义如下:D0D7:数据总线,输入口;/CE:转换允许,低电平有效;/CS:片选,低电平有效;有两种输出方式。第一种,将短路子接在左侧的两个铜柱上,D/A转换输出到D/A OUT区域的第六个孔输出;第二种,将短路子接在右侧的两个铜柱上,D/A转换输出接到LM358的同相输入端。LM358单电源二运放。与AD558配合,将AD558的输出接到LM358的同相输入端,作为他的同相输入信号
16、;在LM358的右上脚,有TEST IN模块,他的信号可作为LM358的反相输入端。3.单元模块的设计3.1递增斜波信号产生模块: 递增斜波产生原理:当复位信号为1时,每当检测到时钟上升沿时,计数器值加1,当增加到最大后清零。计数值增加呈现线性关系,因此输出的波形是递增的斜波。(a)程序LIBRARY IEEE;-锯齿波递增USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY juchibo_ad ISPORT (clk,reset:in std_logic; q:out std_logic_vector(7 do
17、wnto 0);END;ARCHITECTURE behave OF juchibo_ad ISBEGIN PROCESS(clk,reset) VARIABLE tmp: std_logic_vector(7 downto 0);BEGIN IF reset=0 THEN tmp:=00000000;ELSIF clk event and clk=1 THENIF tmp=11111111 THEN tmp:=00000000;ELSE tmp:=tmp+1;END IF;END IF;q=tmp;END PROCESS;END(b)递增斜波仿真波形:图3.11递增锯齿波仿真波形(c)递增斜
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 论文 基于 FPGA 智能 函数 发生器 设计
链接地址:https://www.31ppt.com/p-3993451.html