1、陕西理工学院毕业设计基于 ADuC845 的数据采集系统设计李璐(陕西理工学院 物理与电信工程学院 电子信息工程专业 11级 2班,陕西 汉中 723003)指导教师:秦伟摘要本文设计使用 ADuC845单片机对低频电压信号进行 16 位高精度数据采集,其系统软件设计部分用 C语言在 Keil 上进行编程,使用 VC编写 USB 上位机程序,完成数据传输,系统硬件通过 ADuC845 内部模数转换模块将从外界采集到的电压信号经过串口 RS232发送到 PC 机上进行实时显示。该设计实现了一个基于 ADuC845单片机的数据采集系统的基本功能,分辨率可达到 1/5000,能 够实现 14 位的数
2、据输出。该系统的采集精度大大提高, 更加适用于高速度、高精度数据采集的实际工业测控。关键词 数据采集;ADuC845;模数转换;基准电压陕西理工学院毕业设计Data Acquisition System Design Based On ADuC845LiLu(Grade 2011,Class 2,Major electronics and information engineering ,School of Physics and Telecommunication engineering,Shaanxi University of Technology,Hanzhong 723000,Sha
3、nxi)Tutor: Qin WeiAbstract:This article is based on ADuC845 single chip design, 16 bit high precision data acquisition for low frequency voltage signal. The software design of the system is programmed with C language in Keil, VC PC program written using USB to complete parametric transmission and gr
4、aphics display, the hardware of the system is collected from the outside to the through the serial ADuC845 of the serial RS323 to the PC. The basic function of data acquisition system based on ADuC845 MCU is realized, resolution can reach 1/5000, can achieve 14 bit data output. The biggest advantage
5、 of the design is that the accuracy of the system is greatly improved, and more suitable for the actual industrial measurement and control of high speed and accuracy data acquisition.Key words: Data acquisition system; ADuC845; Analog to digital conversion; Reference voltage陕西理工学院毕业设计目 录1.引言 .11.1 课
6、题背景及研究意义 .11.1.1 课题背景 .11.1.2 研究意义 .11.2 课题的主要研究内容 .11.3 本章总结 .12.系统总体设计 .22.1 数据采集系统的原理 .22.2 系统设计要求及性能指标 .22.2.1 系统设计要求 .22.2.2 系统设计性能指标 .22.3 系统结构设计方案选择 .32.4 本章小结 .33.系统硬件设计实现 .43.1 系统硬件设计方案 .43.2 系统核心处理器选择 .43.3 单元模块电路设计 .53.3.1 2.5V 基准电压 .53.3.2 滑动变阻器模拟输入 .53.3.3 按键电路 .63.3.4 LED 显示电路 .73.3.5
7、USB 协议转串口协议 .83.3.6 复位电路 .93.3.7 硬件最小系统设计 .103.4 系统硬件总体设计 .113.5 本章小结 .114 系统软件设计实现 .124.1 系统软件开发工具 .124.2 系统软件设计分析 .124.3 软件设计的原则和编程方法 .134.4 系统功能模块子程序设计 .144.5 上位机采集系统软件设计 .154.6 本章总结 .155.系统调试 .175.1 系统硬件调试 .17陕西理工学院毕业设计5.1.1 系统硬件调试方法和调试过程 .175.1.2 系统硬件调试结果 .175.2 系统软件调试 .175.2.1 系统软件调试方法和调试过程 .1
8、75.2.2 系统软件调试结果 .175.3 系统软硬件联调 .185.4 系统测试数据分析 .195.4 本章总结 .196. 总结 .206.1 数据采集系统设计成果 .206.2 展望 .206.3 本章总结 .20致谢 .21参考文献 .22附录 A 外文翻译 .23附录 B 元器件清单 .31附录 C 系统硬件电路图 .32附录 D 实物图 .33附录 E 源程序 .34陕西理工学院毕业设计第 1 页 共 41 页1.引言1.1 课题背景及研究意义1.1.1 课题背景本课题研究的数据采集系统主要用于工业测控、医疗仪器以及消费电子产品中。其中,随着工业测控的发展,其工业测控环境越来越复
9、杂,传统工业测控的数据采集系统已经不能满足人们对所采集到的数据的精确度和稳定度的要求。数据采集是信息处理中不可缺少的重要组成部分,在工业测控、医疗仪器以及消费电子产品中,都对数据采集系统的精度提出了更高的要求。本课题设计的数据采集系统是基于以 ADuC845单片机为核心的高精度数据采集系统,ADuC845非常适用于精密仪器仪表,用于对温度、湿度、压力、应变信号等的数据采集及处理,该系统能够适应环境复杂的工业测控现场,很好的解决了工业控制采集信号的准确性和稳定性。研究此数据采集系统可以很好地了解和学习 ADuC845芯片的基本原理、性能以及其应用领域,熟悉 ADuC845单片机的工作方式,通过实
10、验提高对 ADuC845芯片的理解,了解 ADuC845和传感器之间的接口方法,掌握输入程序的设计、调试方法。1.1.2 研究意义在工业测控中,数据采集十分重要,我们需要对大量的数据进行分析比较,然而,工业测控环境又十分复杂,受到光强、温度、湿度等众多因素的干扰,这对我们所采集到的数据有很大的影响,严重影响数据的精确度和稳定度,鉴于这些问题,本课题设计了一个基于 ADuC845单片机的数据采集系统,数据采集系统能够较好的克服复杂的工业测控环境对采集数据的精确度和稳定度的干扰,这样可以更好的测得更加精确和稳定的数据,使得工业测控可以更快更好的发展。1.2 课题的主要研究内容受 A/D转换器芯片发
11、展水平的限制,目前的数据采集系统很难同时做到高精度和高速度的数据采集,本课题主要是设计一个基于 ADuC845单片机的高精度数据采集系统,该控制器具有数据采集、显示、记录等功能,能够很好地改善以往的数据采集系统在高精度和高速度之间的矛盾。根据系统要求选用合适的模块来组建硬件平台,利用 ADuC845单片机 1来实现数据采集和控制信号的转换。设计系统模拟信号调试电路、复位电路、基准电压电路、按键电路、LED显示电路以及串口通信电路。软件部分采用模块化的设计方法,通过编写各个功能模块来实现相应的功能,程序采用 C语言进行设计。主要包含 AD转换子程序、数据采集子程序、通信模块子程序、以及键盘扫描等
12、子程序。在软件部分同时给出相应的编译与仿真软件的介绍。在系统硬件设计基本完成的基础上,根据数据采集系统的功能要求,进行系统软件设计,在单片机集成开发环境上进行系统软件的开发工作,系统的软件设计主要包括各个模块的驱动程序的设计,主程序部分主要完成系统对各个硬件的初始化工作,子程序主要是完成和单片机进行交互并实现本部分的功能。1.3 本章总结受 A/D转换器芯片发展水平的限制,目前的数据采集系统很难同时做到高精度和高速度的数据采集,本课题主要是设计一个基于 ADuC845单片机的高精度数据采集系统,该控制器具有数据采集、显示、记录等功能,能够很好地改善以往的数据采集系统在高精度和高速度之间的矛盾。
13、陕西理工学院毕业设计第 2 页 共 41 页2.系统总体设计2.1 数据采集系统的原理数据采集是指从传感器和其他待测设备等模拟和数字被测单元中自动采集非电量或者电量信号,然后将其发送到上位机中进行分析处理。一般情况下,一定要在数据采集设备进行信号采集之前对传感器信号进行调制,其中包括对传感器信号进行增益或者衰减以及隔离,放大,还有滤波等等。对于某些传感器,还需要对其提供激励信号。一个完整的数据采集系统主要是由信号调理、采样保持、模数转换以及定时计数器等部分组成。一个数据采集系统的任务就是对从传感器输出的模拟信号进行模数转换,将采集到的模拟信号转换成数字信号,然后把这些转换后的数字信号送入到计算
14、机或者其他专用信号处理设备中进行数据分析处理,并且可以按需要的形式输出处理结果 2。 数据采集系统大致可以分为三种:基于通用型微型计算机的数据采集系统,这种系统的主要功能是将采集器采集到的信号通过相应的总线接口扩展电路送入微型计算机内存中进行数据处理,它主要包含以下几个特点:(1)较强的软件、硬件支持。通用型微型计算机系统所有的软件、硬件资源都可以用来支持整个系统的工作。(2)具备自主开发能力。(3)系统的软件硬件的应用/配置比很小,在第二次开发时软件和硬件的扩展功能较好。(4)在复杂的工业环境中运行的可靠性比较差,对其安放的应用环境要求比较高。基于单片机的数据采集系统,主要是由单片机和其他一
15、些外围芯片所构成的数据采集系统,这是近年来微型计算机技术快速发展的结果,目前,主要由51、FPGA 、CPLD、ARM 、 DSP 等芯片构成,它具有以下一些特点:(1)系统不具有自主开发能力。系统的软件和硬件开发必须借助相应的开发工具才能完成。(2)系统的软件和硬件设计与系统配置规模都是以满足数据采集系统功能要求为原则,因此,系统的软件硬件的应用配置比接近于 1.(3)可靠性好、使用方便。应用程序在 ROM 中运行不会因为外界的干扰而被破坏,而且上电后立即进入用户状态。基于混合型计算机的数据采集系统,这是一种近几年来在计算机应用领域中迅速发展的一种系统结构形式。它主要是由通用型计算机(PC
16、机)与单片机通过标准总线(如RS232、 RS485、CAN 、USB 等)相连而成。单片机和它的外围电路与设备所组成的部分是为数据采集等功能的要求配置的,主机则是用来实现数据采集系统的人机对话、大容量的计算、存储记录、打印以及图形显示等。混合型计算机数据采集系统具有以下特点:(1)一般都具备自主开发能力。(2)系统的配置比较灵活,比较容易构成各种大中型测控系统。(3)主机可以构成各种局域网络系统。(4)合理充分的利用主机所提供的资源,但不会占有主机的全部 CPU 时间。2.2 系统设计要求及性能指标2.2.1 系统设计要求数据采集是信息处理中不可缺少的重要组成部分,在工业测控、医疗仪器以及消
17、费电子产品中,都对数据采集系统的精度提出了更高的要求。本课题设计了一种以 ADuC845单片机为核心的高精度数据采集系统。ADuC845 单片机内部带有 24 位-ADC,非常适用于精密仪器仪表,用于对温度、湿度、压力、应变信号等的数据采集和处理。陕西理工学院毕业设计第 3 页 共 41 页2.2.2 系统设计性能指标(1) AD 转换有效分辨精度1/5000 ,AD 采样速率在 10100Hz;(2) 数据输出:RS232,16 位数据输出,可以和 PLC 和电脑连接通信;(3) 可通过上位机 PC 启停 AD 数据采集,采集数据在计算机上实时显示。2.3 系统结构设计方案选择方案一:采用以
18、 STC89C52 单片机作为控制器的核心器件,以 ADC0809 作为 A/D 模数转换器的数据采集系统,系统可通过 RS485 总线将采集到的数据传输到上位机从而实现对数据的采集和控制。方案二:采用以 ADuC845 单片机为核心和其他芯片构成的多路数据采集系统,可通过上位机 PC 启停 AD 数据采集,使其采集的数据在计算机上实时显示。通过对比两个设计方案,由于以 STC89C52 单片机和 ADC0809 等外围电路所组成的数据采集系统对数据处理的精度远小于以 ADuC845 单片机为核心处理器的数据采集系统对数据处理的精度,ADuC845 单片机可达到 24 位高精度 3的数据输出,
19、因此,最终选择了以 ADuC845 单片机作为控制器的核心器件的数据采集系统的方案二。2.4 本章小结本章主要是对数据采集系统的设计方案的分析与选择以及对该数据采集系统的总体设计的一个简单介绍,主要是从它的系统设计要求、系统设计性能指标等方面对该系统设计的一个总体介绍,同时对比两种不同的设计方案,选择更加合适的设计方案,使人们对该数据采集系统有一个总体认识。陕西理工学院毕业设计第 4 页 共 41 页3.系统硬件设计实现3.1 系统硬件设计方案根据系统设计要求选择合适的模块来组建硬件平台,利用 ADuC845单片机来实现数据采集和控制信号的转换。设计系统模拟信号采集电路、复位电路、基准电压电路
20、、按键电路、LED 显示电路以及串口通信电路等模块电路。系统硬件设计框图如图 3.1所示复位电路模块ADuC845信号调理模块基准电压模块RS232 串口通信按键电路模块LED 显示电路模块PC 机图 3.1 系统硬件框图3.2 系统核心处理器选择ADI 公司的 MicroConverter 数据采集与处理系统芯片(SOC) ADuC845 芯片在内部集成了 ADI 公司的精密数据转换器,其可以对微控制器(MCU) 和闪速存储器进行编程,以便为需要精确测量宽动态范围低频信号的设计者提供更好的解决方案。 ADuC845 是一个高性能的 24 位数据采集与处理系统 4,它内部集成有两个高分辨率的模
21、拟转换器(ADC)以及 10 或 8 通道输入多路复用器。与此同时,它还可以提供 62K字节的闪速/电可擦除程序存储器, 4K 字节闪速/电可擦除数据存储器和 2034 字节的数据RAM。ADuC845 可以通过一个 32KHz 的外部晶振使其内部锁相环 PLL 产生一个 12.58MHz的高频时钟信号,该时钟可以通过一个从微控制器(MCU)核心时钟工作频率分离的可编程时钟发送。芯片内部的微控制器是一个被优化的但指令周期为 8052 的闪存 MCU。这个芯片的两个相互独立的 ADC 由一个输入多路复用器和一个温度传感器以及一个可以直接测量低幅度信号的可编程增益放大器组成,主 ADC 和辅助 A
22、DC 都是采用高频“斩波”技陕西理工学院毕业设计第 5 页 共 41 页术来为其提供直流失调以及失调漂移的指标,因此其非常适合使用在低温漂而且对噪声抑制和以及对电磁干扰能力要求比较高的应用场合。ADuC845 具有串行下载和调度模式 5,可通过 EA 引脚提供引脚竞争模式,同时支持Quick Start 开发系统和一些较低成本的软件以及硬件工具。ADuC845 的内部主要通过两个多通道都可以达到 24 位分辨率的 A/D 转换器、D/A 转换器和一个 8 位的可以编程的微控制器来组成。在正常工作时,ADuC845 的电源最大为 4.8 mA/3.6 V(core clk=1.57 MHz),而
23、且该器件本身具有掉电和空闲两种工作状态。可用 3 V 和 5 V 电压使其工作。部分引脚的功能:P1.0P1.7 :输入口 模拟量/数字量, P1.0/AIN1 与 P1.1/AIN2 可组成真正的差分输入。P1.0/AIN1 与 ANICOM 可组成假差分输入,P1.2/REFIN2+ 的另一功能是作为第 2 个外部差分参考输入的正端。 P1.6/IEXC1 和 P1.7/IEXC2 也可用作电流源。AVDD, AGND ,DVDD,DGND :分别为模拟正电源电压和模拟地,以及数字正电源电压和数字地。REFIN-(+) :外部差分参考输入 AINCOM/DAC 。RESET :复位输入。P
24、3.0P3.7:双极端口,带内部上拉电阻,第 2 功能和 51 单片机相同,具体如下 : P3.0/RxD, P3.1/TxD , P3.2/INT0, P3.3/INT1, P3.4/T0, P3.5/T1, P3.6/WR, P3.7/RD。XTAL1 XTAL2 :接外部晶振。EA :外部访问使能,逻辑输入。为高时,该输入可使设备从内部程序存储器 0000H-F7FFH 处取出代码。ADuC845 没有外部程序存储器,为决定代码执行模式, EA 在外部复位之后被采样。PSEN :程序存储使能,逻辑输出。在内部程序执行时保持高电平。当上电或复位通过电阻拉至低电平时,还可用作使能串行下载模式
25、,由6,2-3可知。3.3 单元模块电路设计3.3.1 2.5V 基准电压基准电压是当代模拟集成电路极其重要的组成部分,它可以给串联型稳压电路、A/D转化器和 D/A 转化器提供基准电压,而且大多数的传感器的稳压供电电源或者激励源也是使用它。与此同时,基准电压源也能作为标准电池、仪器表头的刻度标准和精密电流源等。当 ADC 使能时,在 VREF 引脚会出现基准电压,因此,在进行系统扩展时,可将该2.5V 的基准电压当作参考电源来使用。基准电压电路如图 3.2 所示陕西理工学院毕业设计第 6 页 共 41 页图 3.2 2.5V 基准电压电路图3.3.2 滑动变阻器模拟输入ADC 正常工作的模拟
26、输入范围为 0+2.5V,而允许输入的电压范围必须是正电压0+5V(最大值为+5V ) ,如果输入的模拟电压值超过+2.5V(最大值为+5V) ,则 ADC 的采样结果就是其最大值(0FFFH ) ,但是如果输入的模拟电压是负值,则会出现 ADC 的基准电压消失和采样结果不正确的结果,而且如果输入负电压时间过长,则有可能会损坏芯片。所以,在一些实际应用中,如果发现启动 ADC 之后 VREF 端无电压,则需要立即对芯片进行复位,并检查模拟输入信号的采样部分,在保证输入的模拟信号在 0+2.5V 的范围之内后,才可以重新启动 ADC,在实际应用当中,应该确保输入的模拟电压为正电平。滑动变阻器模拟输入电路图如图 3.3 所示图 3.3 滑动变阻器模拟输入电路图 3.3.3 按键电路在单片机应用系统中,按键主要有两种形式:直接按键和矩阵编码键盘。直接按键的每个键都单独接到单片机的一个 I/O 口上,直接按键则通过判断按键端口的电位即可识别按键操作,而矩阵键盘通过行列交叉按键编码进行识别。如果所需的按键少,可采用直接按键,每只按键接单片机的一条 I/O 线,通过对显示的查询,即可识别各按键的状态。当无按键按下时,各线上均输入高电平,当某按键按下时,与其相连的 I/O 线将得到低电平输入。按键电路如图 3.4 所示