-1-xxxxxxx大学学院xxxxxxxx专业xxxxxx题目基于AT89S52的数据采集系统电路设计姓名xxxxxxxxxxx学号xxxxxxxxxxx2014年05月14日-2-基于AT89S52的数据采集系统电路设计xxxxxxxxxxxxxxxxxxx摘要:数据采集是指从传感器和其它待测设备等模拟和数字被测单元中自动采集非电量或者电量信号,送到上位机中进行分析,处理。数据采集系统是结合基于计算机或者其他专用测试平台的测量软硬件产品来实现灵活的、用户自定义的测量系统。本文研究了一种基于AD7934-6的数据采集系统的实现,具体包括电源模块、信号调理模块、ADC驱动设计。利用AltiumDesigner软件,实现该四通道数据采集系统。关键词:四通道数据采集系统;AD转换;AD7934-6一完成的工作在查阅了相关数据采集系统文献的基础上,本文设计了电源模块、信号调理模块、ADC驱动设计。基于AT89S52完整地设计了一种基于AD7934-6的数据采集系统的硬件电路原理图及软件驱动。二总体设计方案1数据采集系统框图图1是数据采集系统原理框图,它由传感器、放大器和A/D转换器、CPU组成。图1数据采集系统原理框图2数据采集电路的设计(1)电源模块电源电路是给芯片提供电源的驱动电路,采用5V供电,电压转换芯片采用ASM1117芯片,把输入电压从5V转到3.3V,用于向单片机及其他低电源芯片供电。具体引脚配置如图2所示。仪表放大器压力(非电量)传感器A/D转换器CPU-3-图2电源模块(2)信号调理模块信号调理电路就是在AD转换前对信号调理的过程。送入数据采集系统的模拟信号经过传感器转换成电信号,电信号必须经过合理的信号调理电路才能达到较好的测量精度。信号调理电路就是从信号输入到ADC转换之间的模拟电路,包括输入电路、前置放大器等。对于本文设计具体的问题,根据传感器输出采用电流输出,四路输入电流信号为4-20mA标准电流输出,系统中电流采样是通过采样电阻将小电流信号转换成电压信号并且经过调理电路后进行采样。由于电流信号是通过AD7934-6模数转换器来完成,当参考电平设置为2.5V时,ADC采样口只能输入0~2.5V电压,所以调理电路输出应该不大于2.5V。本系统所设计的调理电路由单个运算放大器构成。本系统的采样电阻选择100Ω电阻,运算放大器选择的是LM358,其内部包含两个独立的、高增益、内部频率补偿的运算放大器,调理电压输出经过低通无源滤波输出。电流采样调理电路设计如图3所示。图3电流采样调理电路-4-(3)AD转换电路本文要求AD芯片为AD7934-6。AD7934-6是一款12位、高速、低功耗、逐次逼近型(SAR)模数转换器(ADC),采用2.7V至5.25V单电源供电。该器件内置一个低噪声、宽带宽、差分采样保持放大器,可处理最高达50MHz的输入频率。根据AD7934-6数据手册,设计出的相关AD转换电路如图4所示。图4AD转换电路(4)主控制模块微控制器是数字信号处理系统的核心部分,主要实现对外设器件(本文为ADC)的驱动功能、与外设器件的输入输出交互功能以及对输入的数字量进行处理存储功能等。本文设计的CPU与ADC接口电路仅是CPU对ADC的驱动接口电路以及输入输出接口电路。本文中选取CPU为单片机89S52。图5为CPU与ADC接口电路。-5-图5CPU接口电路3软件驱动程序设计AD7934-6芯片手册给出明确的字模式读、写数据函数的时序,分别如图6和图7。图6字模式读数据函数时序-6-图7字模式写数据函数时序AD7934-6采用先进的设计技术,可在高吞吐量的情况下实现极低的功耗,还提供灵活的功耗管理选项。利用一个片内控制寄存器,用户可以设置不同的工作条件,包括模拟输入范围和配置、输出编码、功耗管理及通道序列化。查询AD7934-6手册可以知道各引脚的功能如下:3V0VININ:4路模拟量输入端。DB0-DB11:数字量输出端,允许控制寄存器被编程且可提供转换结果的三态并行数字输入/输出引脚。CS,RD和WR端控制这些引脚。VDDRIVE端输入控制这些引脚的高/低电平等级。DDV:AD7934-6芯片的输入电压范围:2.7V-5.25V。电源与模拟接地端之间需加一个0.1μF的电容和一个10μF电容。B/W:字/字节输入。当输入逻辑高电平时,字传输模式被激活,数据通过AD7934-6芯片上的DB0-DB11端口进行传输。当输入逻辑低电平时,字节传输模式激活,数据和频道ID通过DB0-DB7进行传输。BUSY:忙碌输出端。逻辑输出指示转换状态。CLKIN:主时钟输入端。转换过程的时钟脉冲源应用于这个端口。CONVST:开始转换输入端。在CONST端输入一个下降沿信号可以激活转换。WR:写入端,有效的逻辑低电平与CS配合工作,向控制寄存器中写入数据。RD:读出端,有效的逻辑低电平与CS配合工作,访问经A/D转换得到的数据结果。-7-REFOUTREFINV/V:参考输入/输出端。CS:芯片选择,与WR、RD配合工作,读取经A/D转换得到的数据结果。或向控制寄存器中写入数据。主程序如下:N=0;DOUT=256D;//指向channel0DATA=DATAOUT;CTRL=011B;//初始化DOUT=DOUT+32;//指向下一channel(N+1)CTRL=100B;DATA=DOUT;CTRL=001B;//开channel0While(1);//主循环DOUT=DOUT+32;//指向再下一channel(N+2)CTRL=011B;//拉高if(DATAOUT352){DATAOUT=256;//重新赋循环初值N=0;}CTRL=011B;//采样channel(N)DATAIN=DATA;F[N]=0.03814697265625*DATAIN-25;//转换成压力值,零点偏移校正//数据类型转换具体实现时再考虑,仅处理成压力值,未作后续输出处理DATA=DOUT;CTRL=001B;//开channel(N+1)-8-参考文献:[1]李建忠.单片机原理及应用[M].北京:西安电子科技大学出版社,2005.115–128.[2]张毅刚,彭喜源,谭晓昀,曲春波.MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,2010.102–145.[3]吴勇军.智能数据采集系统设计与实现[J].电脑学习,2008.24(1):10–12.[4]谢自美.电子线路综合设计.2009.24(1):10–12.[5]侯晓霞,王建宇,戴越伟.微型计算机原理及应用.2009[6]AD7934-6datasheet.