毕业设计(论文)基于FPGACPLD的数字电压采集.doc
《毕业设计(论文)基于FPGACPLD的数字电压采集.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于FPGACPLD的数字电压采集.doc(44页珍藏版)》请在三一办公上搜索。
1、 2011 届毕业设计(论文)题 目:基于FPGA/CPLD的数字电压采集学 院:电子与信息工程学院专 业:班 级:姓 名:指导教师:起讫时间:2011-3-12011-6-18二一一 年 六 月基于FPGA/CPLD的电压数据采集摘 要基于FPGA/CPLD的数字电压表,它设计简单,且相对于用微处理器控制通用A/D转换期间的数字电压表的设计的灵活性明显提高,系统功能的扩展变得简单,在使用过程中得到了广泛的运用。因此,基于FPGA的数字电压表是一款具有一定研究价值和实用价值的产品。本次设计采用EDA技术和FPGA芯片设计数字电压表。在硬件方面,主要描述了ADC0809转换控制模块、数据转换模块
2、、译码模块组成。在软件方面,在MAX+PLUSII下进行软件编程实现正确的工作时序后,将编译结果下载到GW48实验箱进行验证。本次设计已经成功完成了数字电压表的制作,在实验箱上通过旋转电位器的旋钮,数码管上的电压能够实时显示出来,并可通过按键保持当前值。关键词:数字电压表 FPGA MAX+PLUSII ADC0809 Based on FPGA / CPLDs Voltage Data AcquisitionAbstractBased on FPGA / CPLD digital voltage meter, it is simple, and compared with a micropr
3、ocessor-controlled general-purpose A / D converter digital voltmeter during the design significantly improved the flexibility, easy expansion of system functions, in the course been a widely used. Therefore, based on FPGA is a digital voltmeter with a certain research value and practical value of th
4、e product. The design uses FPGA chip design EDA technology and digital voltmeter. On the hardware side, the main control module describes the ADC0809 conversion, data conversion module, decoding module. On the software side, under the MAX + PLUSII software programming work to achieve the correct tim
5、ing, it will compile the results downloaded to GW48 test box for verification. This design has successfully completed the production of digital voltage meter, in the experimental tank by turning the potentiometer knob, the voltage on the LED display in real time, and through the button to keep the c
6、urrent value.Key Words: Digital voltmeter; FPGA; MAX+PLUSII; ADC0809目 录摘 要IAbstractII第一章 绪论11.1 设计背景和意义11.1.1 FPGA的发展11.1.2 FPGA芯片的介绍:21.2 EDA设计概述:31.2.1 VHDL语言介绍31.2.2 时序电路设计41.3 数字电压表的研究现状51.3.1 基于单片机的数字电压表实现方式51.3.2 基于FPGA的数字电压表实现方式51.4 论文章节介绍6第二章 基于FPGA的数字电压表设计72.1 基于FPGA的数字电压表72.1.1 基于FPGA的数字电压
7、表实现方式72.1.2 各方案的比较:7第三章 数字电压表的硬件电路设计93.1硬件总体结构93.1.1 硬件框图:93.1.2 硬件原理图:103.2 转换模块的比较103.3 A/D转换模块113.3.1 A/D转换模块功能阐述113.3.2 模数转换芯片ADC0809介绍113.3 FPGA主控制模块133.3.1 主控制模块功能阐述133.3.2 主控制芯片的介绍143.3.3 芯片顶层引脚图:143.4 LED显示模块153.4.1 LED显示模块功能阐述:153.4.2 LED发光二极管选择及原理图:153.4.3 译码器的选择:163.5 输入电源模块163.6配置下载模块:17
8、3.7本章小结18第四章 数字电压表的软件设计及仿真194.1 ADC0809转换模块194.1.1 ADC0809状态转换:194.1.2 ADC时序图:204.1.3 ADC转换主程序204.1.3 程序仿真图:224.1.4 仿真图说明:234.2 控制转换模块的设计234.2.1 转换控制原理:234.2.2 转换主程序244.2.3 程序仿真图254.2.4 程序仿真图分析:264.3 显示原理及程序仿真264.3.1. 显示原理:264.3.2. 显示主程序:264.5 本章小结26第五章 系统调试与结果分析285.1 硬件调试285.1.1 MAX+PLUSII 10.0软件介绍
9、285.2 仿真分析及程序优化285.2.1 功能仿真与时序仿真285.2.2 程序优化295.3 结果测评29第六章 总结与展望326.1 总结326.1.1 毕设问题:326.1.2 课题总结:326.2工作展望33参考文献35致谢37第一章 绪论1.1 设计背景和意义1.1.1 FPGA的发展FPGA是操控层次更低、自由度更大的芯片,对FPGA的编程在编译后是转化为FPGA内的连线表,相当于FPGA内提供了大量的与非门、或非门、触发器(可以用与非门形成吧)等基本数字器件,编程决定了有多少器件被使用以及它们之间的连接。只要FPGA规模够大,这些数字器件理论上能形成一切数字系统,包括单片机甚
10、至CPU。FPGA在抗干扰,速度上有很大优势。目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flipflop)或者其他更加完整的记忆块。 系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和
11、连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。 FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。早在1980年代中期,FPGA已经在PLD设备中扎根。CPLD和FPGA包括了一些相对大数量的可以编辑逻辑单元。CPLD逻辑门的密度在
12、几千到几万个逻辑单元之间,而FPGA通常是在几万到几百万。CPLD和FPGA的主要区别是他们的系统结构。CPLD是一个有点限制性的结构。这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器。这样的结果是缺乏编辑灵活性,但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点。而FPGA却是有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。CPLD和FPGA另外一个区别是大多数的FPGA含有高层次的内置模块(比如加法器和乘法器)和内置的记忆体。一个因此有关的重要区别是很多新的FPGA支持完全的或者部分的系统内重新配置。允许他们的设计随着系统升级或者动
13、态重新配置而改变。一些FPGA可以让设备的一部分重新编辑而其他部分继续正常运行。FPGA采用了逻辑单元阵列LCA这样一个概念,内部包括可配置逻辑模块CLB、输出输入模块IOB和内部连线三个部分。其特点如下:(1) 采用FPGA设计ASIC电路(特定用途集成电路),用户不需要投片生产,就能得到合用的芯片;(2) FPGA可做其它全定制或半定制ASIC电路的中试样片;(3) FPGA内部有丰富的触发器和IO引脚;(4) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容;(5) FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一;可以说,FPGA芯片是小批量
14、系统提高系统集成度、可靠性的最佳选择之一。应用EDA (电子设计自动化)技术及FPGA (现场可编程门阵列), 其集成度高、速度快、性能十分可靠,用户可自由编程且编程语言通俗易懂、系统功能扩展非常方便 。采用FPGA芯片控制通用A /D 转换器可使速度、灵活性大大优于由微处理器和通用A /D 转换器构成的数字电压表本文将在后面章节详细介绍基于FPGA的数字电压表的原理、制作流程和所涉及到的软硬件设计。1.1.2 FPGA芯片的介绍:FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作
15、为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。 现场可编程门阵列(FPGA)是可编程器件。与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构,FPGA利用小型查找表(161RAM)来实现组合逻辑,每个查找表连接到一个D
16、触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了即可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及个模块之间或模块与I/O间的连接方式,并最终决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能, FPGA允许无限次的编程。FPGA的广泛运用在于它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品
17、无需测试、保密性强、价格大众化等特点,可实现较大规模的电路设计。目前,许多公司都开发出了FPGA可编程逻辑器件,比较典型的就是Altera、Lattice、Xilinx世界三大权威公司的产品。1.2 EDA设计概述:1.2.1 VHDL语言介绍VHDL 的英文全名是 Very-High-Speed Integrated Circuit Hardware Description Language,诞生于 1982 年。1987 年底,VHDL被 IEEE 和美国国防部确认为标准硬件描述语言。 VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形
18、式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。 其基本特点:(1) VHDL 语言具有强大的语言结构,只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路;(2) VHDL 语言具有多层次的电路设计描述功能,既可描述系统级电路,也可以描述门级电路
19、;(3) VHDL 语言很强的移植能力主要体现在:对于同一个硬件电路的 VHDL 语言描述 , 它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行;(4) 采用 VHDL 语言描述硬件电路时, 设计人员并不需要首先考虑选择进行设计的器件;(5) 设计人员可以建立各种可再次利用的模块,一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计,而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块,将这些模块存放在库中,就可以在以后的设计中进行复用。1.2.2 时序电路设计1. FPGA开发流程FPGA的设计流
20、程就是利用EDA开发工具对FPGA芯片进行开发的过程。FPGA开发流程一般分为以下几个阶段:电路功能设计、设计输入、功能仿真、硬件验证。这是一种自顶向下的层次化设计方法,并且是面向硬件的设计思维,具体指的是如何将具体功能形成硬件的RTL级模型,然后用合适的硬件电路去实现,而不是凭空写代码。由于这种面向硬件的电路设计必然需要考虑硬件时钟问题,在硬件电路时钟实现方式上有两种:一种是同步设计方式,另一种是异步设计方式。下面将具体介绍这两种方式。2. 同步设计法和异步设计法FPGA开发过程中电路的时序问题是一个重要的问题,它贯穿整个系统。因此,时序的选择相当重要。一般有两种电路设计思路:同步电路设计、
21、异步电路设计。同步电路设计:同步电路设计是一种工程上应用较多的设计思路,总的来说就是整个系统从始至终只用一个时钟,时序电路只有唯一的时钟,并且在电路中只能用到时钟上升沿或者时钟下降沿。同步设计对于中小规模集成电路设计来说是很有必要的,它的优点主要有如下三个方面:1. 可以简化程序分析过程。程序分析对系统的速度影响很大,而时序电路可有效的缓解这一问题。2. 可减少工作环境对设计的影响。异步电路受工作温度、电压等影响,器件延时变化较大。同步电路只要求时钟和数据沿相对稳定,时序要求较为宽松,因此环境依赖性小。3可以有效避免毛刺影响,提高设计可靠性。毛刺对数字电路有很大的影响,只要有逻辑电路就会有毛刺
22、的产生,是永远存在的。同步设计是避免毛刺影响最简单最有效的方法。异步电路设计与同步电路设计在电路特性上有很大的差异,是一种还没被广泛接受与应用的设计方法。简单来说异步电路就是在一个系统中有多个时钟源,对时钟电路进行控制。异步电路设计对工作环境的要求很高,受电路工作温度、电压等影响,器件延时变化较大。异步电路会产生毛刺,对频率较高的时钟电路会产生致命的影响。因此,异步电路设计需要对时钟信号进行严格处理、控制,较同步电路来说比较复杂,但异步电路功耗比同步电路相比较低。1.3 数字电压表的研究现状传统的数字电压表设计通常以大规模ASIC(专用集成电路)为核心器件,并辅以少量中规模集成电路及显示器件构
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 FPGACPLD 数字 电压 采集
链接地址:https://www.31ppt.com/p-3030826.html