计算机与数字工程,2009.11,孔鹏基于LabVIEW的无线分布式数据采集系统孔鹏,方源达,柯富茗,刘临利(华中科技大学电子科学与技术系,湖北武汉430074)摘要基于图形化编程语言LabVIEW,结合单片机控制和无线通讯,构建了集散型结构的无线分布式数据采集系统,给出了系统总体结构、上位机LabVIEW软件设计、数据采集卡设计和通讯协议设计。该系统利用串行通信技术和无线通讯技术,将个人电脑(上位机)和数据采集卡(下位机)连接起来,实现多现场、多通道,实时或存储转发模式的数据采集、控制和数据处理。在RS-232接口波特率9600Hz条件下,实现最大集散距离1000米、8台下位机、48个通道、多传感器、多种采样频率、总数据流量最大870bps的数据采集。关键词数据采集分布式无线通讯LabVIEW中图分类号TP274文献标识码AWirelessDistributedDataAcquisitionSystemBasedonLabVIEWKONGPeng,FANGYuan-da,KEFu-ming,LIULin-li(DepartmentofElectronicScienceandTechnology,HuazhongUniversityofScienceandTechnology,Wuhan430074,China)AbstractThisarticleestablishesawirelessdistributeddataacquisitionsystem,basedongraphicalprogramminglanguageLabVIEWandthecombinationofSCM(Single-chipMicrocomputer)andwirelesscommunicationtechnology.Thearticleshowstheoverallstructure,software,dataacquisitioncardandcommunicationprotocolofthedesignedsystem.Utilizingserialcommunicationtechnologyandwirelesscommunicationtechnology,thesystemconnectsPCanddataacquisitioncard,andactualizesprocesscontrol,dataprocessingandreal-timeornonreal-timedataacquisitionwhichhasmulti-siteandmulti-channel.WhenthebaudrateofRS-232is9600Hz,thesystemcouldactualizedataacquisitionwhichhas1kmtransmissiondistance,8slavemachines,48channels,multi-sensor,awiderangeofsamplingfrequencyand870bpstotaldatatraffic.Keywordsdataacquisition,distributedsystem,wirelesscommunication,LabVIEWClassNumberTP274计算机与数字工程,2009.11,孔鹏1引言随着科学技术的发展和工业制造水平的提高,现代测试测量系统的测量对象越来越复杂、测量现场的分布也越来越广。这种变化促使测试测量系统向分布式、多通道系统发展,以满足多现场、多属性实时采集的需要。同时,集成技术的进步也推动测试测量系统不断向小型化、移动化、多功能和嵌入式模块化发展[1]。基于通用计算机的虚拟仪器具有可重复配置、编程简单、界面友好等特点,适合模块或功能频繁变更的测试测量系统。LabVIEW是虚拟仪器领域中最具代表性的图形化编程工具,被广泛应用于测试测量领域,已成为标准的数据采集和仪器控制软件。在飞机、舰船等大型复杂设备的测试测量工作中,不同测量现场距离很大,有线测量系统布线复杂,成本较高[2]。本文针对这种测试现场分布广、多属性采集和移动化、多功能等要求,基于图形化编程语言LabVIEW,结合串行通信技术和无线通讯技术,设计了无线分布式数据采集系统。2系统总体设计2.1系统结构系统为集散型结构[3],上位机以个人电脑(PC)为核心,下位机以数据采集卡为核心,上位机和下位机通过RS-232串口和无线通讯模块连接,实现电平和温度等信号的采集、过程控制、数据处理和显示。图1系统结构图如图1所示,用基于LabVIEW的上位机软件,通过RS-232串口和无线模块向下位机发送控制指令。下位机根据控制指令类型,控制AD芯片采集来自传感器的模拟量,并将数计算机与数字工程,2009.11,孔鹏据按照一定的数据格式组装和发送。上位机将传回的数据处理和显示。2.2通讯协议在测试测量系统中.PC与下位机间的数据传送方式有并行和串行两种。对于本系统,选用的无线模块(CWMDP05)能够与串口RS-232实现无缝连接,数据位数多(12位)、传送距离远(最大1000米)、传送速率较低(9600Hz),采用异步串行[4,5]传送方式在使用少量硬件资源的同时,能获得较高的可靠性。使用简单的握手协议建立上位机和下位机连接,控制指令为2个字节,包含下位机标志、通道标志和工作模式信息。下位机是否传送数据完全由上位机控制,在保证不发生冲突的同时,能获得较高的传送速率。在实时高速采集模式下,系统中只有一台下位机工作,每个采集点的12位数据以两个6位分别存放在2个字节中传送;在实时轮询采集模式下,系统中所有下位机同时工作,每通道采集频率由下位机数量和开启的通道数之积反比例确定,每次由上位机控制某台下位机的某个通道采集一个点,逐台逐通道轮询工作,数据在添加下位机标志和通道标志等信息后放在4个字节中传送;在非实时高速采集模式下[6],上位机控制一台或多台下位机同时工作,采集的数据存放于数据采集卡的存储器中,采集规定个数的采集点后,由上位机以轮询方式控制数据读出和传送,数据格式同实时轮询采集模式。上述通讯协议可以支持任意台数(至多8台)下位机。基于高扩展性的模块化软硬件设计,可以通过更新通讯协议和软件的通讯模块,支持更多下位机和更多通道。3硬件设计3.1无线模块系统无线通讯使用CWMDP05无线模块实现。CWMDP05是UART接口半双工无线传输模块,可以工作在433MHz/868MHz/915MHz公用频段。从接收转换为发送的时间为200us,从发送转换为接收的时间为800us。RF速率为12.6Kbps时,接收灵敏度为-113dBm。串口速率可选(1.2k/2.4k/4.8k/9.6k/19.2k/38.4kbps)。在系统中,设置CWMDP05无线模块的串口速率为9.6kbps,RF速率为12.6kbps。经验证,在此条件下可以实现无限长数据包的传送,从而实现数据的高速传送。CWMDP05无线模块休眠电流小于5微安,满足节能要求。具有1000米传输距离,使系统可以适应测量现场分布广的环境。工作温度-30℃~70℃,工作湿度10%~90%(相对湿度)。计算机与数字工程,2009.11,孔鹏3.2上位机硬件设计上位机硬件完成向下位机发送的控制指令,接收来自下位机的数据。上位机由带RS-232接口的PC机和CWMDP05无线模块构成,通过RS-232串行通信接口总线连接,两者的串口速率均设为9600Hz。控制指令由PC产生后,通过RS-232接口传送到CWMDP05无线模块,CWMDP05无线模块负责发送控制指令和接收来自下位机的数据,PC再通过RS-232接口完成数据读取。3.3下位机硬件设计下位机硬件完成接收上位机控制指令,控制AD采集,采集到的数据根据一定数据格式预处理后直接传送或存储后传送到CWMDP05无线模块,控制CWMDP05无线模块将数据发送给上位机。下位机由单片机、无线模块、AD芯片、存储模块和传感器组构成。图2下位机硬件结构框图图2为下位机硬件结构框图。下位机核心为MCS-51兼容单片机AT89S52,工作频率11.0592MHz,完成对CWMDP05无线模块的收发控制、对MAX196芯片的采集控制和数据预处理。AT89S52单片机具备看门狗模块,提高了系统的容错能力,提高了可靠性[7]。AD芯片选用MAX196,MAX196为采样频率100kbps的12位6通道AD芯片,可接受四种输入电压范围(±10V/±5V/0~10V/0~5V),配合传感器组可以实现多通道采集。下位机配置存储模块,在非实时高速采集模式下,单片机从AD接收数据后并不立刻传送到无线模块发送给上位机,而是将数据存入存储模块中。由于无须等待一个数据传送完成后再去采集下一个数据,可以实现高速采集。待采集完成后,再将数据从存储模块中读出发送给上位机。4软件设计4.1上位机软件设计上位机软件采用图形化编程语言LabVIEW编写[8]。LabVIEW在编写友好的用户界面和计算机与数字工程,2009.11,孔鹏数据处理方面具有简便、高效的特点。其VISA(VirtualInstrumentSoftwareArchitecture)[9]组件拥有大量通用PC接口的驱动,包括RS-232,能大大简化接口控制程序。在编程过程中,采用模块化的编写方式,使系统更容易调试和更新功能。上位机软件完成如下功能:初始化系统;根据使用人操作向下位机发送控制指令;控制串口和无线模块的收发;判断下位机采集状态并发送相应控制指令;读取和解析来自下位机的数据;显示实时或非实时数据曲线图;保存数据;根据使用人操作控制系统状态。上位机软件和下位机软件的数据接口依据通讯协议确定。图3为上位机软件流程图。图4为上位机LabVIEW软件握手协议子VI程序部分框图。图3上位机软件流程图图4上位机LabVIEW软件握手协议子VI程序部分框图计算机与数字工程,2009.11,孔鹏4.2下位机软件设计下位机软件采用C51语言编写。完成的功能有:根据上位机控制指令控制AD芯片采集;根据采集模式预处理数据;控制存储模块的写入和读出;控制无线模块收发指令和数据;向上位机报告采集状态。图5下位机软件流程图5采集速率系统工作于实时高速采集模式时,仅有一台下位机采集数据,每个采集点的数据用2个字节发送,并采用实时传输和显示的方式处理数据。系统运行速率的瓶颈在RS-232串行接口,在串口速率为9600Hz和没有校验位条件下,每个字节还有一个起始位和一个截止位,理想采集速率由下式计算:19600(Hz)480(Hz)2(811)f实际测试中,在多次采集共296.5秒内,采集129304个点,实际采集速率为436Hz。系统工作于实时轮询采集模式时,由于需要不断轮询各个下位机,收发转换频繁,总数据流量比实时高速采集模式稍低。系统包含4台下位机、每台6个通道时,每通道采集速率计算机与数字工程,2009.11,孔鹏10Hz~20Hz。系统工作于非实时高速采集模式[]时,各个下位机在采集过程中无须通过无线模块发送数据,避开了RS-232串行接口这个瓶颈,所以采集速率相对较高。单片机选用AT89S52(频率11.0592MHz),AD选用MAX196(采样率100ksps),存储芯片采用32K的低功耗静态RAM存储器62256(存取时间70ns),此条件下采集速率有单片机决定。采集速率的理论值在15kHz~30kHz。每台下位机6个通道,每通道采集速率1Hz~2000Hz手动可调,可持续采样1s~2000s。6结语本文提出的基于LabVIEW的无线分布式数据采集系统,具备多现场、多通道采集能力,提供多种采集模式。在RS-232接口波特率9600Hz条件下,实现最大集散距离1000米、8台下位机、48个通道,每通道采集速率1Hz~2000Hz手动可调。系统具有操作界面友好、布置简易和下位机增减方便等特点。通过更新系统通讯协议模块,可以支持更多下位机和更多采集通道,可扩展性强。适合应