《2022年2022年基于VHDL语言的数据采集系统毕业论文 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年基于VHDL语言的数据采集系统毕业论文 .pdf(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕业设计论文用 VHDL语言设计数据采集系统名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 39 页 - - - - - - - - - 摘要随着计算机技术的发展与普及,数字设备正越来越多地取代模拟设备,将模拟信号转换成数字信号以及将数字信号转换成模拟信号就成了重要环节。本系统以多路数据的采集及监测为例,介绍了可编程逻辑器件在模数转换、数模转换及数据监控及处理中的设计方法。实现数据采集的方法有很多,如单片机、CPLD 、C 语言等,但相比各种方法,运用 VHDL硬件描述语
2、言开发的数据采集系统具有具有设计方便高效、体积小、功耗低、可靠性高、易于修改、设计周期短等特点。VHDL 硬件描述语言采用自顶而下的设计方法可以对模型进行及时修改,以改进系统或子系统的功能,更正设计错误,从而提高目标系统的工作速度, 减小面积耗用,降低功耗和成本等。本文介绍了基于 Altera公司的集成开发环境MaxplusII,使用 VHDL 设计开发数据采集系统的基本方法。关键词 VHDL ADC0809 DAC0832 EDA 数据采集;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
3、- 第 2 页,共 39 页 - - - - - - - - - Abstract With the development of computer technology and popularization, Digital devices are increasingly replacing analog equipment,and converted the analog signals into digital signals, as well as digital signal into analog signal will become an important link.for
4、example,this syestem depend on one multi-channel data acquisition and monitoring,introduce a programmable logic device in the analog-digital conversion, digital-analog conversion and data monitoring with handling methods in the design. There are many ways to collect data, such as SCM, CPLD, C langua
5、ge,and so on. But compared with various methods,using the VHDL hardware description language to design the data acquisition system is the best. Because of its facilitate ,efficient, small size, low power consumption, high reliability, easy to modify, and shorter design cycle characteristics. VHDL ha
6、rdware description language using the top-down design method ,that can be the model for timely changes to improve the system or subsystem functions, design error correction, so as to enhance the work of the target system s speed, reducing the area of consumption, and lower the power consumption cost
7、s. In this paper,we introduce a integrated development environment which based on Alteras MaxplusII,and the basic method to develop a data acquisition system design by using VHDL language. Key words: VHDL EDA ADC0809 DAC0832 Data Acquisition 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名
8、师精心整理 - - - - - - - 第 3 页,共 39 页 - - - - - - - - - 目录前言. 1 1 EDA 技术及开发环境. 3 1.1 EDA技术. 31.2 VHDL . 41.3 EDA技术的开发环境MAXPLUSII. 52 数据采集系统的研究分析及设计思路. 6 2.1 数据采集系统的研究与分析 . 72.2 数据采集系统的设计思路. 73 数据采集系统模块的相关介绍与分析. 8 3.1 数据输入模块 . 8 3.1.1数据输入单元设计 . 8 3.1.2 ADC0809接线图. 9 3.1.3模块功能实现 . 10 3.2 数据采集系统各模块分析. 113.2
9、.1 A/D转换控制模块ADZHKZ的设计 . 22 3.2.2数据运算与处理模块SJYSCL . 17 3.2.3 D/A转换控制模块DAZHKZ . 223.2.4键盘输入与数据显示控制模块JPXSKZ . 293.2.5数码显示模块DISP 的设计 . 25名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 39 页 - - - - - - - - - 3.3 数据输出模块 . 253.3.1 DAC0832芯片介绍 . 25 3.3.2 DACO832接线图 . 26
10、 4 仿真结果. 275 硬件连接实物图. 336 结论. 35 致谢. 36参考文献 . 36 附录. 36前言随着计算机技术的发展与普及,数字设备正越来越多地取代模拟设备,在生产过程控制和科学研究等广泛的领域中,计算机测控技术正发挥着越来越重要的作用。然而,外部世界的大部分信息是以连续变化的物理量形式出现的,例如温度、压力、位移、速度等。要将这些信息送入计算机进行处理,就必须先将这些连续的物理量离散化,并进行量化编码,从而变成数字量,这个过程就是数据采集。它是计算机在监测、管理和控制一个系统的过程中,取得原始数据的主要手段。数据采集系统是计算机智能仪器与外界物理世界联系的桥梁,是获取信息的
11、重要途径。数据采集技术是信息科学的重要组成部分,已广泛应用于国民经济和国防建设的各个领域,并且随着科学技术的发展,尤其是计算机技术的发展与普及,数据采集技术将有广阔的发展前景。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 39 页 - - - - - - - - - 实现数据采集系统的控制方法很多,可以用标准逻辑器件、可编程序控制器PLC 、单片机等方案来实现。但是这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了功能修改及系统调试的困难。但是EDA
12、利用 VHDL语言来设计实现该系统,将更加直观,少了汇编语言的复杂、烦琐,其自顶而下的设计方法可以对模型进行及时修改,以改进系统或子系统的功能,更正设计错误,从而提高目标系统的工作速度,减小面积耗用,降低功耗和成本等。同时,避免了传统的数字电子系统设计中电路设计复杂、调试十分困难、对错误的查找和修改的不便等问题。基于 CPLD FPGA 设计的数字电子系统,具有体积小、功耗低、可靠性高、易于修改、设计周期短等特点, 用 CPLD FPGA 代替中小规模逻辑器件构成数字系统是发展方向。随着电子技术的发展,在今后的电子产品的研发中,EDA 技术具有更好的开发手段和性价比,具有广泛的市场应用前景。本
13、次设计系统以一路数据的采集及监测为例,介绍了可编程逻辑器件在模数转换,数模转换 ,数据监控与处理的设计方法。本系统主要是由五大部分组成:数据输入单元、数据处理单元、数据输出单元。其中包括七个功能模块:模数转换模块ADC0809、 AD 转换控制模块、 数据运算与处理模块、DA 转换控制模块、 键盘显示控制模块、数码管显示模块、数模转换模块DAC0832。系统主要实现以下功能:首先对ADC0809的某路通道的数值进行AD 转换为十二位的电压BCD 码显示,再对此值与十二位预置电压进行差值运算,然后将所得用十二位BCD码显示的差值分三段分别转化为数码管显示形式,最后数码管循环显示输入电压、差值、采
14、集个数。在数据处理完之后,将数据输出给 DAC0832,再将数字信号转换为模拟量输出,输出值与数码管显示的差值电压相同。1. EDA技术及开发环境1.1 EDA技术EDA 是电子设计自动化( Electronic Design Automation)的缩写,在 20 世纪90 年代初从计算机辅助设计 (CAD ) 、 计算机辅助制造(CAM ) 、 计算机辅助测试(CAT)和计算机辅助工程( CAE )的概念发展而来的。 EDA技术就是以计算机为工具,设计者在 EDA 软件平台上,用硬件描述语言HDL 完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至
15、对于特定目标芯片的适配编译、逻辑映射和编程下载等工作1。20 世纪 70 年代,可编程逻辑技术及其器件问世, 计算机作为一种运算工具已在科研领域得到广泛应用。电子线路的CAD( 计算机辅助设计 )是 EDA 发展的初级阶段,是高级 EDA 系统的重要组成部分。它利用计算机的图形编辑、分析和存储等能力,协助工程师设计电子系统的电路图、印制电路板和集成电路板图。20 世纪 80 年代,集成电路设计进入了CMOS 时代。复杂课编程逻辑器件已进入商业应用,相应的辅助设计软件也已投入使用。而在80 年代末,出现了FPGA ,CAE 、CAD 技术的应用更为广名师资料总结 - - -精品资料欢迎下载 -
16、- - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 39 页 - - - - - - - - - 泛,他们在 PCB 设计方面的原理图输入、 自动布局布线及 PCB 分析以及逻辑设计、 逻辑仿真、布尔方程综合和化简等方面担任了重要角色。20 世纪 90 年代,随着硬件描述语言的标准化得到进一步的确立,电子设计自动化技术的应用和发展,促进了EDA 技术的形成。各 EDA 公司致力于推出兼容各种硬件实现方案和支持标准硬件描述语言的EDA 工具的研究,有效的将EDA 技术推向了成熟。进入21 世纪后, EDA 技术得到了更大的
17、发展和应用。EDA 技术将计算机软件、 硬件、 微电子技术交叉运用的现代化电子学科,它将 CAD(计算机辅助设计)、CAM (计算机辅助制造)、CAT(计算机辅助测试)和CAE (计算机辅助工程) 集于一体并深入发展。 EDA 技术就是以计算机为工作平台、以EDA 软件工具为开发环境、以硬件描述语言为设计语言、以ASIC (Application Specific Integrate Circuits)为实现载体的电子产品自动化设计过程。在 EDA 软件平台上, 根据原理图或硬件描述语言HDL 完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真、目标芯片的适配编译、逻辑
18、映射和编程下载等工作。设计者的工作仅限于利用软件的方式来完成对系统硬件功能的描述,在 EDA 工具的帮助下,应用相应的CPLD/FPGA(Complex Programmable Logic Devices/Field Programmable Gate Array)器件,就可以得到最后的设计结果。尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。此外,从应用的广度和深度来说,由于电子信息领域的全面数字化,基于EDA 的数字系统的设计技术具有更大的应用市场和更紧迫的需求性。随着电子技术的发展,应用系统向小型化,快速化,大容量,重量轻的方向发展。数字系统的设计已从芯片组合化
19、设计走向单片系统的设计。电子设计自动化是以计算机科学和微电子技术发展为先导,汇集了计算机图形学,拓扑逻辑学,微电子工艺与结构学和计算数学等多种计算机应用学科最新成果的先进技术,它是在先进的计算机平台上开发出来的一整套实现电子系统或电子产品自动化设计的技术,是当代电子设计技术的主流。其特点如下:(1)采用硬件描述语言作为设计输入。用VHDL 对数字电子系统进行抽象的行为与功能描述以及具体的内部线路结构描述,从而可以在电子设计的各个阶段,各个层次进行计算机模拟验证,保证设计的正确性,可以大大降低设计成本,缩短设计周期。(2)库的引入。在各类库的引入下,使EDA 工具能够完成各种自动设计过程(3)设
20、计文档的管理。(4)强大的系统建模、电路仿真功能。EDA 仿真测试技术只需通过计算机,就能对所设计电子系统从各个不同层次的系统性能特点完成一系列准确的测试与仿真操作,这极大地提高了大规模系统电子设计的自动化程度。(5)开发技术的标准化、规范化以及IP 核的可重用性。 EDA 软件平台支持任何标准化的设计语言, 它的设计成果是通用性的, IP 核具有规范的接口协议。 良好的可移名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 39 页 - - - - - - - - - 植性
21、与可测试性,为高效高质的系统开发提供了可靠的保证。(6)适用于高效率大规模系统设计的自顶向下设计方案,能将所有设计环节纳入统一的自顶向下的设计方案中。(7)全方位的利用计算机自动设计、仿真和测试技术。EDA 不但在整个设计流程上充分利用计算机的自动设计能力,在各个层次上利用计算机完成不同内容的仿真模拟,而且在系统板设计结束后仍可利计算机对硬件系统进行完整的测试(边界扫描技术) 。(8)对设计者的硬件知识和硬件经验要求低。EDA 技术的标准化 HDL 设计语言与设计平台对具体硬件的无关性,使设计者能更大程度地将自己的才智和创造力集中在设计项目性能的提高和成本的降低上,而将更具体的硬件实现工作让专
22、门部门来完成。(9)纯硬件系统的高可靠性。1.2 VHDL VHDL 语言是随着集成电路系统化和高度集成化的发展而逐步发展起来的,是一种用于数字系统设计和测试的硬件描述语言。对于小规模的数字集成电路,通常可以用传统的设计输入方法(如原理图输入)来完成,并进行模拟仿真。但纯原理图输入方式对于大型、复杂的系统,由于种种条件和环境的制约,其工作效率较低,而且容易出错,暴露出多种弊端。在信息技术高速发展的今天,对集成电路提出了高集成度、系统化、微尺寸、微功耗的要求,因此,高密度可编程逻辑器件和VHDL 便应运而生2。VHDL 主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句
23、外, VHDL的语言形式和描述风格与句法十分类似于一般的计算机高级语言。应用 VHDL 进行工程设计的优点是多方面的,具体如下:(1)与其他硬件描述语言相比,VHDL 有更强大的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件的结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2)VHDL 最初是作为一种仿真标准格式出现的,因此 VHDL 既是一种硬件电路描述和设计语言,也是一种标准的网表格式,还是一种仿真语言。它具有丰富的仿真语句和库函数,设计者可以在系统设计的早期随时对设计进行仿真模拟,查验所设计系统的功能特性,从而对整个工程设计的结构
24、和功能可行性作出判断。(3)VHDL 的行为描述能力和程序结构决定了它具有支持大规模设计和分解已有设计的再利用功能, 满足了大规模系统设计要有多个开发组共同进行工作来实现的这种市场需求。 VHDL 中设计实体的概念、程序包的概念、设计库的概念为设计的分解和并行工作提供了有力的支持。(4)对于 VHDL 完成的一个确定设计, 可以利用 EDA 工具进行逻辑综合和优化,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 39 页 - - - - - - - - - 并自动将 VH
25、DL描述转化成门级网表,生成一个更有效、更高速的电路系统;此外,设计还可以容易地从综合优化后的电路获得设计信息,返回去更新修改VHDL设计描述,使之更为完善。这种方式突破了门级设计的瓶颈,极大地减少了电路设计的时间和可能发生的错误,降低了开发成本。(5)VHDL 对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管最终设计实现的目标器件是什么,而进行独立的设计。正因为VHDL的硬件描述与具体的工艺技术和硬件结构无关, VHDL 设计程序的硬件实现目标器件有广阔的选择范围,其中包括各个系列的CPLD 、FPGA 及各种门阵列实现目标。(6)由于 VHDL 具有类属描述语句和子程序调用等
26、功能,对于已完成的设计,在不改变原程序的条件下,只需改变端口类型参量或函数,就能轻易地改变设计的规模和结构。1.3 EDA技术的开发环境MAXPLUSII Max+plusII(或写成 Maxplus2,或 MP2) 是 Altera 公司推出的的第三代PLD 开发系统(Altera第四代 PLD 开发系统被称为: QuartusII,主要用于设计新器件和大规模CPLD/FPGA).使用 MAX+PLUSII的设计者不需精通器件内部的复杂结构。设计者可以用自己熟悉的设计工具(如原理图输入或硬件描述语言)建立设计,MAXPLUSII把这些设计转自动换成最终所需的格式。其设计速度非常快。 对于一般
27、几千门的电路设计,使用 MAXPLUSII ,从设计输入到器件编程完毕,用户拿到设计好的逻辑电路,大约只需几小时。设计处理一般在数分钟内内完成。 特别是在原理图输入等方面, MAXPLUSII被公认为是最易使用,人机界面最友善的PLD开发软件,特别适合初学者使用。MAXPLUSII软件是一款高效的、非常灵活的数字电路开发设计软件,它提供了多种输入方法供设计者选用,利用合适的输入方法设计完数字系统之后,设计者可利用逻辑综合工具进行逻辑综合,并可以用仿真器进行软件仿真,使设计者能够尽早发现设计中的错误,缩短设计周期。首先我们可以先看一看用FPGA CPLD 开发工具进行电路设计的一般流程:1. 设
28、计输入。在传统设计中, 设计人员是应用传统的原理图输入方法来开始设计的。自 90 年代初, Verilog 、VHDL 、AHDL 等硬件描述语言的输入方法在大规模设计中得到了广泛应用。2. 前仿真(功能仿真) 。设计的电路必须在布局布线前验证电路功能是否有效。(ASCI 设计中,这一步骤称为第一次Sign-off )PLD 设计中,有时跳过这一步。3. 设计编译。 设计输入之后就有一个从高层次系统行为设计向门级逻辑电路设转化翻译过程,即把设计输入的某种或某几种数据格式(网表)转化为软件可识别的某种数据格式(网表)。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - -
29、- - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 39 页 - - - - - - - - - 4. 优化。对于上述综合生成的网表,根据布尔方程功能等效的原则,用更小更快的综合结果代替一些复杂的单元,并与指定的库映射生成新的网表,这是减小电路规模的一条必由之路。5. 布局布线。在PLD 设计中, 3-5步可以用PLD厂家提供的开发软件(如Maxplus2)自动一次完成。6. 后仿真(时序仿真)需要利用在布局布线中获得的精确参数再次验证电路的时序。(ASCI 设计中,这一步骤称为第二次Sign off) 。7. 生产。布线和后仿真完成之后,就可以开始A
30、SCI 或 PLD 芯片的投产。同样,使用 Maxplus2基本上也是有以上几个步骤,但可简化为:(1)设计输入(2)设计编译(3)设计仿真(4)下载2.数据采集系统的研究分析及设计思路2.1 数据采集系统的研究与分析数据采集技术 (Data Acquisition)是信息科学的一个重要分支,它研究信息数据的采集、存贮、处理以及控制等作业。在智能仪器、信号处理以及工业自动控制等领域,都存在着数据的测量与控制问题。将外部世界存在的温度、压力、流量、位移以及角度等模拟量( Analog Signal)转换为数字信号( Digital Signal), 在收集到计算机并进一步予以显示、处理、传输与记
31、录这一过程,即称为“数据采集”3。相应的系统即为数据采集系统( Data Acquisition System,简称 DAS ) 。数据采集是计算机在监测、管理和控制一个系统的过程中,取得原始数据的主要手段。数据采集系统是计算机智能仪器与外界物理世界联系的桥梁,是获取信息的重要途径。数据采集技术是信息科学的重要组成部分,已广泛应用于国民经济和国防建设的各个领域,并且随着科学技术的发展,尤其是计算机技术的发展与普及,数据采集技术将有广阔的发展前景4。传统的数据采集系统,通常采用单片机或DSP 作为控制模块,控制ADC ,存储器和其他外围电路的工作。随着数据采集对速度性能的要求越来越高,传统的采集
32、系统的弊端越来越明显。单片机的时钟频率较低且用软件实现数据采集,使得采集速度和效率降低,软件运行时间在整个采样时间中占很大的比例。而EDA 技术的 FPGA (现场可编程门阵列 )有单片机无法比拟的优势: FPGA 时钟频率高, 内部延时小, 全部控制逻辑由硬件完成,速度快、效率高。随着复杂可编程逻辑器件的广泛应用,以EDA 工具作名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 39 页 - - - - - - - - - 为开发手段,运用VHDL语言来设计将使整个系统
33、大大简化,从而提高整体的性能和可靠性。因此利用VHDL硬件描述语言来设计数据采集系统是一个比较合理的方案。这个系统的设计对以后工作及生活具有相当的意义,它不仅在工业控制中应用广泛,而且还可以用来解决生活中的一些小问题。在电子系统非常广泛应用领域内,到处可见到对信号进行模数 / 数模转换的数字电路。在ABS 系统(汽车防抱制动系统) 、计算机技术、GPRS 环抱系统、工业自动控制系统等系统中,数据采集系统都有着举足轻重的作用5。数字技术及计算机技术的发展使得系统的设计更理想化,以实现更多的功能。同时,还进一步提高了系统的可靠性和工作效率。2.2 数据采集系统的设计思路系统主要实现以下功能: 数据
34、采集控制系统是对生产过程或科学实验中各种物理量进行实时采集、测试和反馈控制的闭环系统。它在工业控制、军事电子设备医学监护等许多领域发挥着重要作用。本设计要求用一个CPLD/FPGA、模数转换器 ADC 和数模转换器 DAC 构成了一个数据采集系统,并用CPLD/FPGA实现数据采集中对A/D转换、数据运算、 D/A转换以及有关据显示的控制。系统的组成框图如图2.1 所示,其功能如下:(1)、系统按一定速率采集输入电压U1 ,经 ADC0809转换为 8 位数字量 DATA; (2)、输入数据与通过预置按键输入数据采集控制器内的标准数据相减,求得带极性位的差值 U(数字量 );差值之绝对值送至D
35、AC0832转换为 U,它和特定的极性判别电路共同输出 U。(3) 数据采集和处理均在数据采集系统控制器的管理下有序进行。工作速率由时钟信号 CLK 的速率决定。CPLD/FPGA数据采集控制器DAC0832 ADC0809 U1 DOUT U 开关和控制键F 8. 8 8 CLK ADDA ALE CE START EOC DATA 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 39 页 - - - - - - - - - 图 2.1 系统组成框图编译和仿真时要选择
36、合适的芯片,不同的芯片其速度等级是不一样的。选择速度等级高的芯片,仿真时延就小,这样便于分析时序波形。否则,将给时序分析带来一些不必要的麻烦。编译结束时,要注意认真分析芯片资源的利用情况,这其中主要包括芯片管脚和逻辑单元的利用率如果没有充分利用资源就要重新选择芯片,争取实现性价比的最大化。所以大致流程是先进行主程序的输入/ 输出模块, 数据处理及监控模块的设计。然后对各程序进行修改、编译、仿真,并对出现问题的程序进行程序修改和调试。3.数据采集系统模块的相关介绍与分析3.1 数据输入模块3.1.1数据输入单元设计数据输入单元的设计是通过ADC0809的常规应用来实现的,其具体的实现如图3.1
37、所示。其中 ADC0809的 CLOCK 信号是由外部输入的。 此信号的输入没有固定的要求,只要足够高就可以了,通常信号频率为640KHZ 、750KHZ等。ADC0809的START信号也是由外部接入的,但是此信号的频率不宜过高,要小于1KHZ 。将ADC0809的输出作为 FPGA 的输入。ADC0809是一种比较典型的8 位 8 通道逐次逼近式 A/D转换器 CMOS 工艺,可实现 8 路模拟信号的分时采集, 片内有 8 路模拟选通开关, 以及相应的通道地址锁存用译码电路,其转换时间为100s 左右,采用双排 28 引脚封装。 ADC0809的工作过程是:首先输入3 位地址,并使 ALE
38、=1 ,将地址存入地址锁存器中。此地址经译码选通 8 路模拟输入之一到比较器。START 上升沿将逐次逼近寄存器复位。下降沿启动AD 转换,之后 EOC 输出信号变低,指示转换正在进行。直到AD 转换完成, EOC变为高电平,指示 AD 转换结束,结果数据已存入锁存器, 这个信号可用作中断申请。当 OE 输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。其引脚说明如下:IN0 IN7 :8 路模拟量输入通道ADDA ADDC :地址线用于选择模拟量输入通道ALE :地址锁存允许信号START :转换启动信号D0 D7 :数据输出线OE: 输出允许信号,低电平允许转换结果输出名师资
39、料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 39 页 - - - - - - - - - CLOCK :时钟信号输入引脚,通常使用500KHz EOC :转换结束信号,为0 代表正在转换, 1 代表转换结束Vcc:5V 电压3.1.2 ADC0809接线图此电路图主要实现将八路输入模拟信号转换为数字信号,为数据处理及监控模块提供输入信号。图 3.1 ADC0809接线图3.1.3模块功能实现此系统是用 ADC0809对模拟信号进行采样,转换为数字信号,由可编程逻辑器件读入
40、,再送到DAC0832 ,将数字信号转换为模拟信号。用可编程逻辑器件实现对ADC0809的控制,由于采用查询信号EOC 的方式,所以可达到ADC0809的最高速度 (注: ADC0809和 DAC0832都不能对负电压进行操作) 。 主要包括分频模块和ADC控制模块。总体框图如图3.2 所示:图中 OE 为输出允许信号,高电平允许转换结果输出 ;EOC 为转换结束信号,为0 代表正在转换, 1 代表转换结束; DIN7.0 为八路模拟量输入通道; DOUT7.0为转换后的八路数字信号输出通道。CLK START OE IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 ADDA A
41、DDB ADDC ALE GND VOCD0 D1 D2 D3 D4 D5 D6 D7 EOC REF+ REF- +5V 17 D0 14 D1 15 D2 8 D3 18 D4 19 D5 20 D6 21 D7 7 D25 12 VCC16 13 A0 25 A1 24 A2 23 ADCALE 22 26 27 28 1 2 3 4 5 R48 10K R47 10K +5V ALE ADCALE ADCOE ADC0809N 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第
42、13 页,共 39 页 - - - - - - - - - 图 3.2 总体框图3.2 数据采集系统各模块分析3.2.1 A/D转换控制模块ADZHKZ的设计ADC0809模数转换的控制 : ADC0809是 CMOS 的 8 位 A/D转换器,片内有 8 路模拟开关,可控制8 个模拟量中的一个进入转换器中。ADC0809的分辨率为 8 位,转换时间约 100 s,含锁存控制的 8 路多路开关,输出由三态缓冲器控制, 单 5 V 电源供电。图 3.3 是 ADC0809的管脚及主要控制信号时序图。图 3.3 ADC0809的管脚及主要控制信号的时序图对于 ADC0809模数转换的控制程序段的V
43、HDL 设计,根据 ADC0809的 A/D转换控制要求,我们可用一个状态机来实现,其状态转换如图3.4 所示。2NI 1NI 0NI ADDA BDDA CDDA ELA 0D 1D 2D 3D 7D -FER 5D 3NI 4NI 5NI 6NI 7NI TRAST COE 4D EO KLC CCV +FER 6D DNG ADC0809 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 39 页 - - - - - - - - - 图 3.4 ADC0809工作时
44、的状态转换图转换后数据的BCD 码转换处理 :表 3.1 是在 ADC0809的基准电压 (Vref) 为 5.12 V时,模拟输入电压与输出电压的对应关系其中最小电压准位是5/28=5/256=0.2 V。这样,当由ADC0809的 D7.0 收到的数据信号是10000110(即 86H) 时,则对照表3.1 时,高 4位 1000是 2.56 V ,而低 4 位 0110是 0.12 V ,所以最后的电压输出结果是2.56 V+0.12 V=2.68 V。表 3.1 ADC0809模拟输入电压与输出电压的对应关系进制参考电压( Vref )为 5V 16 2 高 4 位电压低 4 位电压0
45、 0000 0.00 0.00 1 0001 0.32 0.02 2 0010 0.64 0.04 3 0011 0.96 0.06 4 0100 1.28 0.08 5 0101 1.60 0.10 6 0110 1.92 0.12 7 0111 2.24 0.14 ST0 ST1 ST2 ST3 ST6 ST5 ST4 ALE= 0 START= 0LOCK= 0CEN= 0ALE= 1 START= 0OE= 0 LOCK= 0CEN= 0ALE= 0 START= 0OE= 0 LOCK= 1CEN= 0EOC= 0EOC= 1ALE= 0 START= 0OE= 1 LOCK= 0C
46、EN= 1ALE= 0 START= 1OE= 0 LOCK= 0CEN= 0ALE= 0 START= 0OE= 0 LOCK= 0CEN= 0ALE= 0 START= 0OE= 0 LOCK= 0CEN= 0名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 39 页 - - - - - - - - - 8 1000 2.56 0.16 9 1001 2.88 0.18 A 1010 3.20 0.20 B 1011 3.52 0.22 C 1100 3.84 0.2
47、4 D 1101 4.16 0.26 E 1110 4.48 0.28 F 1111 4.80 0.30 图 3.5 BCD加法示意图为了方便后续的电压数据显示,我们应将输出电压表示成12 位的 BCD 码形式。如上述的 2.56 V 是 0010 0101 0110,0.12 V 是 0000 0001 0010,所以相加的结果 2.68 V是 0010 0110 1000,因此必须设计一个12 位的 BCD 码加法程序。图 3.5 是 2.56+0.18=2.74的二进制的 BCD 加法示意图。从图中可以看出,二进制 BCD 码相加时,由最低位4 位加起,且每 4 位相加的结果超过10 时
48、需作进位操作。A/D转换控制模块 ADZHKZ的 VHDL 源程序 : 进位1 0010 0101 0110 + 0000 0001 1000 0010 0111 0100 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 39 页 - - - - - - - - - 图 3.6 A/D转换控制模块符号编辑文件-ADZHKZ.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED
49、.ALL; ENTITY ADZHKZ IS PORT(D: IN STD_LOGIC_VECTOR(7 DOWNTO 0); -0809的 8 位转换数据输出RST: IN STD_LOGIC; - 复位信号CLK: IN STD_LOGIC; - 转换工作时钟信号EOC: IN STD_LOGIC; -0809的转换结束控制信号ALE: OUT STD_LOGIC; -0809的通道选择地址锁存信号START: OUT STD_LOGIC; -0809的转换启动控制信号OE: OUT STD_LOGIC; -0809的输出使能控制信号ADDA: OUT STD_LOGIC; -0809的通
50、道选择控制信号BCDOUT: OUT STD_LOGIC_VECTOR(11 DOWNTO 0); - 来自 0809的数据经BCD 转换后的输出); END ENTITY ADZHKZ; ARCHITECTURE ART OF ADZHKZ IS TYPE STATES IS (ST0,ST1 ,ST2 ,ST3 ,ST4 ,ST5 ,ST6); SIGNAL CURRENT_STATE,NEXT_STATE: STATES; SIGNAL REGL: STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL LOCK0,LOCK1: STD_LOGIC; - 转换后数据输出