ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:295.41KB ,
资源ID:3814670      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3814670.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于FPGA的智能函数发生器.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于FPGA的智能函数发生器.docx

1、基于FPGA的智能函数发生器 毕业设计(论文)题目 基于FPGA的智能函数发生器 院 系 应用技术学院 专 业 电子信息工程(应用技术方向) 年 级 2009级 学生姓名 学生学号 200915254141 指导教师 职称 副教授 完成毕业设计(论文)时间 2013 年 1 月 第一章 绪论 1 (一)引言1(二)选题背景及目的 1第二章 软件平台的应用 2 (一) FPGA简介2 (二) VHDL&Verilog2 (三) Quartus II软件简介2第三章 智能函数发生器的原理与设计 3 (一)设计要求 3 (二)设计思路32 方案选择 3 2.1波形函数发生方案对比选择3 2.2波形函

2、数输出控制方式选择3 (三)系统的整体原理框图4 (四)各模程序设计及仿真4 4.1递增斜波模块4 4.2递减斜波模块5 4.3三角波模块6 4.4阶梯波模块6 4.5方波模块74.6方波模块8 4.7输出波形选择模块9第四章 系统联调测试分析 10 (一) 系统总体电路原理图的设计 11(二)整体编译结果11(三)系统总体仿真分析11 (四)芯片引脚锁定12第五章 总结 13 (一) 结论13(二)技术展望13 致谢13 参考文献13 附录14基于FPGA的智能函数发生器杨水森重庆三峡学院 应用技术学院 电子信息工程(应用技术方向)2009级 重庆万州 404000摘要: 函数发生器是一种多

3、波形的信号源,它可以产生方波、三角波、锯齿波,甚至任意波形。函数发生器使用范围很广,它是一种不可缺少的或通用信号源。可以用于生产测试、仪器维修、实验室,还广泛使用在其它科技领域,如医学、教育、化学、通讯、物理学、工业控制、军事和宇航等。函数发生器的的设计方法有多种,直接数字频率合成就是其中的一种。直接数字频率合成是一种新的频率合成方法,是频率合成技术的一次革命,随着数字频率集成电路和可编程技术的发展,直接数字频率合成技术日益显露出它的优越性。本设计利用FPGA为核心和Altera公司的设计工具Quartus II进行设计,并结合VHDL语言进行编程。可以产生递增斜波、递减斜波、方波、三角波及阶

4、梯波,并可以通过开关选择输出的波形。此设计既可以学习到频率合成技术、数字电路、,也可以学习到FPFA和其他的仿真软件等知识性应用。另外,通过模块化的设计(即把一个设计分成若干个模块,对每个模块进行设计和完善,再对每个模块进行组合和完善,最后形成完整的设计)更能够掌握系统的整体设计。关键词:FPGA; VHDL; 函数发生器;Function generaror of intelligent Based on FPGAYANG Shui-senSchool of Applied Technology , Chongqing Three Gorges University, electronic

5、information project (Applied Technology ) 2009 Chongqing 404100,ChinaAbstract: the function generator is a multi-wave signal source, it can generate sine wave, square wave, triangle wave, sawtooth wave, or even arbitrary waveform. Function generator using range is very wide, it is a kind of indispen

6、sable general signal source. It can be used for production testing, instrument repair, laboratory, also widely used in other scientific fields, such as medicine, education, chemistry, communication, geophysics, industrial control, such as military and aerospace.A function generator design method has

7、 many kinds, direct digital frequency synthesis is one of a kind. Direct digital synthesis is a new method for frequency synthesis, frequency synthesis technology is a revolution, along with the digital frequency integrated circuits and programmable technology, direct digital frequency synthesis tec

8、hnology is increasingly revealing its superiority. This design uses the FPGA as the core and Altera companies to design tools Quartus II design, and combined with the VHDL programming language. Can increase the oblique wave, decreasing ramp, square wave, triangular and ladder wave, and can be select

9、ed by the switching output waveform. This design not only can learn to frequency synthesis technology, digital circuit, can also learn to FPFA and other simulation software and knowledge application. In addition, through modular design ( in which a design is divided into a number of modules, each mo

10、dule design and perfect, of each module are combined and improved, finally formed a complete design ) to grasp the overall design of the system.Key words:FPGA; VHDL; function generato第一章 绪论(一)引言 EDA(electronic design automation,电子设计自动化)技术是现代电子工程领域的一门新技术。它提供了基于计算机和信息技术的电路系统设计方法。EDA技术的发展和推广应用极大地推动了电子工

11、业的发展,随着EDA技术的发展,硬件电子电路的设计几乎全部可以依靠计算机来完成。这样就大大缩短了硬件电子电路设计的周期从而使制造商可以快速开发出品种多批量小的产品,以满足市场众多的需求。EDA技术的推广是当今世界的一个技术热点。EDA技术是现代电子工业中不可缺少的一项技术。传统设计应用分立元件或通用数字电路芯片,设计周期长,花费大,而且往往局部功能优化,而整体功能较差。EDA 以计算机为平台,根据硬件描述语言,如VHDL自动地完成逻辑编译、化简分割、综合及优化,布局布线,仿真直至对特定目标芯片的适配编译,逻辑映射和编程下载等工作。以自顶向下的设计方法,使硬件设计软件化,摆脱了传统手工设计的众多

12、缺点。其方法简单,频率稳定度高,易于程控。随着EDA技术的深入发展,基于硬件描述语言的方法将有取代传统手工设计方法的趋势。尝试用VHDL设计来产生正弦波,其频率切换非常便捷,调试、修改也非常节省时间。(二) 选题背景及目的 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。计算器的普及大大缩短了人们在数学计算所花费的时间,但是一般的计算器只能用来计算加、减、乘、除这四类简单的数学计算,而不是进行复杂和的函数计算。因此设计了这个智能函数发生器

13、。此智能函数发生器内置递增斜波、递减斜波、三角波、方波、正弦波及阶梯波六种函数模块,用户可以在输入端输入相应的代码选择不同的函数,从而进行函数计算并绘出一定范围内的函数图形。即方便了用户进行函数计算,又方便了用户对这六类函数进行深入的研究。 而电子信息类产品的开发明显地出现了两大特点:一是开发产品的复杂程度加深;二是开发产品的上市时限紧迫。而伴随着如上两大特点的产生,相应的出现了设计上的两个问题。其一,在电子系统数字化、复杂化和大规模集成化的今天,电子厂商们迫切地追求电子产品的高功能、优品质、低成本、微功耗和微小封装尺寸,从而使得电子设计更加复杂。那么如何去完成这些高复杂度的电子设计呢?其二,

14、电子产品设计周期短和上市快是电子厂商们坚持不懈的追求,那么面对如此复杂的设计,又如何能够缩短开发时间呢?解决以上两个问题的唯一途径是电子设计自动化(EDA),即用计算机帮助设计人员完成繁琐的设计工作。第二章 软件平台的应用(一)FPGAFPGA是Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这

15、样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。它与分立元件相比,具有速度快、容量大、功耗小和可靠性高等优点。由于集成度高,设计方法先进、现场可编程,可以设计各种数字电路,因此,在通信、数据处理、网络、仪器、工业控制、军事和航空航天等众多领域内得到了广泛应用。不久的将来将全部取代分立元件,目前一些数字集成电路生产厂商已经停止了分立原件电路的生产。此外,FPGA还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修

16、改。因此,FPGA技术的应用前景非常广阔。(二) VHDL语言简介VHDL(Very High Speed Integrated Circuit Hardware Description Language,超高速集成电路硬件描述语言)是一种用来描述数字系统行为和结构的硬件描述语言,被广泛的运用于描述和仿真各种数字系统,小到几个门,大到许多复杂集成电路相连的系统。VHDL诞生于1982年,是由美国国防部开发的一种快速设计电路的工具,目前已经成为IEEE(The Institute of Electrical and Electronics Engineers)的一种工业标准硬件描述语言。相比传统

17、的电路系统的设计方法,VHDL具有多层次描述系统硬件功能的能力,支持自顶向下(Top to Down)和基于库(Library Based)的设计的特点,因此设计者可以不必了解硬件结构。从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的FPGA器件中去,从而实现可编程的专用集成电路(ASIC)的设计。(三)Quartus II软件简介Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以

18、及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 QuartusII支持Altera的IP核,包含了LPM/MegaFuction宏功能模块库,使用它,可以简化设计的复杂性,加快设计速度。QuartusII平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。此外,QuartusII通过和DSP Builder工具与Matlab/SIMULINK相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统开发,集系统级设

19、计、嵌入式软件设计、可编程逻辑设计于一体,是一种综性的开发平台。第三章 智能函数发生器的原理与设计(一)设计要求要求设计一个智能函数发生器,该函数发生器能够产生递增斜波、递减斜波、方波、正弦波、三角波、及阶梯波,并且可以通过选择开关选择相应的波形输出;系统具有复位的功能;通过按键确定输出的波形及确定是否输出波形。FPGA是整个系统的核心,构成系统控制器,波形数据生成器,加法器,运算等功能。通过以上设计要求分析完成的功能,确定函数发生器可由递增斜波产生模块、递减斜波产生模块、三角波产生模块、阶梯波产生模块、方波产生模块和输出波形选择模块组成,以及按键复位控制和时钟输入。由此可确定系统的总体原理框

20、图为如图1:图1 总体原理框图(二) 设计思路2 方案选择21 波形函数发生方案对比选择波形函数发生是本设计的最重要的部分,实现函数发生的途径也有很多,因此必须选择一种易于实现且精度高的方案,以此来提高本设计的实用性。方案一:通过单片机控制D/A,输出三种波形。此方案输出的波形不够稳定,抗干扰能力弱,不易调节,而且达不到题目要求的六种波形。方案二:使用传统的锁相频率合成方法。通过芯片IC145152,压控振荡器搭接的锁相环电路输出稳定性极好的正弦波,再利用过零比较器转换成方波,积分电路转换成三角波。此方案,电路复杂,干扰因素多,不易实现。方案三:利用MAX038芯片组成的电路输出波形。MAX0

21、38是精密高频波形产生电路,能够产生准确的三角波、方波和正弦波三种周期性波形,但无法实现阶梯波和递增递减斜波的产生。方案四:利用在系统编程技术和FPGA芯片产生。用VHDL语言编写程序,调试成功后下载至实验装置的芯片上,再利用外接D/A转换电路实现以上设计功能。此种方案完全可以生成设计要求的6种波形,而且通过软件仿真可以直观的观测的输出的波形参数,方便调试和更改波形参数,外围电路简单,减少器件损耗,精度高。基于方案四的外围电路简单容易实现、波形产生精度高、易于仿真观测调试的优点,因此本设计的函数发生器选择方案四完成波形发生的全部功能。2.2 波形函数输出控制方式选择方案一:控制多路D/A开关输

22、出方式此种方案为每一路输出的波形函数使用一路D/A转换后输出,通过控制开关控制每一路D/A是否工作,决定输出的波形。此种方案可以同时输出多路波形,但是需要路D/A转化器,外围电路复杂,制作成本较高而且控制复杂。方案二:采用数据选择器方式此种方案可以利用VHDL语言写出数据选择器,然后每种函数发生器的输出和数据选择器输入相连接,通过控制开关选择对应的波形输出。方案二完全可以得到方案一的设计要求,而且只需一个D/A转换器就可以。电路不需要外部搭建,节约成本且控制简单方便。方案三:采用数据分配器方式此种方案利用数据分配器的功能,通过控制开关选择相应的函数发生器模块,使之产生相应的波形输出,并通过数据

23、分配器的使能复位控制决定是否输出波形,此种方案和方案二很相似,也能够实现设计的功能也具有方案二的优点。基于方案二的设计简便、节约制作元件和成本、控制简便等优点,选择方案二作为波形函数输出控制方式。(三)系统的整体原理框图 图2 系统的整体原理框图如图2所示,系统时钟输入后,通过复位开关选择是否产生波形,当各个模块产生相应的信号波形后,通过波形选择模块波形选择开关选泽输出不同的波形,再通过D/A转换器转换,就可以把数字信号(由FPGA输出)变成了相应模拟的信号波形。整个系统设计的核心就是FPGA部分(四) 各模块程序设计及仿真根据自上而下的思路进行项目设计。明确每个模块的功能以后,开始编写各个模

24、块的程序。4.1递增斜波模块递增斜波icrs的VHDL程序如附录所示,其中clk是输入时钟端口,sel0、sel1、sel2为选择波形按键值,reset为输入复位端口,q为八位二进制输出端口。图3 递增斜波模块仿真图程序设计的当复位信号为0时,输出为0,无对应的波形产生。当复位信号为1时,每当检测到时钟上升沿时,计数器值加1,当增加到最大后清零。计数值增加呈现线性关系,因此输出的波形是递增的斜波。从仿真波形图图3也能看出这种变化规律。VHDL描述为:IF reset=0 THEN tmp:= 00000000;-复位信号清零ELSIF clkEVENT AND clk=1 THEN IF tm

25、p=11111111 THEN tmp:=00000000;-递增到最大值清零 ELSE tmp:=tmp+1;-递增运算4.2递减斜波模块递减斜波dcrs的VHDL程序如附录所示,其中clk是输入时钟端口,sel0、sel1、sel2为选择波形按键值,reset为输入复位端口,q为八位二进制输出端口。图4 递减斜波模块仿真图程序设计的是复位信号为0时输出为0,无对应的波形产生。当复位信号为1时,当每当检测到时钟上升沿时,计数值减1,当减到0后赋值到最大。计数值减少呈现线性关系,因此输出的波形是递减的斜波。从仿真波形图图4也能看出这种变化规律。VHDL描述为:IF reset=0 THEN t

26、mp:=11111111;-复位信号置最大值ELSIF clkEVENT AND clk=1 THEN-检测时钟上升沿IF tmp=00000000 THEN tmp:=11111111;-递减到0置最大值ELSE tmp:=tmp-1;-递减运算4.3 三角波模块三角波delat的VHDL程序如附录所示,其中clk是输入时钟端口,sel0、sel1、sel2为选择波形按键值,reset为输入复位端口,q为八位二进制输出端口。三角波波形是对称的,每边呈线形变化,所以可以根据数据做简单运算,就可以得到三角波。图5 三角波模块仿真图程序设计的是reset复位信号为0时输出为0,无对应的波形产生。当

27、复位信号为1时,当每当检测到时钟上升沿时,当计数的数据不是最大值时,数值做递增运算,当增大到最大时,然后再做递减运算,因此输出的波形便呈现出三角波的形状。从仿真波形图图5也能看出这种变化规律。VHDL描述如下:IF reset=0 THEN tmp:=00000000;-复位信号为0,置最小值 ELSIF clkEVENT AND clk=1 THEN-检测时钟上升沿 IF a=0 THEN IF tmp=11111110 THENtmp:=11111111; -置最大值a:=1; ELSE -不是最大值时递增tmp:=tmp+1;-递增运算 END IF; ELSE IF tmp =0000

28、0001 THENtmp:=00000000; -置最小值a:=0; ELSE -a为1时,执行递减运算tmp:=tmp-1;-递减运算4.4 阶梯波模块阶梯波ladder的VHDL程序如附录所示,其中clk是输入时钟端口,sel0、sel1、sel2为选择波形按键值,reset为输入复位端口,q为八位二进制输出端口。图6 阶梯波模块仿真图阶梯波设计的是数据的递增是以一定的阶梯常数向上增加,所以输出的波形呈现是成阶梯状的,而不是,完全呈现是直线增长。从仿真波形图图6也能看出这种变化规律。VHDL描述如下:IF reset=0 THEN tmp:=00000000;-复位信号为0,置最小值ELSIF clkEVENT AND clk=1 THEN-检测时钟上升沿 IF a=0 THEN-判断a数值,计数。 IF tmp=11111111 THENtmp:=00000000; -计数到最大清零a:=1; ELSEtmp:=tmp+16;-阶梯常数为16,可修改a:=1; END IF; ELSEa:=0;-循环计数标志 END IF; END IF;q=tmp;END PROCESS; END behave;4.5方波模块方波模块的square的VHDL程序描述如下:其中clk为输入时钟端口,sel0、sel1、sel2

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1