新闻中心

EEPW首页 > 测试测量 > 设计应用 > 八通道串口数据采集与处理虚拟仪器系统设计

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

作者:时间:2012-05-23来源:网络收藏
1.1.4 通信模块

本文引用地址:http://www.eepw.com.cn/article/193840.htm

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

  

  1.2 上位机

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

  

  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所示。

  

  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通信后,结合算法,即可用于工程需要,实时监测待控领域。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭