基于单片机数据采集系统设计.docx
《基于单片机数据采集系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机数据采集系统设计.docx(83页珍藏版)》请在冰豆网上搜索。
![基于单片机数据采集系统设计.docx](https://file1.bdocx.com/fileroot1/2023-1/1/4f2462f8-41bb-43d6-89b6-d35131b3bb55/4f2462f8-41bb-43d6-89b6-d35131b3bb551.gif)
基于单片机数据采集系统设计
第1章前言
基于单片机数据采集系统的设计
摘要:
面对大量的数据,人工处理已远远无法满足时代的要求,依靠微电子技术来实现数据的采集、存储和显示,成为适应时代步伐的唯一有效捷径。
本系统采用模数转换、微处理器、存储器等芯片来实现8路数据的采集,将采集的信号进行存储,按时间上传到上位机PC,通过不同模式的选择进行数据采集、查询、打印和显示等。
在文中较系统的介绍了从模拟信号到数字信号的转换过程和讨论了转换过程中的技术参数等问题,在文中最后还进行了系统存在的一些误差分析。
关键词:
单片机,数据,采集,打印,查询,上位机通信
ABSTRACT
KEYWORDS:
signalchipmicro-computer、acquisition、PC-communcation
第1章前言
数据采集技术研究信息数据的采集、传输、存储、处理以及控制等,它是信息科学的一个重要分支。
在智能仪器,信号处理以及工业自动化控制领域,都存在数据的测量与控制问题。
将外部世界存在的温度、压力、流量、电流、电压、流速、开关量、位移以及角度等模拟量转换为数字信号,再将收集到的数据显示、处理、传输与记录的这一过程即称为“数据采集”,相应的系统即为数据采集系统(DAS)。
数据采集技术已在雷达、通信、水声、遥感、地质勘探、振动工程、无损检测、语声处理、智能仪器、工业自动控制以及生物医学工程等领域有着广的应用。
随着科学和技术的需要,在速度、分辨率、精度、接口能力、软件设计以及抗干扰能力等方面向现代数据采集技术提出了越来越高的要求。
可以预言:
随着大规模集成电路技术与计算机科学技术的发展,数据采集技术的应用领域更为广阔
20世纪90年代后期,各国的单片机和外围芯片大量涌入我国,各种开发工具和软件应有尽有,大大提高了我国单片机的应用水平。
目前,单片机正在过程控制、数据采集、智能仪表、机电一体化、家用电器以及网络技术等领域中发挥着重要的控制作用。
面对大量的数据,人工处理已远远无法满足时代的要求,依靠微电子技术来实现数据的采集、存储和显示、查询,成为适应时代步伐的唯一有效的出路。
设计以单片机为核心的数据采集、存储和显示、查询、打印系统,可以把传感器信号经过处理后,进行控制和存储传给上位机PC,以满足远程控制和无人工作站的建立。
数据采集和自动控制技术广泛地渗透到化工、轻工、热工、电力、水力、能源、环保、航空、航天、机械制造和精密仪器等各个领域,需求广泛。
一个数据采集系统通常可用两种方法实现,一种是利用传统的数据采集系统设计方法,另一种是利用现有的一些数据采集系统芯片(即处理器)为核心构成。
对于传统的数据采集系统设,它的硬件一般由传感器、信号调理电路、多路开关、采样保持电路、模数转换电路、微处理器、存储器等组成。
而对于利用数据采集芯片的系统,由于芯片集成了A/D转换、闪速/电擦除存储器、定时/计数器等电路,加上它的高转换速度和高精度,能大大降低系统开发时间和成本、缩小设备体积、提高系统可靠性和电气性能指标,较适合于设计低功耗、便携式的数据采集系统。
在一个数据采集系统中A/D转换又是十分重要的环节。
它的精度会直接影响到整个采集系统的精度。
本文将利用传统的数据采集系统设计方法,以实现不同传感器信号的处理。
用单片机来对系统进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高采集数据的技术指标,从而能够大大提高产品的质量和数量。
第2章单片机数据采集系统总体功能介绍和说明
在检测系统中,各个组成部分是以信息流的过程来划分的。
检测时,首先获取被测量的信息,并通过信息的转换把获得的信息变换为电量,然后进行一系列的处理,再用指示仪或显示仪将信息输出,或由计算机对数据进行处理,最后把信息输送给执行机构。
所以一个检测系统主要分为信息的获得、信息的转换、信息的处理和信息的输出等几个部分。
2.1系统实现的功能
1、8路数据采集:
可以进行8路0~5V的模拟电压进行循环采集,每路采集的8次,超出界限LED显示报警,将采得的数据求平均。
2、及时保存数据:
对采集的数据按时间及时进行保存。
3、数字实时显示:
LED将实时显示采集的数据,并且能够显示查询时输入的查询量和查询到的数据。
4、可以将采集的数据及时上传到上位PC机功能;
5、可按时间查询历史数据,也很方便的打印出来
2.2系统各部分的功能
要完成这些功能主要依靠传感器、信号处理电路、显示装置、数据处理装置和执行机构等。
其具体组成框图如图1.2.1所示。
被检测的各种参数(温度、流量、压力、位移、速度等)由传感器变换成易于后续处理的电信号。
由于传感器输出信号太弱或信号质量不高,应经过前端预处理电路进行放大、滤波等,然后经过数据采集系统转换成数字量,并通过接口送入存储器,经过单片机运算、变换处理后,由数据分配子系统和接口输出到执行机构,由基本系统及其接口输出用于显示、记录、打印或绘制成各种图表、曲线等。
此外,其他仪器仪表或系统通过通信子系统及接口完成相互之间的信息交换和互连。
所以我们把微机自动检测系统也常称为计算机数据采集系统,或简称为数据采集系统。
微机自动检测技术不仅能解决传统的检测技术不能或不易解决的问题,而且能简化电路、增加功能、提高精度和可靠性等,还能实现人脑的部分功能,使自动检测系统具有智能化,实现代替人工自动检测的目的,随着微机自动检测技术的不断发展,自动检测系统会变得更加智能化、多功能化。
2.2.1信号调理部分
信号调理电路的主要作用就是把传感器输出的电学量变成具有一定功率的模拟电压信号或数字信号,以推动后级的输出显示或记录设备、数据处理装置及执行机构。
根据测量对象和显示方法的不同,信号处理电路可以是简单的传输电缆,也可以是由许多电子元件组成的数据采集卡,甚至包括计算机在的装置。
(1)传感器接收被测量(如物理量、化学量、生物量等),然后才能将其变换为另一种与之有确定对应关系,并且容易测量的量(通常为电学量)。
它是一种获得信息的重要手段,它所获得信息的正确与否,关系到整个检测系统的精度,因而在非电量检测系统中占有重要的地位。
(2)从传感器过来的信号较小(常用热电偶的输出变化往往在几毫伏到几是毫伏之间,电阻应变片输出电压的变化只有几个毫伏,人体生物电信号仅是微伏级)。
因此需要加以放大才能满足大多数A/D转换器的满量程输入0~5V的要求。
此外,某些传感器阻比较大,输出功率较小,这样放大器还起阻抗变换器的作用来缓冲输入信号。
由于各类传感器输出信号的情况各不相同,因此需要的放大器种类也很多。
例如,为了减少输入信号的共模分量,就采用各种差分放大器、仪用放大器和隔离放大器;为了使不同数量级的输入电压都具有最佳变换,就产生了量程可以变换的程控放大器;为了减少放大器输入的漂移,就产生了斩波为零和激光修正的精密放大器。
(3)传感器以及后续处理电路中的器件常会产生噪声,人为的发射源也可以通过各种耦合渠道使信号通道感染上噪声,常见的工频信号就是人为干扰源。
为了提高模拟输入信号的信噪比,常常需要使用滤波器对噪声信号进行一定的衰减。
(4)在数据采集系统中,往往要对多个物理量进行采集,即所谓多路巡回检测,这可以通过多路模拟开关来实现,这样可以简化设计,降低成本。
多路模拟开关可以分时选通多个通道中的某一路通道。
因此,在多路模拟开关后的单元电路,如采样/保持电路、模/数转换电路以及处理电路等,只需要一套即可,这样可以节省成本和体积,但这仅适用于物理量变化比较缓慢、变化周期在数十至数百毫秒之间的情况下。
因为这时可以使用普通的微秒级A/D转换器从容地分时处理这些信号。
但当分时通道较多时,必须注意泄露及逻辑安排等问题,当信号频率较高时,使用多路开关后,对A/D转换速率要求也随之上升。
在数据通过率超过40~50kHz时,一般不宜使用分时的多路开关。
模拟开关也可以根据需要安排在放大器之前,但当输入的信号电平较低时,需注意选择多路模拟开关的类型;若选用继承电路的模拟多路开关,由于它比干簧和继电器组成的多路模拟开关导通电阻大、泄露电流大,因而有较大的误差产生。
所以要根据具体情况来选择多路模拟开关。
2.2.2数据处理部分
从传感器采集来的数据经过信号调理电路,信号做好了模数转换的准备。
模拟信号要变成数字信号,首先要经过采样,采样保持器是快速拾取输入信号的子样脉冲,并保持幅值恒定,以提高A/D转换器的转换精度,如果把采样保持电路放在模拟多路开关之前(每通道一个),这可实现对瞬时信号同时进行采样。
数据采集的采样方式有两种选择:
一为“实时采样”;一为“等效时间采样”。
(1)实时采样:
数据采集开始后,信号波形的第一个采样点即被采人并数字化,经过一个采样间隔后.再采入第二个采样点,这样一直将整个信号波形数字化并存入存储器中。
为了不丢失被采样信号所携带的信息,实时采样的采样频率应满足采样定理(香农定理)的要求,当采样频率不满足采样定理时将产生信号混叠现象,使采样后波形中增加了额外的低频成分.造成失真,引起误差。
在工程上采样频率应取被采样信号所含最高频率的两倍.通常采用10-20倍。
实际测量时信号往往会混入各种噪声,谐波成分丰富,频带很宽,智能仪表的采样速度很难达到采样定理的要求,这时就应在A/D转换之前加入抗混叠模拟滤波器,滤掉多余的高频分量。
除了“定时采样”(等间隔采样)外,“实时采样”通常使用“变步长采样”,即“等点采样”。
这种方法不论被测信号频率如何,一个信号周期均匀采样的点总数为N个。
由于采样周期随被测信号周期变化,故通常称之为“变步长采样”。
(2)“等效时间采样”技术要求信号波形是可以重复产生的。
由于波形可以重复取得.因此采样可以用较慢的速度进行,采集的样本可以是时序的(步进、步退、差额),也可以是随机的。
这样就可以把许多采集的样本合成一个采样密度较高的波形。
评价智能仪表数据采集部分的主要技术指标有分辨率、精度、输人信号形式和信号电平、采集速度,抗干扰能力,设计时应根据被测变量的信号特性,仪表的整机技术要求,确定这些指标的具体数值。
采样保持电路输出的信号送至A/D转换器,A/D转换器是模拟输入通道的关键电路。
由于输入信号变化的速度不同,系统对分辨率、精度、转换速率及成本的要求也不同。
因此A/D转换器的种类也比较多。
早期的采样保持电路和A/D转换电路需要数据采集系统设计人员自行设计,目前普遍采用单片集成电路,有的单片A/D转换器部包括有采样保持电路、基准电源和接口电路,这为系统设计提供了较大方便。
A/D转换器将结果输出给计算机,有的采用并行码输出,有的则采用串行码输出。
使用串行输出结果的方式对长距离传输和需要光电隔离的场合较为有利。
模数转换器的任务在于把一个未知的连续的模拟输入信号(通常为电压)转换为数字信号,即微型计算机能接受的二进制数。
以进一步用于处理、显示、记录、查询和传输。
模拟输入信号的采样脉冲应做得很窄,以便在采样脉冲空余时间可以进行多路复用。
这个多位数是二进制分数,代表这个未知输入电压Vex与ADC的满刻度电压Vs.的比值,ADC是微机数据采集系统的关键部件,它的性能往往直接影响整个系统的技术指标。
本系统采用的ADC0809采用的是逐次逼近式,此种转换器采用一种极有效的方案来改变比较器的参考输入,从而只需要n个时钟周期就能完成n位转换。
单片机系统是整个计算机数据采集系统的核心。
单片机控制整个计算机数据采集系统的正常工作,并且把A/D转换器输出的结果读入到存,进行必要的数据分析和数据处理。
单片机还需要把数据分析和处理之后的结果写入存储器以备将来分析和使用,通常还需要把结果显示出来。
数据采集系统的数据与机器时间是一一对应的,一个数据唯一的对应一个数据,这就方便了数据查询和显示。
为了得到机器时间,本系统采用了DS12887芯片得到需要的机器时间。
为了让系统便于操作,按照需要和设定模式进行运行,那就需要人机交互装置——键盘。
从键盘发出指令,进入不同的模式,实现不同的功能。
测量的目的是使人们了解被测量的数值,所以必须有显示装置。
显示装置的主要作用就是使人们了解检测数值的大小或变化的过程。
目前常用的显示方式有模拟显示、数字显示、图像显示三种方式。
(l)模拟显示是利用指针对标尺的相对位置来表示被测量数值的大小,如毫伏表、毫安表等,其特点是读数方便、直观,结构简单,价格低廉,在检测系统中一直被大量使用。
但这种显示方式的精度受标尺最小分度限制,而且读数时易引入主观误差。
(2)数字显示是指用数字形式来显示测量值,目前大多采用LED发光数码管或液晶显示屏等,如数字电压表。
这类检测仪器还可附加打印机,打印记录测量数值,并易于计算机联机,使数据处理更加方便。
(3)图像显示是指用屏幕显示(CRT)读数或被测参数变化的曲线,主要用于计算机自动检测系统中。
如果被测量处于动态变化中,用一般的显示仪表读数就十分困难,这时可将输出信号送给计算机进行图像显示或送至记录仪,从而描绘出被测量随时间变化的曲线,并以之作为检测结果,供分析使用。
本系统采用的是第二种方案,此方案设计简单,成本较低,实用于不同场所。
第3章单片机数据采集系统硬件设计
在整个系统中硬件是基础,也是系统设计的基础,硬件系统的建立才使系统有运算的可能,硬件的参数决定了系统的技术参数。
本系统硬件包括数据采集模块、数据处理和存储模块。
3.1主要芯片介绍
在系统设计中,硬件系统设计和软件系统设计两者相互渗透,不可分离。
在硬件设计中尽量采用了功能强大的芯片,以减化电路,提高系统电路的集成度和可靠性。
功能强大的芯片可以代替若干普通芯片,随着生产工艺的提高,新型芯片的价格不断下降,体积不断缩小,具有很高的性价比,是硬件设计的首选。
3.1.18051AH的功能特点
MCS-51系列单片机是1980年Intel公司推出的8位单片机系列,由于它良好的性价比,此后其他一些公司也相继研制并生产MCS-51系列单片机8051及其兼容芯片。
因此,这个系列成为主流单片机。
它主要特性如下:
(1)具有两级中断优先处理能力,可管理5个中断源,且都有自动转入的中断入口地址;
(2)含定时器/计数器,工作方式可编程选择;
(3)有32条I/O线,输入输出操作功能强,可直接带外设;
(4)布尔处理功能强,可扩展用途;
(5)部RAM和寄存器有位寻址功能;
(6)外部具有独立的64K程序存储空间和64K数据存储空间;
(7)有全双工串行接口,波特率可编程设置;
(8)有多种型号,且不同型号的部程序存储器不同,用户可根据需要选用。
管脚功能:
P0.7~P0.0:
P0口是一个漏极开路型准双向I/O口。
在访问外部存储器时,它是数据总线和地址总线低8位分时复用的接口:
在EPROM编程时,在接收指令字节;在验证程序时,输出指令字节,并要求外接上拉电阻。
P1.7~P1.0:
P1口是带部上拉电阻的8位双向I/O口,它是通用I/O端口。
在EPROM编程和程序验证时,它接受低8位地址。
P2.7~P2.0:
P2口是带部上拉电阻的8位双向I/O口。
在访问外部存储器时,它输出高8位地址;在对EPROM编程和程序验证时,接受高8位地址。
P3.7~P3.0:
P3口是带部上拉电阻的8位双向I/O口,它是双功能I/O端口。
除基本输入/输出功能外每个引脚还有专用功能,其专用引脚功能:
P3.0:
RXD串行数据接收
P3.1:
TXD串行数据发送
P3.2:
INT0外部中断0请求输入
P3.3:
INT1外部中断1请求输入
P3.4:
T0定时器0外部计数脉冲输入
P3.5:
T1定时器1外部计数脉冲输入
P3.6:
WR外部数据存储器写信号
P3.7:
RD外部数据存储器读信号
RST/VPD:
复位引脚,这是一个双功能引脚,复位/备用电源:
复位功能RST:
单片机的复位是靠外部电路实现的。
在振荡信号正常运行情况下,只要RST引脚保持两个机器周期以上时间的高电平,系统复位。
备用电源功能VPD:
当Vcc掉电时,在Vcc下降到操作系统允许极限之前,RST/VPD引脚接上备用电源,向部RAM供电,这时系统处于一种低功耗方式。
当Vcc恢复时,备用电源仍然保持一定时间,以便完成复位操作,然后重新开始工作。
XTAL1和XTAL2是MCS-51系列单片机的时钟引脚。
两引脚连接于单片机部的一个高增益反向放大器,用于与外部振荡源一起构成振荡电路。
其中XTAL1为该放大器的输入引脚,XTAL2为该放大器的输出引脚。
ALE:
地址锁存信号,输出。
给应用系统中的地址锁存器提供锁存控制信号,实现地址/数据分时复用。
在每一个机器周期(MOVX指令除外)出现两个ALE正脉冲,当ALE为高电平时,地址锁存的输出随输入变化(这时P0口输出的是低8位地址信息);当ALE有高电平变成低电平时,锁存器将地址锁定,即输出不再随输入变化(P0口可传送数据信息)。
另外,ALE信号还可以作为应用系统中频率要求较低的其他部件的时钟信号、计数信号等。
PROG:
片程序存储器编程脉冲,输入。
对于EPROM型单片机,在对片程序存储器编程时,该引脚输入编程脉冲信号。
:
外部程序存储器读写信号,输出,低电平有效。
由于MCS-51系列单片机外部程序和外部数据存储空间是独立的,但地址是重叠的,因此除了在指令上加以区分外,控制信号也有所不同。
、
是用于读/写数据存储器的,而
是用于读程序代码的,他在应用系统中接程序存储器的读控制端。
在访问外部程序存储器时,在每个机器周期,
两次有效。
:
、外程序存储器选择信号。
当访问该地址围的存储单元时,由于MCS-51系列单片机的片程序存储器地址与片程序是重叠的,所以用
引脚电平来区分是访问部程序存储器,还是访问外部程序存储器。
当
=“1”时选择访问单片机部的程序存储器;当
=“0”时选择访问外部的程序存储器。
Vpp:
片程序存储器编程电压。
对于EPROM型单片机,在对片EPROM编程时,Vpp引脚输入21V的编程电源电压。
Vcc:
+5V工作电压。
正常工作时Vcc引脚接+5V电源电压。
Vss:
接地端。
正常工作时Vss引脚接地。
3.1.2ADC0809的功能特点
ADC0809数据采集元件是单片CMOS器件,具有8位模/数转换器、8通道的多路开关以及和微处理器相兼容的控制逻辑,这个8位A/D转换器使用逐位逼近作为转换技术。
该转换器的主要特点是:
具有一高阻抗斩波稳定比较器,带有模拟开关树的256R分压器、以及一逐位逼近寄存器,8个通道的模拟开关可以直接访问8个单端信号中的任何一个。
该器件取消了外部调零和满量程调整。
锁存及译码的多路地址输人和锁存的TTL三态输出使该器件易于和微处理器接口。
集许多A/D转换技术于一体,ADC0808和ADC0809的设计被优化,它们提供高速、高精度、最小温度相关性、极好的长期精度和可重复性以及最小功耗。
这些特点使该器件非常适合于从过程和机器控制到消耗装置及自动化的应用。
主要指标:
分辨率8位
线性误差士l/2LSB
单电源5VDC
低功耗15mw
转换时间100US
分辨率为1/28≈0.39%
模拟电压转换围是0-+5V
标准转换时间为100ms
各引脚功能如下:
IN0~IN7:
8路模拟量输入端。
允许8路模拟量分时输入,共用一个A/D转换器。
ALE:
地址锁存允许信号,输入,高电平有效。
上升沿时锁存3位通道选择信号。
START:
启动A/D转换信号,输入,高电平有效。
上升沿时将转换器部清零,下降沿时启动A/D转换。
EOC:
转换结束信号,输出,高电平有效。
OE:
输出允许信号,输入,高电平有效。
该信号用来打开三态输出缓冲器,将A/D转换得到的8位数字量送到数据总线上。
D0~D7:
8位数字量输出。
D0为最低位,D7为最高位。
由于有三态输出锁存,可与主机数据总线直接相连。
CLOCK:
外部时钟脉冲输入端。
当脉冲频率为640kHz时,A/D转换时间为100ms。
VR+,VR-:
基准电压源正、负端。
取决于被转换的模拟电压围,通常VR+=+5VDC,VR-=0VDC。
Vcc:
工作电源,+5VDC。
GND:
电源地
零点调整:
这是当输入电压是1/2LSB(满量程10.24V时为20mV),输出从11111111变为11111110。
在大多数情况下,可以在引脚5上接一1kΩ电位器来实现。
在引脚5和地之间接一475Ω电阻是实现零点调整的最好近似。
满量程调整:
这是当输人电压是满量程1/2LSB(10.24V量程时比满量程低60mV,输出从0000000l变为00000000。
没有调整时,ADC0809的这个电压在士1/2LSB围,在大多数情况下,在引脚15上加上1kΩ的电位器可实现这个调整。
3.1.3DS12887的功能特点
DS12887是美国达拉斯半导体公司最新推出的时钟芯片,采用CMOS技术制成,把时钟芯片所需的晶振和外部锂电池相关电路集于芯片部,同时它与目前IBMAT计算机常用的时钟芯片MC146818B和DS1287管脚兼容,可直接替换。
DS12887芯片具有微功耗、外围接口简单、精度高、工作稳定可靠等优点,可广泛用于各种需要较高精度的实时时钟场合中。
其主要功能如下:
(1)含一个锂电池,断电情况运行十年以上不丢失数据。
(2)计秒、分、时、天、星期、日、月、年,并有闰年补偿功能。
(3)二进制数码或BCD码表示时间、日历和定闹。
(4)12小时或24小时制,12小时时钟模式带有PWM和AM指导,有夏令时功能。
(5)MOTOROLA5和INATAEL总线时序选择。
管脚功能:
GND,VCC:
直流电源+5V电压。
当5V电压在正常围时,数据可读写;当VCC低于4.25V,读写被禁止,计时功能仍继续;当VCC下降到3V以下时,RAM和计时器被切换到部锂电池。
MOT(模式选择):
MOT管脚接到VCC时,选择MOTOROLA时序,当接到GFND时,选择INTEL时序。
SQW(方波信号同):
SQW管脚能从实时时钟部15级分频器的13个抽头中选择一个作为输出信号,其输出频率可通过对寄存器A编程改变。
AD0~AD7(双向地址/数据复用线):
总线接口,可与MOTOROLA微机系列和INTEL微机系列接口。
AS(地址选通输入):
用于实现信号分离,在AD/ALE的下降沿把地址锁入DS12887。
DS(数据选通或读输入):
DS/RD管脚有两种操作模式,取决于MOT管脚的电平,当使用MOTOROLA时序时,DS是一正脉冲,出现在总线周期的后段,称为数据选通;在读周期,DS指示DS12887驱动双向总的时刻,在写周期,DS的后沿使DS12887锁存写数据。
选择INTEL时序时,DS称作(RD),RD与典型存贮器的允许信号(OE)的定义相同。
R/W(读/写输入):
R/W管脚也有两种操作模式。
选MOTOROLA时序时,R/W是一电平信号,指示当前周期是读或写周期,DSO为高电平时,R/W高电平指示读周期,R/W低电平指示写周期;选INTEL时序,R/W信号是一低电平信号,称为WR。
在此模式下,R/W管脚与通用RAM的写允许信号(WE)的含义相同。
CS(片选输入):
在访问DS12887的总线周期,片选信号必须保持为低。
IRQ(中断申请输入):
低电平有效,可作微处理的中断输入。
没有中断条件满足时,IRQ处于高阻态。
IRQ线是漏极开路输入,要求外接上接电阻。
RESET(复位输出):
当该脚保持低电平时间大于200ms,保证DS12887有效复位。
3.1.4LF398芯片介绍