一种多通道数据采集系统设计研究
2012-06-09马晓荣吴银川
马晓荣,吴银川
(1.陕西职业技术学院 陕西 西安 710100;2.西安石油大学 陕西 西安 710065)
数据采集技术主要研究信号数据的采集、存储、处理以及控制问题[1],数据采集技术在工业应用中极为广泛[2-5]。本文以C8051F020单片机为核心设计了多通道数据采集硬件系统,该系统通过USB与计算机连接,USB实现采集系统的供电和数据通信。针对该硬件系统,采用VB6.0软件设计了上位机控制软件[6]。该系统实现8通道、12位A/D采集,最大采样速率为100 ksps;采集系统通过计算机控制,实现多通道数据采集、数据处理以及数据文件二进制存储等功能,实现数据的多通道便携式数据采集。
1 系统设计
数据采集系统框图如图1所示。整个采集系统由上位机计算机软件(VB6.0软件)控制,控制软件实现采集通道、采样频率、采样点数(时间)等参数选择控制;控制软件以二进制文件格式记录采集数据,一次接收数据结束,软件自动将包含参数、系统时间的文件存储在指定目录中,方便采集数据的保存。硬件采集系统与计算机通过USB连接,通过USB实现双向通信,整个硬件采集系统的电源通过USB供电;由于C8051F020单片机和VB6.0软件均不支持USB接口,这里采用Silicon Laboratories生产的 USB to UART器件 CP2102,厂家提供计算机驱动,在VB6.0软件中采用虚拟串口技术实现USB的操作,方便用户的计算机编程。单片机C8051F020是硬件采集系统的控制器件,一方面接收计算机的通信指令,解析通信指令并控制A/D的采集以及交叉开关的控制;另一方面将A/D采集的数据按约定的格式发送到计算机,实现数据的保存。采集系统中选用12位、最大采样速率100 ksps的A/D转换器,通过交叉开关实现信号的8通道采集。为了降低采集系统的复杂性,体现系统的便携性,故选用C8051F020内部集成的A/D转换器。
图1 多通道数据采集系统框图Fig.1 Block diagram of multi-channel data acquisition system
2 软件设计
2.1 软件界面设计
多通道数据采集系统控制软件界面如图2所示。输入文件名(中英文均可);设置采集通道(可设置采集1通道到8通道,默认采集通道 AIN0)、采集时间(可设置 5~600 s,默认5 s)和采集频率(10~100 ksps,默认 10 ksps);设置通信端口(COM1~COM5,默认是 COM1),软件中利用虚拟串口技术,即把CP2102芯片所占用的USB口在VB6.0软件中虚拟成COM口,具体系统分配的哪一个COM口,可在设备管理中查看即可,运行软件时选择对应的COM口,如图2中系统中分配的是COM3,然后单击打开端口控件,端口状态指示变为红色,说明通信端口设置正确,串口的传输速率固定为576 000 bps;单击应用,软件将以上参数设置编译成相关的控制命令通过USB口发送到下位机C8051F020,下位机根据接收的命令执行相应的操作。
图2 控制软件界面图Fig.2 Interface chart of control software
2.2 控制命令设计
控制命令[7]由标志位(4 位,FL3~FL0)、通道选择位(3 位,CH2~CH0)、采样频率位(7 位,SAF6~SAF0)和采样时间位(10位,SAT9~SAT0)共24位数组成。标志位为固定的4位的二进制数1010,当下位机接收到控制命令时首先判断标志位是否正确,若正确执行命令的解析,若错误不做任何操作。通道选择由3位的二进制数表示,如表1所示,用000~111共8种组合表示同时采集模拟通道数。采样频率的范围为0001010~1100100 (十进制数为10~100), 对应采样频率为10~100 ksps。 采样时间的范围为 000000101~1000001000(对应的十进制数为5~600),对应采样时间的范围为5~600 s。组合控制命令格式如表2所示。例如参数设置为:采集通道0、采样频率10 ksps、采样时间5 s,依次发送到下位机的命令为:0xA0,0x28,0x0A,下位机 3 次接收完指令。
表1 采集通道选择Tab.1 Acquisition channel selection
2.3 握手命令设计
下位机接收到上位机的控制命令后,当接收到的FL3~FL0为1111时,下位机立即给上位机发送0xAA指令,上位机接收到0xAA后,弹出消息框说明指令发送成功。
表2 控制命令格式Tab.2 Control command format
2.4 数据传输和存储量计算
数据采集系统A/D采样率在10~100 ksps范围内,每个采样点需用两个字节 (12位)表示,这样采样间隔时间为10~100 μs。上位机和下位机之间的传输速率为576 000 bps,每个采样点(2个字节)的传输时间为28 μs,为了兼顾不同的采样率,下位机缓存采集的数据,适时发送数据。采集数据量按照为(采样率×采样时间×2)字节,例如当采样频率为100 ksps,采样时间为600 s时,数据存储量为12×107字节。
2.5 数据存储设计
多通道数据采集系统中选用12位A/D转换器,每个采样结果用12位的二进制数据表示,这里需要两个字节。下位机单片机收到控制命令、解析控制命令并启动A/D操作,单片机依次接收各通道的数据,暂存数据,并实时发送采集到的数据,上位机接收数据后,以二进制格式写入数据文件中,文件中的数据按照采样通道的顺序写入。
2.6 数据文件名设计
数据文件名设计应包含文件名、当前系统时间、采样通道、采样频率、采样时间等信息。如图2所示参数设置对应的文件名为:yali 20120528 AIN0 10 ksps 5 s这样在后续的数据处理中,做到见名知义。
2.7 交互式设计
便于操作者使用,控制软件在使用中采用交互式设计。若通信端口设置不正确,单击打开端口按钮,软件会弹出错误提示语,要求操作者重新设置。控制命令发送后,若接收到下位机发来的握手指令,软件则提示指令发送成功。接收数据时,通信指示灯不断闪亮,提示数据正在传输;数据接收时有进度条显示,显示完成接收数据的百分数,直至接收完成。
3 软件流程图
控制软件的流程如图3所示。启动软件后,输入文件名设置采样参数(采样通道、采集时间和采样频率),选择通信端口(根据计算机分配给CP2102的虚拟串口来设置),单击打开端口按钮,选择正确端口状态指示灯变红,如图2所示。当所有配置完成后单击应用按钮,命令发送,下位机接收正确命令后,发送握手指令,上位机接收到正确的握手命令时,软件提示指令发送成功。上位机软件接收数据并按采集通道的顺序存放,数据采集期间软件显示接收数据的百分数,直至接收数据完成,至此,执行数据采集完成,数据以二进制文件形式保存,方便后续对采集数据的后续处理。
图3 控制软件流程图Fig.3 Flow chart of the control software
4 结 论
本文设计了一种多通道数据采集系统,基于VB6.0软件,设计了上位机控制软件界面和控制命令,给出了控制软件的流程图,采集的多通道数据以二进制数据格式文件保存,文件名包含采样参数信息,方便对采样数据的后续处理。该设计成功用于阵列感应测井仪器的实验室研究中,实际应用表明,系统便携操作方便,达到了设计要求,取得满意的使用效果。
[1]吴银川,严正国,苏娟.基于DAQBench的数据采集系统的设计[J].仪器仪表用户,2008,15(3):32-33.WU Yin-chuan,YAN Zheng-guo,SU Juan.Design of data acquisition system based on DAQBench[J].Electronic Instrumentation Customer,2008,15(3):32-33.
[2]王东旅,杨俊峰,程宏才,等.地震数据采集系统中的数据传输系统设计[J].数据采集与处理,2011,26(4):494-498.WANG Dong-lv,YANG Jun-feng,CHENG Hong-cai,et al.Data transmission system design in marine seismic data acquisition system[J].Journal of Data Acquisition &Processing,2011,26(4):494-498.
[3]张煜,窦延娟,张晓东.机载激光雷达数据采集及数据处理[J].长江科学院院报,2010,27(1):13-16,21.ZHANG Yu, DOU Yan-juan,ZHANG Xiao-dong.Airborne lidar data gathering and data processing[J].Journal of Yangtze River Scientific Research Institute,2010,27(1):13-16,21.
[4]王学伟,王彦硕.基于以太网的数据采集及监控系统的数据通信研究[J].北京化工大学学报,2006,33(1):109-111.WANG Xue-wei,WANG Yan-shuo.Data communication based on Ethernet data acquisition and monitoring system[J].Journal of Beijing University of Chemical Technology,2006,33(1):109-111.
[5]梁志远.多通道数据采集系统软件设计[J].核电子学与探测技术,2010,30(3):426-428.LIANG Zhi-yuan.A design of software about multi-channel dataacquisition[J].NuclearElectronics&Detection Technology,2010,30(3):426-428.
[6]刘笃喜,王彩霞.VB在智能仪表的数据采集与处理中的应用[J].仪表技术与传感器,2008(12):44-45 LIU Du-xi,WANG Cai-xia.Application of VB in data acquisition from intelligent instrument and data processing[J].Instrument Technique and Sensor,2008(12):44-45.
[7]张家田,吕军,吴银川.一种高分辨率数据采集系统的设计[J].仪器仪表用户,2011,18(5):89-90.ZHANG Jia-tian,LV Jun,WU Yin-chuan.Design of high resolution data acquisition system[J].Electronic Instrumentation Customer,2011,18(5):89-90.