基于AT89S52多路数据采集系统的设计*
2011-09-06王明艳王丹凤裴向东李玮娜魏海潮
王明艳,李 瑞,王丹凤,裴向东,李玮娜,魏海潮
(1.中北大学信息与通信工程学院,山西太原 030051;
2.中北大学仪器科学与动态测试教育部重点实验室,山西太原 030051)
0 引言
现代工业控制、自动检测技术中的数据采集与处理是将现场的电压、电流、压力、流量、温度、角度等模拟信号和一些开关量信号进行采集,转变成数字量,再根据不同的需要对这些数字量进行相应的计算和处理,得到所需的数据,然后将这些计算结果反馈给用户或被控系统,达到监测和控制的目的。完成这个功能的系统就是数据采集与处理系统[1]。
数据采集的主要技术是采集速度和精度。采集速度主要与采样频率、A/D转换速度等因素有关,采集精度主要与A/D转换器的位数有关[3]。本系统就是一种以单片机为控制器,对数据进行存取和发送并显示的数据采集系统。一个实时控制系统一般需要完成数据采集、模数转换、数据存取及发送等任务。CS5532进行模数转换,AT89S52控制A/D转换并将读取到的数据发送给工控机[5]。这样,在高速的数据采集时,就避免了微机系统操作时速的限制,大大地提高了数据采集系统的效率。从而满足了控制系统的实时、高速控制要求。
1 多路采样系统的总体设计
多路数据采集对系统的软、硬件性能要求很高。本文使用高速串行接口A/D芯片(CS5532)与单片机组成数据采集系统。该系统以AT89S52单片机和24位串行芯片A/D(CS5532)构成。数据采集的精度能达到24位、同时串行A/D与单片机之间采用SPI接口,可以同时驱动四路A/D,信号增益可以达到32位,出口速率可以达到400字/秒,能形成多路高速数据采集系统。
本采集系统的硬件电路由主控部分(单片AT89S52)、模数部分(A/D芯片CS5532)、显示部分(八段数码管)3个部分组成。各部分之间相互协作,实现数据采集的功能。其硬件结构如图1所示。
图1 硬件系统结构示意图
2 多路采集系统的硬件设计
整个硬件系统是以单片机AT89S52作为主控芯片[3],控制整个电路的运行。为了能使单片机正常工作须在其外围加复位电路。即:采用稳定的硬件复位方式。本系统采用看门狗X5045作为复位电路的主要芯片用来控制复位的完成。采用X5045有以下优点:(1)上电可以自动发出复位信号。(2)当单片机的电压降到一定时X5045的复位引脚会给出一个复位信号使单片机复位。(3)当程序进入死循环时X5045会给出一个复位信号使单片机恢复正常。控制硬件电路原理图如图2所示。
AT89S52具有系统可编程功能,可以很方便地改写单片机存储器内的程序不需要把芯片中从工作环境中剥离,把AT89S ISP下载口接入电路,可用电路实现该功能[2]。为了满足系统对波特率的要求AT89S52需要接入一个22.1184MHz晶振,用来调整时钟。
MAX232是一种常用的通信芯片。MAX232与单片机AT89S52的接口是由2条线来完成的,P3.1与MAX232的10脚相连作为发送的数据线。
CS5532是一种高精度的A/D转换芯片,最高可得到分辨率是24位的输出结果。CS5532的差动输入端可以直接测量来自传感器的毫伏信号,简化了与外围电路的连接[4]。可编程增益放大器可使放大倍数从1~32进行设定(以2倍步长增加),大大提高了系统的动态特性。多级程控数字滤波器使得数据输出速率可选择。范围为7.5 Hz~3.84 kHz,方便了与外设的连接。由于它的宽动态特性、可编程输出速率、灵活的供电方式及简便的三线串行输出模式,使得该A/D转换器极易和单片机接口。在使用CS5532时须在其外围接一个参考电压和一个晶振电路。CS5532的差动输入端可以直接测量来自传感器的毫伏信号,简化了与外围电路的连接[6]。其电路图如图3所示。
八段数码显示管有两种,一种是共阳数码管,其内部是由八个阳极相连接的发光二极管组成;另一种是共阴数码管,其内部是由八个阴极相连接的发光二极管组成。二者原理不同但功能相同。本文选用8个共阴八段数码管LED用来显示A/D转换完成的数据。
图2 AT89S52控制电路
图3 CS5532的电路图
3 软件实现
本系统中单片机AT89S52是对整个过程的控制和协调作用。使各部分能够有序的运行完成数据采集、显示以及与工控机进行通讯的功能。软件总的流程图如图4所示:
图4 软件总流程图
4 数据采集系统的的调试
本系统基于AT89S52兼容单片机为核心,其具有良好的性能价格比,用它对数据进行存取,用CS5532进行模数转换,再通过AT89S52控制A/D转换并将读取到的数据发送给工控机。本系统实用性强,能够很好地实现多路信号采集测量,结构较为简单,成本低,外接元件少。
调试结果如图5所示:
图5 数据采集系统调试出来的显示
5 结论
本文设计采用单片机(AT89S52)与24位A/D芯片(CS5532)构成数据采集系统,实现了四路模拟量到数字量的转换。将转化完的数据通过数码管显示,同时可以通过串行口发送给上位机(工控机或PC机),实现了数据的后期存储与分析。基本完成采集系统的各项功能。但是经过A/D转换过的数据不是很稳定,可能由于硬件的滤波电路做的不够精细。还有待进一步的研究和改进。
[1]畅福善,苏世栋.VHDL语言与数字系统设计[M].太原:山西科学技术出版社,2005.
[2]李朝青.单片机原理及接口技术[M].北京:北京航空航天大学出版社,2005.
[3]潘琢金.C8051FXXX高速SOC单片机原理及应用[M].北京:北京航空航天大学出版社,2002.
[4]高明.24位模/数转换器CS5532及其应用[J].维普资讯.2002,7(3):40-42.
[5]朱承学.C语言程序设计教程[M].北京:中国水利电力出版社,2004:13-190.
[6]胡向东,刘京诚,余成波.传感器与检测技术[M].北京:机械工业出版社,2009.