APP下载

基于ARM的振动信号采集及文件存储系统

2015-07-03刘千令许兆健朱振池

单片机与嵌入式系统应用 2015年1期
关键词:程控嵌入式幅值

刘千令,许兆健,朱振池

(1.东南大学 软件学院,南京 210096;2.东南大学 电气工程学院)



基于ARM的振动信号采集及文件存储系统

刘千令1,许兆健1,朱振池2

(1.东南大学 软件学院,南京 210096;2.东南大学 电气工程学院)

为了更精确地对振动微弱信号进行采集,设计了一种基于ARM的嵌入式振动信号采集及SD卡存储系统。本文首先介绍了硬件电路的综合设计,完成了信号调理电路、SD卡硬件连接电路、USB连接电路和音频功放电路的设计,随后完成了软件和算法的设计,其中包括基于FatFs的文件系统、AD5245的自适应调节算法等。由对比试验和频谱分析可知,本系统可更精确地完成大批量的数据采集工作,具有较强的实用性。

信号采集;自适应;SD卡;文件系统

引 言

在机械结构的振动过程中,许多微弱信号包含机械运动的丰富特征信息,如故障特征信息等,有必要提取出来加以分析。在微弱信号提取过程中,有时信号非常微弱,极易受到外界的干扰而淹没于强噪声之中,有时被测信号振幅变化范围又很大,会绐信号采集带来很大困难。放大电路本身的噪声性能和频率特性也将影响信号的提取精度。对振动信号的采集及处理,通常是用普通的数据采集系统去采集,然后用数字信号处理的方法来提取数据的特征信息。但是,一些由于采集系统的不足对信息造成的损失,是后期的数字信号处理无法补偿的。振动信号的检测是机械系统状态检测和早期故障诊断的关键,机械系统早期故障引起的异常振动信号有时很微弱,而且持续时间短、信噪比低,容易淹没于背景噪声中[1-8]。

测量的方法、可测量的种类和范围应不断拓宽和更新,准确度要提高,可靠性要增强,并能够适应各种不同的实验环境需要,同时故障分析需要对大量样本进行对比分析,这就要求我们配备可移动的大容量存储介质[10-12]。针对此情况,本文主要研究了基于ARM处理器的振动信号的智能调节振幅数据采集电路设计和基于FatFs文件系统的SD卡的大容量存储系统设计。

1 系统功能结构

针对信息化管理程度,该系统设计成既可作为一个独立系统单独运行,又可作为功能模块无缝整合接入基于ARM的信息管理系统。该系统功能结构如图1所示。

图1 系统功能结构

信号调理模块:通过加速度传感器采集微弱振动信号,进而经过信号调理电路(包括程控调节增益)送到LPC1768的A/D转换模块进行采集。

PC机通信模块:通过USB接口与PC机通信,可实现文件数据的增加、删除、新建等功能。

SD卡存储模块:基于FatFs文件系统的存储设计,通过SPI总线与主芯片通信,可完成数据的任何格式(如Wav)的写入,也可对SD卡内的数据进行读取。

语音播报模块:在测试过程中实时语音提醒用户当前的操作状态,语音命令预存储在SD卡内,可通过SPI总线通信进行。

2 硬件电路设计

2.1 信号调理电路设计

信号调理电路主要包括压电式加速度传感器、电荷放大电路、两级程控放大电路、带通滤波电路和电压抬升电路等。

加速度传感器:把振动信号转化为电荷信号,此处采用压电式加速度传感器,灵敏度高达1.294 pC/m·s-2,本实验主要测试频率段为1~10 kHz。

带通滤波电路:设计由低通滤波电路和高通滤波电路组合的带通滤波电路,可根据通带频率计算出电阻电容值,本实验通带频率为1~10 kHz。

电压抬升电路:利用运放将电压抬升到1.5 V,同时增加了电位器的设计,可实现对抬升电位的灵活调节。

2.2 信号放大电路设计

该调理电路最突出的特点是运用数字电位器AD5245来实现对信号的自适应放大,如图2所示。

图2 信号放大电路

数字电位器AD5245可实现与机械电位器或可变电阻相同的电子调节功能,具有增强的分辨率、固态可靠性和出色的低温度系数性能,可通过IC兼容型数字接口控制,其调节范围可达256位。在数据采集中,主芯片LPC1768通过预采样值来判断AD5245的调节范围和调节方向,并通过I2C总线对放大倍数进行调节。

由表1可知,AD5245有多种连接方式。针对此实验,本文采用的连接方式如图3所示。

表1 AD5245各引脚功能

图3 AD5245接线图

这种接法放大器的放大倍数为Rd/R,可对放大倍数进行256位分辨率的调节。

3 软件及算法设计

3.1 FatFs文件系统

FatFs是一个为小型嵌入式系统设计的通用FAT文件系统模块。FatFs的编写遵循ANSIC,并且完全与磁盘I/O层分开。独立于硬件架构,可以被嵌入到低成本的微控制器中。其结构图如图4所示。

图4 FatFs结构图

FatFs具有非常清晰的层次结构,应用层为用户提供一系列API函数,如f_open、f_close、f_read、f_write等,用于对文件的读写等;中间层FatFs Module为Fat协议层;最底层是用户在移植过程中需要处理的接口,包括存储媒介读/写接口DiskIO和文件修改时间所需的实时时钟。根据层次式软件设计的思想,将软件工作分为3步:SD卡的通信实现、RTC时钟配置和FatFs的移植。

① SD卡的通信实现。通过SPI总线系统实现SD卡与LPC1768、PC机的通信,可实现采样数据的自动存储与通过PC机对SD卡内数据的新建、删除、修改和查找等功能。主要包括SPI模式的配置、SPI字节的读写实现、SD卡的读写实现和USB接口的配置。

② RTC时钟配置。利用LPC1768内含的RTC设备实现实时时钟功能,主要包括时钟频率的选择SysTick_Config、RTC实时时钟的初始化RTC_Init及设定RTC_SetFullTime,为文件系统提供准确的时间,可实现对每个存储文件的时间标记。

③ FatFs的移植。对FatFs接口函数的编写,主要包括:存储介质初始化函数disk_initialize、存储介质状态检测函数disk_status、读扇区函数disk_read、写扇区函数disk_write、存储介质控制函数disk_ioctl等。

3.2 算法设计和软件流程实现

LPC1768微控制器内置一个8通道的12位A/D转换器,而该采集系统仅用到单路信号输入,可以实现较高频率的采样,提高了采集数据的精度。软件设计思想是在系统初始化后首先进行模式的判断,分为采集模式和USB通信模式。在采集模式下,正式数据采集存储前先进行数据预采集,对预采集的信号进行采样处理,计算采集到的信号的幅值差,并与满量程3.3 V进行判断是否需要调节和计算出调节值。通过I2C总线来调节AD5245,预调节完成后进行正式信号采集,把采集到的数据进行数字滤波并存储到数组中,数组中的数据通过SPI总线存储在SD卡中,存储完成后通过功放播放语音信号提示完成。USB模式主要为SD卡中数据与PC机的通信。主流程如图5所示。

图5 系统主流程设计

3.2.1 信号幅值检测的算法

在程控放大器的设计中,对被测信号振幅的检测至关重要,它是实现程控放大的关键。以往的程控放大器,多数是根据被测信号的幅值来调节程控放大器的放大倍数,此方法比较适合直流信号的检测。交流信号的幅值是变化的,若根据被测信号的幅值调节程控放大器的增益,需要时刻改变程控放大器的增益,这将浪费CPU的很多资源,影响了A/D转换的速度,限制了被测信号的范围。因器件程序的计算和器件的延时也会给测量结果带来很大的误差,不适合做高频信号的采集。

故本设计采用预采集进行幅值判断,具体方法为开辟定长的数组Buffer用来存储预采集信号,同时注意在设定此Buffer长度的时候,一定要满足该长度至少为待采集信号的一个周期,然后对预采集信号进行处理判断,确定调节值及调节方向。

对预采集信号的处理:首先要计算出数组中的最大值和最小值,由于定义的数组可能较大,故给出一种新的算法代码,以大幅提高其效率(n很大时)。具体做法是:每次成对地处理数据,先将一对元素进行比较,然后把较大者与当前最大值比较,较小者与当前最小者比较,因此每两个元素需要比较3次。具体实现时需考虑n的奇偶,n为奇数,3×(n/2)次;n为偶数,3n/2-2次,因此总的比较次数至多为3×(n-2),大大提高了计算的速度。

根据以上算法可得ΔV=Vmax-Vmin,故需要调节的放大倍数β约为:

(1)

同时读取此刻的AD5245_R值,可计算出将要调节的AD5245_W的值如下所示:

(2)

此时的电阻值为Rd:

(3)

这样就计算出了需要调节的AD5245_W的调节值,通过I2C总线通信完成调节,进而进行数据的正式采集。

4 实验结果及分析

通过对系统进行设计和实现,并对系统进行了测试,在采样频率为50kHz下,对振动信号进行采样分析,预采集信号时间长度为50ms,正式采集长度为400ms,由频带为1~10kHz的激励源来激振被测物体,同时实验存储数据格式为标准的WAV格式。通过USB接口上传到PC,用上位机频谱分析软件对实验数据原信号和频谱分析进行对比试验,试验现象如图6所示。

图6 信号采集原信号对比

通过对普通采样系统和本系统采样的原信号对比,可见在相同振动激励下普通信号采集系统采集出信号的幅值最大值约为1000,并未填满A/D转换采集模块最大的量程4 096。而本系统通过对信号的自适应放大,可将采集信号幅值最大提高到4 000左右,在一定程度上提高了信号采集的精度。

对普通采样系统和本系统采样信号的频谱分析图进行对比,如图7所示。

图7 信号采集频谱分析

可见普通采集系统的信号的频谱分析不仅能量值较

[1] 王冬星, 程书伟, 张丽华,等. 基于ARM的数据采集与存储系统的研究与实现[J]. 计算机工程与设计, 2012, 33(12): 4526-4530.

[2] 李桂香, 常赟杰. 嵌入式数据采集系统设计[J]. 计算机时代, 2010 (3): 33-35.

[3] 李美俊, 李光明. 基于嵌入式的数据采集系统设计[J]. 煤炭技术, 2012, 31(2): 178-180.

[4] 范寒柏, 王少仙, 彭安,等. 大容量SD卡在海洋数据存储中的应用[J]. 单片机与嵌入式系统应用, 2010(4): 30-32.

[5] 王飞. 大容量信号采集存储系统研制[D]. 哈尔滨:哈尔滨工程大学, 2011.

[6] 刘爽, 赵凯生, 龙再川,等. 基于ARM和FPGA的嵌入式CCD采集系统[J]. 光电子·激光, 2007, 18(11): 1296-1298.

[7] 彭国盛. 基于ARM和以太网的振动信号采集器设计[J].电力自动化设备, 2007, 27(1) :87-89.

[8] 江俊辉. 基于ARM的嵌入式系统硬件设计[J]. 微计算机信息, 2005(20): 120-122.

[9] 张波, 朱新华. 基于ARM的数据采集系统设计[J]. 火力与指挥控制, 2009, 34(2): 127-129.

[10] 王红亮, 符多铎, 广威,等. 基于ARM的数据采集存储系统设计[J]. 火力与指挥控制, 2014 (1): 119-121.

[11] 苏维嘉, 阮彬鑫, 李鑫,等. 基于ARM和SD卡的汽车安全性能检测仪[J]. 仪表技术与传感器, 2013(1): 41-43.

[12] 李永建, 李舜酩, 郝青青,等. 微弱振动信号自适应采集系统设计[J]. 现代电子技术, 2009, 32(5): 187-190.

刘千令(硕士研究生),主要研究嵌入式通信、智能电网。

Vibration Signal Data Acquisition and File Storage System Based on ARM

Liu Qianling1, Xu Zhaojian1, Zhu Zhenchi2

(1.School of Software Engineering,Southeast University,Nanjing 210096,China;2.School of Electrical Engineering,Southeast University)

In order to accurately collect the weak vibration signal,a system based on ARM including vibration signal acquisition and SD card storage is designed.This paper first introduces the integrated design of the hardware circuit,including the signal conditioning circuit,SD card hardware connection circuit,USB connection circuit and the design of the audio power amplifier circuit.Then the software and algorithm design are completed,including the FatFs file system,AD5245 adaptive control algorithm.Through the contrast test and spectrum analysis,the result shows that this system can be more accurately to complete the work of data acquisition in large quantities, and it has stronger practicability.

signal acquisition;self-adaption;SD card;file system

TP271

A

迪娜

2014-08-05)

猜你喜欢

程控嵌入式幅值
AFM轻敲模式下扫描参数对成像质量影响的研究
《液压与气动》常用单位的规范
基于单片机的程控增益放大器设计
TS系列红外传感器在嵌入式控制系统中的应用
基于Multisim10和AD603的程控增益放大器仿真研究
搭建基于Qt的嵌入式开发平台
基于S变换的交流电网幅值检测系统计算机仿真研究
嵌入式软PLC在电镀生产流程控制系统中的应用
程控增益射频宽带放大器
正序电压幅值检测及谐波抑制的改进