串口数据采集与处理虚拟仪器系统设计

串口数据采集与处理虚拟仪器系统设计,第1张

为解决TI公司提供的数据采集卡的成本过高问题,设计一套代替NI采集卡的数据采集系统。前端采集下位机硬件部分为基于LPC2378处理器的数据采集电路板,采用双缓存技术存储数据;上位机软件部分用Labview8.5虚拟仪器设计平台编写,采用循环和事件结构,界面友好, *** 作简便,实现了八通道数据的采集与处理。经实际运行测试证明,具有数据同时采集、实时显示、存储与管理、信号处理等功能,保证了数据准确性,同时采集设备的成本下降2~5倍。

  无线传感器网络是近几年国际研究的热点问题,而数据采集又是无线传感器网络系统性能*估、应用的基础环节。在数据采集过程中应用虚拟仪器可以尽可能地缩短数据采集的时间,同时降低实验成本,因此虚拟仪器在测控领域得到越来越广泛的应用。传统的前端数据采集设备都是,TI公司的数据采集卡,成本高且维修不便。本系统下位机采用NXP公司LPC2378为依托的数据采集电路板,上位机 *** 作系统基于La-bview8.5编写,通过串口通信实现了数据的实时采集,可以对采集信号进行处理分析并显示。

  l 系统设计

  数据采集系统分为下位机和上位机2部分,二者通过驱动程序组成采集系统。下位机是指直接控制设备获取设备状况的计算机,一般是PLC单片机之类;上位机是可以直接发出 *** 控命令的计算机,一般是PC,屏幕上显示各种信号变化,如图l所示。图中程序部分采用Labview来实现。在数据采集之前,先对下位机采集板卡进行初始化,其中处理器Buffer是下位机采集存储的重要环节。可以采用外部触发(比较精确),也可采用软件触发(容易实现)。由于上位机数据处理阶段要对采集到的一个周期的数据进行处理,所以系统采用软件触发,每个周期采样l024点。

串口数据采集与处理虚拟仪器系统设计,第2张


  1.1 下位机系统

  下位机系统为数据采集硬件平台,主要包括采集卡前端设备即传感器电路、核心处理器(即算法实现电路)、电源模块电路和通信模块电路。

  1.1.1 采集卡前端设备

  前端传感器采用飞思卡尔MMA7260加速度传感器。相比于老式线圈式振动传感器,MEMS传感器具有量程大、不易溢出、受外界气候因素影响较小等优点。采集原理图如图2所示,在采集信号放大之前进行抗混叠滤波,有效滤除了高频干扰。需要注意的是,探头需要提供+5 V供电才能稳定工作。本系统采集传感器Z轴数据,对探头安装位置没有特殊要求;若要采集X轴数据,必须注意探头X轴方向与地面平行,否则信号会发生畸变。

串口数据采集与处理虚拟仪器系统设计,第3张


  1.1.2 核心处理器

  从价格、 *** 作系统、接口类型、内存大小等条件考虑,该系统设计的处理器采用LPC2378,它是一款基于ARM的微处理器,包含10/100 Ethernet MAC、USB 2.0全速接口、4个UART、2路CAN通道、1个SPI接口、2个同步串行端口(SSP)、3个I2C接口、1个I2S接口和MiniBus(8位数据/16位地址并行的总线)。工作频率为72 MHz,ARM局部总线上有32 KB的SRAM,可以进行高性能CPU访问和简单的算法实现。

  1.1.3 电源模块

  考虑到MEMS传感器最佳工作电压为5 V,所以系统采用ZY2405WHBD-3W型DC-DC变换器,输入电压9~36V,输出电压为5V。其他部分主要起稳压作用,其电源模块电路如图3所示。

串口数据采集与处理虚拟仪器系统设计,第4张


  1.1.4 通信模块

  系统采用串口通信。利用处理器内部的10位D/A转换器,将采集到的模拟信号转换成数字信号,再经过调理电路后送由MiniBus采用RS2-32协议送达上位机。另外采集板集成了一块单CAN高速隔离收发器CTMl050,可以通过网口通信。串口通信需注意的问题是转换电平,数据采集端供电电平为+5 V,而处理器能接受的电平是+3.3 V,因此系统采用MAX3221电平转换器,以达到处理器要求。另外系统上位机串口名称与下位机一定要设置为同一名称,否则数据不能成功送到上位机,如图4所示。

串口数据采集与处理虚拟仪器系统设计,第5张


  1.2 上位机系统设计

  数据流程如图5所示,数据经下位机采集处理后,由通信模块通过串口发送到上位机,上位机主要包括数据读取、数据验证、数据处理及数据存储4部分。

串口数据采集与处理虚拟仪器系统设计,第6张


  1.2.1 数据读取

  即虚拟仪器设备串口初始化,包括:串口名称设置、超时设置、波特率设置、数据位设置、奇偶校验设置,等等。本系统采用的设置为:超时l000 ms;波特率115200;数据位为8位;无奇偶校验;其他采用默认值。

  1.2.2 数据验证

  数据验证包括数据读取、判断是否是有效数据以及数据报头是否正确。数据报头为8个FE,然后紧跟数据包。程序判断读取8个FE时开始读数并显示。

  1.2.3 数据处理

  系统为8通道,一次循环读取16位的数组,将数组第O个元素作为第1通道的低位,第1个元素作为第l通道的高位……,第15个元素作为第八通道的高位,分别显示:当满足采样点位数时,置位重新读取数据。在显示之前对数据进行预处理:去直流、峰值计算、滤波等等,由于Labview程序框图中有Matlab脚本文件,所以可以和Matlab混合编程,在Labview脚本框中直接写Matlab代码。由于程序运行时要调用Matlab控制台,所以混合编程要求控制机必须装载Matlab软件。

  1.2.4 数据存储

  当点击采集数据按钮时,系统提示选择存储路径,并存储为后缀名为‘.lvm’的二进制测量文件。上位机主程序如图6所示。

串口数据采集与处理虚拟仪器系统设计,第7张


  2 用户界面

  将8个MEMS传感器并排,然后拍击桌面的信号波形图。8个通道可独立使用,如直接一路传感器,其他通道数据都为0。可手动更改串口名称、波特率、停止位、奇偶校验、流控制、传输数据位和显示信号线的线性、颜色,界面友好。可根据需求添加峰值显示、频谱显示,傅里叶变换等复杂信号处理内容。通道l至通道8信号波形分别用:红、橙、黄、绿、蓝、靛、紫、洋红显示。

  3 系统特色

  1)系统采用了双缓冲技术,即将计算机Buffer分为2个相同区域Bufferl和Buffer2,数据先存往Bufferl,当Bufferl存满时,标志位置位,数据继续存往Buffer2,同时将Bufferl中的数据送往处理器进行处理,完毕后,Bufferl存数,Buffer2发送,如此循环,注意正确设置存储速度和处理速度之间的关系,以保证数据无遗漏。

  2)Labview编程与Matlab编程相结合进行数据处理分析。对于Labview中没有的数据处理功能可直接调用Matlab脚本文件,功能更加强大。

  3)上位机程序采用条件循环结构和事件结构设置,前面板和程序框图同时执行,最大程度地节省了CPU资源。界面友好,具有良好的可 *** 作性。

  4 结论

  本系统主要用于实验数据的采集,由于采用串口通信,所以设备布设简便,方便 *** 作。经实际测试证明系统性能稳定,信号失真度较小,很好替代了NI公司数据采集卡:同时可扩展性强,修改板子处理器ARM程序,采用CAN通信后,结合算法,即可用于工程需要,实时监测待控领域。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2537170.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-05
下一篇 2022-08-05

发表评论

登录后才能评论

评论列表(0条)

保存