基于USB的振动信号测试分析系统的设计与实现 下载本文

内容发布更新时间 : 2024/6/26 23:18:10星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

基于USB的振动信号测试分析系统的设计与实现

作者:蒋永华 莫晓强 俞益鸣 富佳伟 范春涛 来源:《现代电子技术》2013年第12期

摘 要: 针对工程测试对数据采集的实际需要,基于虚拟仪器的设计思想,采用USB 接口进行数据采集,设计完成了一套振动信号测试与分析系统。以USB2088数据采集卡为基础,依托VS2008开发平台,编写了系统的采集和分析程序,实现了对数据的保存、波形显示和频谱分析的同步进行。最后进行了实验测试,验证了系统采集数据准确无误,满足功能要求,性能稳定,便于广泛应用。

关键词: USB; 测试分析; 振动信号; 数据采集

中图分类号: TN919?34; TP274 TH761 文献标识码: A 文章编号: 1004?373X(2013)12?0129?04 0 引 言

随着科学技术水平的不断提高和生产技术的高速发展,机械工程振动测试技术也随之进入了一个崭新的阶段[1]。信号的实时采集和处理在科学研究、工业生产等领域有着广泛的应用[2]。随着被测系统越来越复杂,对测试仪器的速度、精度及数据处理能力的要求也越来越高。这就对设计提出了2个方面的要求:一方面,要求接口简单灵活且有较高的数据传输率;另一方面,由于数据量通常都较大,要求主机能够对实时数据做出快速响应,并及时进行分析和处理[3]。因此,对实时的、高精度的振动信号测试分析系统的研究有着现实的意义。 目前振动信号常用的数据采集方式是通过数据采集板卡, 如ISA总线,PCI总线,RS 422,RS 485等接口形式的A/D采集卡[4]。这种板卡不仅安装麻烦, 而且易受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。而通用串行总线(Universal Serial Bus,USB)正是顺应这一要求提出的,它集PCI和RS 232C的优点于一身,具有较高的传输速度,实现了真正意义上的“即插即用”(Plug & Play),同时一个USB主设备上最多可以连接127个外设[5]。

因此,本文将USB 技术应用于数据的实时采集。设计与实现了一种基于USB的振动信号测试分析系统。在硬件上采用USB接口,软件上采用VC++进行开发,采用多线程编程,使系统的效率从这两方面都得到提升。 1 系统总体方案设计

龙源期刊网 http://www.qikan.com.cn

从软件上看,该系统包括固件程序,驱动程序及应用软件。其中固件程序是采集卡商家以写好烧进采集卡硬件的程序,负责采集卡的采集工作。驱动程序和应用软件则装在计算机中,驱动程序是遵循USB协议编写的负责应用软件与采集卡正常通信的程序。而应用软件是人机交互接口,是实现信号分析处理各项功能的关键部分[6]。 系统预期将要实现的主要功能为:

(1)0~400 kHz的可调采样频率,0~20 V的可调电压范围; (2)可实现对单个和多个信号的实时同步采集与监视功能;

(3)能够对信号进行分析处理:通过从数据采集模块或存储模块的获得数据,结合分析参数的设置,实现信号实时波形显示、频谱分析、相关分析、统计特征分析、包络解调分析等;

(4)能实现数据的分段存储和波形的回放查看。 2 系统的硬件设计

系统硬件设计的重点是数据采集卡选型。在测试系统中,数据采集器是必不可少的组成部分,它是外部测控对象的信息与计算机交互转换的通道。目前现在的实时信号分析系统都是台式的,体积较大,现场使用和携带不是很方便[7]。

USB的出现很好地解决了以上问题。USB不仅具有快速的传输性能,而且USB协议本身具有很强的纠错能力,另外它的即插即用模式和易扩展性能都具有很强的发展前途和应用价值,很容易就能实现低成本,满足实时信号分析系统的要求。因此,本文采用基于USB2.0接口的数据采集卡。 3 系统的软件设计

软件系统设计与开发是整个分析系统开发的重点和难点。采用VC++为开发平台,进行系统软件设计。软件系统设计主要包括:软件系统总体框架设计、数据采集模块设计、信号分析与处理模块设计、数据存储模块设计等。 3.1 系统总体框架设计

基于硬件系统结构,将系统软件分为3个模块:数据采集模块、数据分析与处理模块和数据存储模块。三个模块之间,相互联系,其功能分别如下:

(1)数据采集模块:采集卡参数设置、采集设备的启停控制和复位,实现数据采集功能(连续采集或单次采集)。

龙源期刊网 http://www.qikan.com.cn

(2)数据分析和处理模块:通过从数据采集模块或存储模块的获得数据,结合分析参数的设置,实现信号实时波形显示、频谱分析、相关分析、统计特征分析等。 (3)数据存储模块:实现数据的存储和读取,并回放显示、分析处理的功能。 程序设计中,选用了单文档结构来编制应用程序[8?9]。首先将客户区分割为1行2列两个部分:左侧为电压值数字显示窗口,关联的类为CA/DDigitView(派生自CScrollView);右侧为图形显示窗口,关联的类为CA/DWaveView(派生自CScrollView)。

参数设置及分析控制采用2个对话栏,派生自CDialogBar,用户可以通过其进行采集卡参数设置和信号采集、分析控制。由于程序功能较为简单,故在界面上几乎就可以进行全部的操作,使用上极其方便。 3.2 数据采集模块设计

该模块用以实现数据采集卡参数设置、采集设备的启停控制和复位,最终实现数据采集功能(连续采集或单次采集),为后2个模块提供与设备相连接的纽带。主要包括:

(2)数据采集接口函数开发。A/D采集主要函数:创建设备对象函数、释放设备对象所占的系统资源及设备对象、复位整个USB设备、初始化设备对象、释放设备对象中的A/D部件、批量读取USB设备上的A/D数据、创建内核系统事件。

(2)A/D采集的A/DBuffer缓冲区中的数据排放规则制定。如果进行连续不间断循环采集,即只进行一次初始化设备操作,然后不停的从设备上读取A/D数据,那么需要特别注意的是应处理好各通道数据排列和对齐问题,尤其任意通道数采集时否则,用户无法将规则排放在缓冲区中的各通道数据正确分离出来。 3.3 信号分析与处理模块设计

(1)信号波形显示。通过“波形”来描述信号。通过编制算法,实现信号的实时采集,并进行波形显示。

(2)频谱分析。实现信号的频谱分析,能够正确识别各频率分量的位置,通过频谱幅值计算,可以得到原始信号的幅值大小。

(3)相关分析。在信号分析中,相关性是一个非常重要的概念,它表达了两个信号(或一个信号)不同时刻之间的线性相关程度,揭示信号的结构特性,因此相关分析成为了对两组信号的相关特性进行定量分析的一种技术,可以在噪声背景下提取信号中的有用信息[10]。相关分析主要实现:自相关分析和互相关分析。