完整版数据采集器软件设计.docx
- 文档编号:9142361
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:42
- 大小:1.04MB
完整版数据采集器软件设计.docx
《完整版数据采集器软件设计.docx》由会员分享,可在线阅读,更多相关《完整版数据采集器软件设计.docx(42页珍藏版)》请在冰点文库上搜索。
完整版数据采集器软件设计
第1章绪论
1.1研究背景及其目的意义
近年来,数据采集及其应用受到了人们越来越广泛的关注,数据采集系统也有了迅速的发展,它可以广泛的应用于各种领域。
数据采集系统起始于20世纪50年代,1956年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文件,由非成熟人员进行操作,并且测试任务是由测试设备高速自动控制完成的。
由于该种数据采集测试系统具有高速性和一定的灵活性,可以满足众多传统方法不能完成的数据采集和测试任务,因而得到了初步的认可。
大概在60年代后期,国内外就有成套的数据采集设备和系统多属于专用的系统。
20世纪70年代后期,随着微型机的发展,诞生了采集器、仪表同计算机溶为一体的数据采集系统。
由于这种数据采集系统的性能优良,超过了传统的自动检测仪表和专用数据采集系统,因而获得了惊人的发展。
从70年代起,数据采集系统发展过程中逐渐分为两类,一类是实验室数据采集系统,一类是工业现场数据采集系统。
20世纪80年代随着计算机的普及应用,数据采集系统得到了很大的发展,开始出现了通用的数据采集与自动测试系统。
该阶段的数据采集系统主要有两类,一类以仪表仪器和采集器、通用接口总线和计算机组成。
这类系统主要应用于实验室,在工业生产现场也有一定的应用。
第二类以数据采集卡、标准总线和计算机构成,这一类在工业现场应用较多。
20世纪80年代后期,数据采集发生了很大的变化,工业计算机、单片机和大规模集成电路的组合,用软件管理,是系统的成本减低,体积变小,功能成倍增加,数据处理能力大大加强。
20世纪90年代至今,在国际上技术先进的国家,数据采集系统已成功的运用到军事、航空电子设备及宇航技术、工业等领域。
由于集成电路制造技术的不断提高,出现了高性能、高可靠的单片机数据采集系统(DAS)。
数据采集技术已经成为一种专门的技术,在工业领域得到了广泛的应用。
该阶段的数据采集系统采用模块式结构,根据不同的应用要求,通过简单的增加和更改模块,并结合系统编程,就可扩展或修改系统,迅速组成一个新的系统。
尽管现在以微机为核心的可编程数据采集与处理采集技术的发展方向得到了迅速的发展,而且组成一个数据采集系统只需要一块数据采集卡,把它插在微机的扩展槽内并辅以应用软件,就能实现数据采集功能,但这并不会对基于单片机为核心的数据采集系统产生影响。
相较于数据采集板卡成本和功能的限制,单片机具多功能、高效率、高性能、低电压、低功耗、低价格等优点,而双单片机又具有精度较高、转换速度快、能够对多点同时进行采集,因此能够开发出能满足实际应用要求的、电路结构简单的、可靠性高的数据采集系统。
这就使得以单片机为核心的数据采集系统在许多领域得到了广泛的应用。
1.2国内外研究现状
数据采集系统是通过采集传感器输出的模拟信号并转换成数字信号,并进行分析、处理、传输、显示、存储和显示。
它起始于20世纪中期,在过去的几十年里,随着信息领域各种技术的发展,在数据采集方面的技术也取得了长足的进步,采集数据的信息化是目前社会的发展主流方向。
各种领域都用到了数据采集,在石油勘探、科学实验、飞机飞行、地震数据采集领域已经得到应用。
我国的数字地震观测系统主要采用TDE-124C型TDE-224C型地震数据采集系统。
近年来,又成功研制了动态范围更大、线性度更高、兼容性更强、低功耗可靠性的TDE-324C型地震数据采集系统。
该数据采集对拾震计输出的电信号模拟放大后送至A/D数字化,A/D采用同时采样,采样数据经DSP数字滤波处理后,变成数字地震信号。
该数据采集系统具备24位A/D转化位数,采样率有50HZ、100HZ、200HZ。
美国PASCO公司生产的“科学工作室”是将数据采集应用于物理实验的崭新系统,它由3部分组成:
(1)传感器:
利用先进的传感技术可实时采集技术可实时采集物理实验中各物理量的数据;
(2)计算机接口:
将来自传感器的数据信号输入计算机,采样速率最高为25万次/S;(3)软件:
中文及英文的应用软件。
受需求牵引,新一代机载数据采集系统为满足飞行实验应用也在快速地发展。
如爱尔兰ACRA公司2000年研发推出的新一代KAM500机载数据采集系统到了2006年。
本系统采用16位(A/D)模拟数字变换,总采样率达500K/S,同步时间为+/-250ns,可以利用方式组成高达1000通道的大容量的分布式采集系统。
1.3该课题研究的主要内容
数据采集技术是信息科学的重要分支之一,它研究信息数据的采集、存储、处理以及控制等问题。
它是对传感器信号的测量与处理,以微型计算机等高技术为基础而形成的一门综合应用技术。
数据采集也是从一个或多个信号获取对象信息的过程。
随着微型计算机技术的飞速发展和普及,数据采集监测已成为日益重要的检测技术,广泛应用于工农业等需要同时监控温度、湿度和压力等场合。
数据采集是工业控制等系统中的重要环节,通常采用一些功能相对独立的单片机系统来实现,作为测控系统不可缺少的部分,数据采集的性能特点直接影响到整个系统。
尽管现在以微机为核心的可编程数据采集与处理技术作为数据采集技术的发展方向得到了迅速的发展,并且适于通用微机(如IBMPC系列)使用的板卡级数据采集产品也已大量出现,组成一个数据采集系统简单到只需要一块数据采集卡,把它插在微机的扩展槽内,并辅以应用软件,就能实现数据采集功能,但这并不会对基于单片机为核心的数据采集系统产生影响,因为单片机功能强大、抗干扰能力强、可靠性高、灵活性好、开发容易等优点,使得基于单片机为核心的数据采集系统在许多领域得到了广泛的应用.
传统的基于单片机的数据采集系统由于没有上位机的支持,不管采用什么样的数据存储器,它的存储容量都是有限的,所以不得不对存储的历史数据进行覆盖刷新,这样不利于用户对数据进行整体分析,因而也不能对生产过程的状况进行准确的把握。
本系统采用单片机负责模拟数据的采集,并且处理采集来的数字量及显示处理的数据。
这样用户有利于工业过程的长期正常运行和检查。
该系统主要采用的是AT89S52单片机和AD0809芯片,它们功能比较强大,基本能够满足设计要求。
第2章数据采集
2.1数据采集系统
数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。
数据采集技术广泛引用在各个领域。
70年代初,随着计算机技术及大规模集成电路的发展,特别是微处理器及高速A/D转换器的出现,数据采集系统结构发生了重大变革。
原来由小规模集成的数字逻辑电路及硬件程序控制器组成的采集系统被微处理器控制的采集系统所代替。
由微处理器去完成程序控制,数据处理及大部分逻辑操作,使系统的灵活性和可靠性大大地提高,系统硬件成本和系统的重建费用大大地降低。
采集多路模拟信号时,一般用多路模拟开关巡回检测的方式,即一种数据采集的方式。
利用多路开关让多个被测对象共用同一个采集通道,这就是多通道数据采集系统的实质。
当采集高速信号时,A/D转换器前端还需加采样/保持(S/H)电路。
待测量一般不能直接被转换成数字量,通常要进行放大、特性补偿、滤波等环节的预处理。
被测信号往往因为幅值较小,而且可能还含有多余的高频分量等原因,不能直接送给A/D转换器,需对其进行必要的处理,即信号调理。
如对信号进行放大、衰减、滤波等。
通常希望输入到A/D转换器的信号能接近A/D转换器的满量程以保证转换精度,因此在直流电流电源输出端与A/D转换器之间应接入放大器以满足要求。
本题要求中的被测量为0~5V直流信号,由于输出电压比较大,满足A/D转换输入的要求,故可省去放大器,而将电源输出直接连接至A/D转换器输入端。
在本系统中需要将模拟量转换为数字量,而A/D是将模拟量转换为数字量的器件,他需要考虑的指标有:
分辨率、转换时间、转换误差等等。
而单片机是该系统的基本的微处理系统,它完成数据读取、处理及逻辑控制,数据传输等一系列的任务。
在该系统中采用的是8051系列的单片机。
数据的显示则采用的是LED数码管,该器件比较简单,在生活中接触也较多。
数据采集系统一般由I/V变换、多路转换器、采样保持器、A/D转化器、单片机、键盘、LED显示等组成。
完成本设计所需要的系统框图如图2-1所示:
图2-1系统框图
(1)信号调理:
将被测对象的输出信号变换成计算机要求的输入信号。
(2)I/V变换:
变送器输出的信号为0-10mA或4-20mA的统一信号,多路数据采集的信号主要是电压信号,需要经过I/V变换变成电压信号后才能采集。
(3)多路转换器:
多路转化器又称多路开关,多路开关是用来切换模拟电压信号的关键元件。
利用多路开关可将各个输入信号依次地或随机地接到A/D转换器上。
(4)采样保持器:
A/D转换过程(即采样信号的量化过程)需要时间,这个时间称为A/D转换时间。
在A/D转换期间,如果输入信号变化较大,就会引起转换误差。
所以,一般情况下采样信号都不直接送至A/D转换器转换,还需加保持器作信号保持。
保持器把t=kT时刻的采样值保存到A/D转换结束。
T为采样周期,k=0,1,2……为采样序号。
(5)A/D转换器:
在我们所测控的信号中军事连续变化的物理量,而要对这些信号进行处理,则需要将其转换为数字量,A/D转换器就是为了将连续变化的模拟量转换成计算机能接受的数字量。
(6)单片机:
分析系统所要实现的功能可知,需要设计的功能模块应该包括多路开关,总线设计,显示设计,A/D转换设计,键盘设计等,对于这些功能,选用51单片机来实现是合适的,采集数据、控制、键盘以及显示都是MCS-51单片机的典型应用范畴。
本系统采用ATMEL公司的AT89C51,该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51系列单片机的指令集和输出管脚相兼容。
(7)LED数码管显示:
用于显示采集通道和采集电压,本设计采用的是共阳极6位8段式数码管。
(8)按键开关:
通过按键开关可以控制电路的采集方式,即自动采集和手动采集。
一般我们是自动采集,但是当出现错误时或则需要调节时,我们就用到手动采集,手动开关可以控制通道数加1和减1来排除错误。
2.2方案论证
2.2.1I/V变换
变送器输出的信号为0-10mA或4-20mA的统一信号,需要经过I/V变换变成电压信号后才能处理。
对于电动单元组合仪表,DDZ-
型的输出型号标准为0-10mA,而DDZ-
型和DDZ-S系列的输出型号标准为4-20mA,因此,针对以上情况我们来讨论I/V变换的实现方法。
(1)无源I/V变换
无源I/V变换主要是利用无源器件电阻来实现,并加滤波和输出限幅等保护措施,如图2-2所示:
图2-2无源I/V变换电路
(2)有源I/V变换
有源I/V变换主要是利用有缘器件运算放大器、电阻来实现,如图2-3所示:
图2-3有源I/V变换电路
因无源简单容易,所以本设计采用了无源I/V变换电路。
2.2.2信号采集
数据采集方式有顺序控制数据采集和程序控制数据采集。
方案一:
顺序控制数据采集,顾名思义,它是对各路被采集参数,按时间顺序依次轮流采样。
原理如下图2-4所示,系统的性能完全由硬件设备决定。
在每次的采集过程中,所采集参数的数目、采样点数、采样速率、采样精度都固定不变。
若要改变这些指标,需改变接线或更换设备方能实现。
数据采集时,控制多路传输门开启和关闭的信号来自脉冲分配器,在时钟脉冲的推动下,这些控制信号不断循环,使传输门以先后顺序循环启闭。
方案二:
程序控制数据采集,由硬件和软件两部分组成。
据不同的采集需要,在程序存储器中,存放若干种信号采集程序,选择相应的采集程序进行采集工作,还可通过编新的程序,以满足不同采样任务的要求。
如图2-5所示:
程序控制数据采集的采样通道地址可随意选择,控制多路传输门开启的通道地址码由存储器中读出的指令确定。
即改变存储器中的指令内容便可改变通道地址。
由于顺序控制数据采集方式缺乏通用性和灵活性,所以本设计中选用程序控制数据采集方式。
2.2.3A/D模数转换
A/D转换器的种类很多,就位数来说,可以分为8位、10位、12位和16位等。
位数越高其分辨率就越高,价格也就越贵。
A/D转换器型号很多,而其转换时间和转换误差也各不相同。
(1)逐渐逼近式A/D转换器:
它是一种速度快、精度较高、成本较低的直接式转换器,其转换时间在几微秒到几百微秒之间。
(2)双积分A/D转换器:
它是一种间接式的A/D转换器,优点是抗干扰能力强,精度比较高,缺点是数度很慢,适用于对转换数度要求不高的系统。
(3)并行式A/D转换器:
它又被称为快速型,它的转换数度很高,但她采用了很多个比较器,而n位的转换就需要2n-1个比较器,因此电路规模也极大,价格也很贵,适用于视频A/D转换器等数度特别高的领域。
鉴于上面三种方案,在价格、转换速度、简化程度等多种标准考量下,在本设计选用的是逐渐逼近式A/D转换器——ADC0809。
2.2.4单片机
单片机是一种面向大规模的集成电路芯片,是微型计算机中的一个重要的分支。
此系统是由CPU、随即存取数据存储器、只读程序存储器、输入输出电路(I/O口),还有包括定时/计数器、按键、显示驱动电路(LED驱动电路)、多路转换器及A/D转换器等电路集成到一个单块芯片上,构成了一个小而完善的计算机任务。
而本设计选用的是AT89C52。
2.2.5显示部分
LED数码显示管是一种由LED发光二极管组合显示字符的显示器件。
它使用了6个LED显示管,其中4个用于显示采集的数据,2个用来显示通道数。
本设计通过对单片机控制,使其向数码管输送位选信号和送断选信号,使最终采集的数据在数码管显示。
而LED数码显示器的控制可以采用中断定时扫描,这样可以节省CPU占用时间,从而提高单片机工作效率。
LED数码显示有动态扫描显示和静态显示。
在本设计中,为了节省硬件资源,采用动态扫描显示法。
2.2.6按键
键盘是一种常见的输入设备,用户可以向计算机输入数据或命令。
根据案件的识别方法分类,有编码键盘和非编码键盘两种。
通过硬件识别的键盘称编码键盘;通过软件识别的键盘成为非编码键盘。
非编码键盘有两种接口方法:
一种是独立按键接口;另一种是矩阵式按键接口。
(1)独立按键接口
在单片机中,如果所需的按键较少,可采用独立式键盘。
每只按键接单片机的一条I/O线,通过对I/O线的查询,即可识别各按键的状态。
(2)矩阵式按键接口
在单片机中需要的按键较多时,通常把键排成矩阵形式,这样可以节省硬件资源。
如对于20只按键接口,如采用按键独立方式,需要20个I/O口。
如采用矩阵式按键方式,则只需要9个I/O口。
单片机系统中的非编码式键盘程序主要由判别是否有键按下子程序、键的识别子程序、找到闭合键后,读入相应的键值,再转到相应的键处理程序几个部分组成。
我们因用的键盘较少,所以选用的是独立按键接口。
第3章硬件设计与实现
3.1系统总体设计思想
本系统的设计思路如下:
过程参数由传感元件和变送器测量并转换为电流形式后,通过I/V变换转换为电压,再送至多路转换器。
在单片机的控制下,由多路开关将各个过程参数依次的切换,然后进行A/D转换,实现过程参数的巡回检测。
最终将转换结果在数码管上显示。
由于实现手动和自动的切换,所以用到按键,将按键接到单片机AT89C51的P1.0,P1.1,P1.2,的端口上,按键的一端接地,当P1.0,P1.1,P1.2,这条I/O线是一个低电平时,则表示按键按下,实现手动加减与自动的切换。
因本电路用到其他外部器件,需要的连线就很多了,所以在微处理机中引入了总线的概念。
74LS138,74LS373与AT89C51构成总线,可以进行外部拓展和其他的控制器进行通信。
单片机还要负责对采集到的数据进行控制和LED显示,用两个74HC373锁存,一个用于位选,一个用于段选。
其原理图3-1如图所示:
图3-1电路原理图
3.2硬件的主要构成部分
3.2.1单片机总线部分
MCS-51单片机片外总线结构由三组总线构成,即地址总线(AB)、数据总线(DB)和控制总线(CB)。
所以符合这个总线标准的外部接口芯片都可以用这三组总线进行扩展。
在扩展多片外部存储器和I/O时,所有外部扩展器件的片选端口都必须按照地址线进行选择。
片选是在保证对外部扩展的关公地址空间寻址的条件下,使用剩余的地址线经行线选或经过译码进行选择来实现的。
如图3-2为采用线选法扩展和采用译码法扩展的结构图。
图3-2线选法和译码法扩展的结构图
线选法是利用剩余的高位地址线直接进行片选,因此电路较简单,但地址空间不连续,造成地址空间浪费。
图3.2.3中,地址线A13用作64KB存储器的片选线。
译码法是通过外接译码器对地址译码来进行片选,因此地址空间不会浪费,但由于使用译码器增加了电路复杂性。
常用的译码器芯片有3-8线译码器芯片74LS138。
3.2.2模/数转换电路
本数据采集系统中,可以通过我们的I/O口扩展接口电路直接得到,由于51单片机大部分不带AD转换器,所以模拟量的采集就必须靠A/D实现。
本设计采样的是模数转换器AD0809。
模数转换器与单片机的具体接线法:
由于ADC0809具有输出3态锁存器,其八位数据输出引脚可直接与数据总线相连。
ADC0809地址引脚ADDA、ADDB、ADDC分别与地74LS373的输出端D0、D1、D2相连,以选通IN0~IN7中的一个通道。
在启动A/D转换时,单片机的P1.3(ALE)控制A/D转换器的地址锁存,单片机的P1.4(START)控制A/D转换器的转换启动,单片机的P1.5(EOC)控制A/D转换器的转换结束状态信号,单片机的P1.6(OE)控制A/D转换器的输出允许信号,单片机的P3.6(WR)控制74LS373的锁存允许端。
AT89S51的输出频为晶振频的1/6(2MHZ),而AD0809的工作频范围为10KHZ-1280KHZ,所以AD0809的时钟端口需加个分频电路,使单片机的输出频率达到AD0809的频率范围,这样AD0809才能正常的工作。
其A/D转换电路图3-2如下所示:
图3-2A/D转换电路图
3.2.3数码管显示电路
数码管是一种半导体发光器件,其基本单元是发光二极管。
此次设计采用的是6位8段共阳数码管。
其原理图3-3如下所示:
图3-3显示电路
该电路由2个外部设备74ls373驱动,一个驱动数码断选,一个驱动数码位选。
第一个74LS373的锁存允许段LE的地址是0X8000,通过单片机编程,可以控制其高低电平转换,当LE为高电平时,芯片工作,对数码管进行断选操作,当LE为低电平时,对数码管显示数字进行锁存。
然后由第二个74LS373进行位选,第二个74LS373地址线0X9000,当选中其地址后,由P0端口控制其选哪一个数码管。
外部驱动电路的锁存允许端接到单片机总线上的74LS138输出上,这样接的好处是能有效避免单片机管脚不够接外部设备,加入总线及驱动设备,能有效扩展外部设备的连接。
3.2.3按键处理
键盘是一种常见的输入设备,用户可以向计算机输入数据或命令。
根据按键的识别方法分类,有编码键盘和非编码键盘两种。
通过硬件识别的键盘称编码键盘;通过软件识别的键盘成为非编码键盘。
非编码键盘有两种接口方法:
一种是独立按键接口;另一种是矩阵式按键接口。
本设计在单片机中使用的键盘比较少,可采用独立式键盘。
每只按键接单片机的一条I/O线,通过对线的查询,即可识别各按键的状态。
3只按键分别与单片机的P1.0~P1.3I/O线上。
无按键按下时,P1.0~P1.3线上均输入高电平。
当某按键下时,与其相连的I/O线将得到低电平输入。
如图3-4所示:
图3-4按键接口图
3.2.4报警处理
报警电路分为声音报警和灯光报警,当系统出现未知错误或者人为操作错误,可以采用电路报警,在本次设计中,报警器的主要作用是提高安全性,提高工作人员工作效率等。
由8个led灯构成一个报警电路,该8路灯借鉴LED数码管内部结构连接,采用共阳极连接,阳极部分接在外部设备74LS373的一个输出端口上,起选片作用。
阴极接到和数码管公用的外部设备上。
当系统出现非正常状况时,LED灯闪烁报警,例如当采集的电流超过最大值10mA时,则此系统无法采集,显示的结果出现错误,则要LED灯闪烁报警。
如下图3-5所示:
图3-5报警显示电路
第4章软件系统设计与实现
4.1软件开发工具KeilUvision2介绍
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVISION)将这些组合在一起。
Keil有以下几个特点:
全功能的源代码编辑器;
器件库用来配置开发工具设置;
项目管理器用来创建和维护用户的项目;
集成的MAKE工具可以汇编、编译和连接用户嵌入式应用;
所有开发工具的设置都是对话框形式的;
真正的源代码级的对CPU和外围器件的调试器;
高级GDI(AGDI)接口用来在目标硬件上进行软件调试以及和Monitor-51进行通信;
其使用的过程为:
首先打开KeilUvision3,在KEIL系统中,每做个独立的程序,都视为工程。
首先从菜单中的工程中“新建工程”,建立我们将要做的工程项目:
接下来Keil环境要求我们为xianshi工程选择一个单片机型号;我们选择Ateml公司的89C51(虽然我使用的是AT89S52,但由于89S51与89C51内外部的结构完全一样,所以这里仍然用“89C51”)。
“确定”后工程就算建立好了。
立了工程项目以后现在就要为工程添加程序,点击“文件”中的新建,新建一个空白文档;这个空白文档就是我们编写单片机程序的场所。
在这里可以进行编辑、修改等操作。
根据题意,在文档中写入代码,写完后再检查一下,然后保存,然后再将保存好的文档添加到工程中,具体做法如下:
程序文件添加完毕后,对其进行编译当前程序、编译修改过的文件并生成应用程序、重新编译所有文件并生成应用程序后,再点击TARGET,则其页面为:
再点击图案上的Output键
接下来就是点击上图中的selectfolderforobjects键,得到下图将其产生的HEX文件存储在E盘zh文件夹中。
最后一步就是利用STC-ISP将HEX文件烧录到单片机里。
4.2数据采集系统功能介绍
数据采集系统是通过采集传感器输出的模拟信号并转换成数字信号,并进行分析、处理、传输、存储和显示。
该系统如图4-1所示。
数码管1,数码管2代表回路号即显示通道数;数码管3,数码管4,数码管5,数码管6显示采集的数据;LED灯起报警提示作用,当系统出现非正常状况时,LED灯闪烁报警;按键1是自动显示,按键2是手动自加显示,按键3是手动自减显示;KEY4是复位键。
图4-1数据系统功能图
具体操作方法:
先通电后,按下KEY1,数据采集器将自动显示采集的数据;按下KEY2时,数据采集器将手动自加显示采集的数据;按下KEY3时,数据采集器将手动自减显示采集的数据;当出现死机时,可以按下复位键KEY4,使电路恢复正常。
4.3主程序
主程序主要实现的功能是:
初始化,A/D转换,工程量转换,回路显示,测量值显示,键盘处理等功能。
如图4-2所示:
图4-2主程序流程图
4.4定时中断程序
定时中断程序主要实现的功能是:
1ms定时,动态显示,键盘读取功能。
如图4-3所示:
图4-3定时中断程序流程图
4.5初始化程序
初始化程序主要实现的功能:
开启定时器,开启单片机中断系统,显示自检信息,延时等待硬件上电等功能。
如图4-4所示:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 数据 采集 软件设计