常用的数据采集存储系统,是采用数据采集卡与计算机相连的方式,利用微机扩展插槽将经过数据采集卡采集的数据存储到微机硬盘中。但是,在一些特殊场合,如对高海拔地区的气温、湿度等气象数据的采集等,传统的联机采集方式受到制约。目前,虽然有可移动存储数据采集系统,但其价格昂贵、专业性强,通用性受到限制。
现在,基于USB接口的移动存储介质(如U盘、移动硬盘)已被普遍使用,并有专用接口芯片可以利用,笔者将其与单片机技术结合起来,设计了一种基于USB接口的大容量数据采集存储系统。该系统可以方便地与测量设备输出端相连,将采集的数据存储到U盘、移动硬盘等存储介质中,整个过程不需要PC机支持.具有通用性和大容量的特点,有效地解决了特殊场合的数据采集问题。
一、整体设计
数据采集系统所能处理的信号一般有以下五种:1.二路0-10V的电压输入端,适合于输出信号为电压的传感器或变送器,如电源电压的输出:2.二路O~lOOmA的电流输入端,适合于输出信号为电流的传感器或变送器;3.二路差分电压输入端,适合于电阻桥类传感器,如应变式压力传感器;4二路4mA—20mA标准电流输人端,针对输出信号为4mA ~20mA传感嚣或变送器信号,如带变送器的PT温度传感器;5.二路用来计数的数字信号输入端。
根据以上分析,本设计基于USB接口的大容量数据采集存储系统组成框图如图1所示。89C52单片机为中央处理器,控制整个系统的运转;前端信号处理电路负责将电压、电流等原始信号转化为适合于A,D转换芯片处理的o~5v和O~lOV电压;A/D转换芯片为8通道12位并行数据输出的MAX197:采集处理后的数据通过专用USB接口芯片CH375存储到移动存储介质中进行后续处理。此外,用户还可以通过由LCD显示器和按键组成的控制面板,方便地设置系统的各种采集参数和监测采集的进程。
二、硬件电路设计
1.电流转换电路
在将电流转换成电压时,为保证转换精度和较大的适用范围,要求I,v转换器有低输入电阻及低输入阻抗.故选用采样电阻加运算放大器的I/V转换电路,通过合理选择电阻,将O一lOOmA的电流转换为O~lOV的电压,既简单又满足了测量需要。
对于4mA_2QrnA标准工业电流,则采用ISO -A4 -P3 -04专用uv隔离转换器,直接将标准电流转换为o—5v电压。该lC内含一组高隔离DUDC电源和电流信号高效率耦台隔离变换电路等,可以将直流电流小信号直接转换为直流电压信号输出,具有很小的输入电阻(≤250Ω)和很大的输出电阻(≥2kΩ).能实现小信号远程无失真传输。该模块使用方便,免零点和增益调节,无需外接调节电位器等元件,即可实现测量现场信号的隔离转换功能(如图2所示)。由于与光电隔离器件产品相比,该芯片的电磁干扰能力不足,因此在印刷电路板制作中,务必采取抗电磁干扰措施。
2、电压处理电路
电压处理电路的主要作用,就是对原始信号进行滤波去噪,井将差分电压放大转变为单端电压。根据系统对电源、功耗和体积的要求,选用单电源仪表放大器AD623作为差分放大器。该放大器在单电源(+3V_12V)下能提供满电源幅度输出,并且使用单一电阻进行增益犏程,在接人外接电阻Rg后,可以获得I—OOO倍的增益,放大倍数可由公式G=l+lOOkΩ/Rg确定。一般桥路电压输出都在几十mV,因此选用Rg为1.02kn.放大倍数为100.电路如图3所示。
3、A/D转换电路
从采集系绕的精度、速率和通道数等几方面考虑,选取通用MAX197模数转换芯片。HAX197是一款多输入范围、多通道的12位模数转换器,只需单+5v供电,通过软件编程来选择8个输入通道中的一个进行模数转换。每个输入通道的模拟信号电平范围为O~1OV或o-5v.可以非常方便地与±12V和±5V供电的传感器接口;芯片内带采样保持器,转换时间为6μg,采样速率可达lOOkbps。该芯片提供数据读取并行接口方式,可与处理器简便连接,其电路如图4所示。
MAX197通过并行接口与MCU相连,数据总线与Mcu的mcu口相连,通道和采样范围的控制字,以及转换结束的数据都由pO口传输。HBEN为12位的转换结果选择端,当HBEN为高电平时.选择读取转换结果的高4位:
当HBEN为低电平时,选择读取转换结果的低8位。由于MAX197的转换时间较短且基本是一个固定值.故程序中没有采用中断方式,而是采用固定延时方式读取转换结果,以提高数据通过率和程序效率。在HBEN为高电平时,向MAXI97写人控制字,就能启动一次A/D转换。
4、存储电路
通过性能比较,系统USB接口芯片选用了CH375。CH375是一个USB总线通用接口电路,支持HOST主机方式和SLAVE设备方式,其内部已经集成了PU.倍频器,主从USB接口SIE、数据缓冲区、被动并行接口、异步串行接口、命令解释器、控制传输的协议处理器和通用的固定程序等。在本地端.OH375具有8位数据总线和读、写、片选控制线及中断输出,可以方便地挂接到单片机,DSP和MCU等控制器的系统总线上。CH375的USB的主机方式支持各种常用的USB全速设备,外部单片机、DSP和MCU可以通过CH375按照相应的USB协议与USB设备通信。
在本系统中.CH375采用并行接口方式,如图5所示。为减少外界信号的干扰,在制作PCB板时,退耦电容C3和C4要尽量靠近与CH375相连的引脚;D+和D-信号线应基本平行布线,并在两侧提供地线并覆铜;应缩短X1和xo引脚相关信号线的长度,减少高频时钟对周围器件的干扰。
5、其他电路
为方便用户现场选择采集方式,系统设计了由按键和液晶显示屏组成的控制面板。用户可以通过接键和菜单提示对采集方式进行选择和设置。为扩大系统使用范围,还利用单片机内部两个16位定时,计数器,使系统增加了计数功能,该系统也可以完成测频、测周期任务。
三、软件设计
程序采用KeiIC编译,并采用C语言和汇编相结合的方式编程,来提高采集精度和代码工作的效率。软件主要包括数据采集程序、数据存储程序及显示控制菜单程序。程序流程如图6所示。
在完成初始化并检测存储设备工作正常后,用户根据菜单提示,选择采集方式和采集通道,进人数据采集程序。整个程序包括A/D转换、计数等于程序。采集处理结束后,数据由存储程序存储到存储介质中。
USB接口数据传输采用CH375的U盘文件级子程序库.支持常用的FAT16和FAT32,文件系统,最大支持容量为IOOCb.支持多级子目录,支持文件打开、新建、删除和读写等功能。
文件每次打开、关闭和读写,都需要一定的时间。为提高程序执行效率和减少U盘攘写次数,系统对高速和低速数据采集设计了不同的存储方式。高速采集时,采用无缓存文件追加方式,即整个采集期间存储文件不关闭,每完成一次A/D转换,数据就追加到文件的末端,直至采集结束后文件才关闭。
低速数据采集时,采用有缓存文件追加方式,因低速采集单位时间内的数据量小,故系统将采集的数据先缓存到单片机数据存储区,等缓存区存满以后再将U盘存储文件打开并追加数据,数据追加完毕后关闭文件.等待下一次缓存区存满并追加数据,直至数据采集结束。