基于STM32的无线次声采集系统的设计
2014-06-03李志华
马 军,李志华
(中国地质大学 机械与电子信息学院,湖北 武汉430074)
人耳所能接收到的物体振动产生的弹性波的频率范围为20 Hz~20 kHz,凡是低于这个范围的声波都称为次声波。次声波具有频率低、能量大、穿透力强,易于接收等特点。
长期以来的科学试验表明,地震、泥石流等自然灾害事件在孕育、发生和发展的过程中均可能向大气中辐射低频的次声波[1]。通过监测和分析这些次声波信号,对次声波源进行定位,研究次声波的产生和传播规律来揭示次声波信号与自然事件的关联性,可以达到预测和监测自然灾害事件并进行短期预警的目的[2]。高精度、高动态范围、稳定性强、可靠性高的次声波数据采集系统对次声波数据的采集以及进一步的研究应用都有着重要的意义。
本文设计采用低功耗、高可靠性的STM32作为主控制器,连接MAX293和24位精准模数转换器ADS1246,同时挂载SD卡、温湿度传感器、GPS模块构成一套无线次声波数据采集系统,通过串口与上位机通信完成参数配置,并且通过网口连接无线路由器实现数据无线传输到主服务器,达到远距离监测次声波的目的。
1 系统总体设计方案
系统的总体结构如图1所示,主要包括了次声传感器、信号调理电路、A/D转换、数据存储模块、电源模块、USB/串口、网口接口部分、GPS模块、3G转 WiFi模块以及基于LabVIEW平台的上位机部分。
2 硬件部分
2.1 次声信号的获取
InSYS2008型超低频次声测量传感器是一种电容式次声传感器,它具有温度系数低、工作温度范围宽、工作湿度范围宽,潮湿气候对灵敏度影响极小等特点,该传感器只对声波敏感,而对振动不敏感,具有很好的抗振动干忧性能和良好的长期稳定性[3]。该传感器的频率响应范围为 0.001 Hz~100 Hz,灵敏度为 750 mV/Pa,完全能够满足次声信号的采集要求。
图1 系统总体结构功能图
2.2 信号调理
次声波在大气中传播的过程中因风噪及地形因素造成的信号混叠、偶然事件引起的噪声以及系统噪声等是主要的干扰[4]。滤波电路设计采用八阶椭圆形滤波器MAX293,该滤波器具有很快的滚降速度,通带到阻带的过渡带可以很窄,它具有固定的频率响应函数,只需要设定所需要的截止频率即可。在本设计中,由STM32根据预设截止频率值的大小输出相应的CLK信号来实现。滤波电路如图2所示,其中AVDD为 5 V,DVDD为3.3 V。图中的NCMOS电路完成电平双向转换的功能,经实际应用中测试,它能在保留所需要的次声波信号频段信息的前提下,有效地抑制干扰。
图2 MAX29部分原理图
2.3 数据采集和处理
信号采集采用TI公司生产的ADS1246,它是一种24位Δ-Σ型高精度无失码模数转换器,最大数据输出率为2 kS/s,可以根据需要配置相应的寄存器,设置不同的采样率和PGA增益值。
数据处理采用STM32系列单片机作为系统的控制核心,它采用最新的32位ARM Cortex-M3内核,性能高、功耗小、成本低且处理速度快,工作频率最高可达到72MHz,并且还具有丰富的外设。在本设计中采用STM32F103ZE作为主控芯片,通过SPI外设接口分别与ADS1246和网络接口芯片ENC28J60直接进行通信,实现数据的采集和发送。相关原理图如图3所示。
图3 ADS1246和ENC28J60部分原理图
2.4 数据存储
在本设计中,网络暂时不通或服务器关机时,将数据保存在数据暂存器上,等到网络连通之后,再将暂存器上的数据文件发送到网口进行传输。暂存器采用大容量SD卡及USB盘,并且设置暂存优先级为:USB盘,SD卡。网络恢复后数据续传的优先级依然是:USB盘,SD卡。这样就能够达到将数据存储到USB盘中实现数据现场获取的目的。
3 软件部分
3.1 LabVIEW通信部分设计
上位机软件开发平台采用LabVIEW,它采用图形化编程的G语言,拥有面向数据采集、GPIB、串行仪器控制等丰富的扩展函数库,并且采用流程图式的编程方式,具有十分强大的功能。LabVIEW的编程设计分为前面板部分和程序框图部分,前者可以模拟真实仪器的前面板,用于设置数值和观察输出量,后者则是对应于前面板的G语言程序[5]。在本设计中,LabVIEW上位机设计主要包括控制面板和显示面板部分。前者主要向下位机发送控制命令,完成对采集系统采样率,滤波器截止频率等相关参数的配置,同时在收到下位机发送的配置完成信号后发启动命令启动数据采集等工作;后者主要用于现场监察仪器的工作情况,确保相关参数配置生效,同时也可以实现数据的现场实时观测和保存。
上位机和下位机通过串口中断的方式完成交互和握手。图4是LabVIEW上位机与STM32下位机部分通信的下位机软件设计流程图,主要包括控制命令的发送和ADC采集数据的接收和显示。
图4 LabVIEW与下位机通信路程图
3.2 STM32软件设计
STM32采用MDK作为开发环境,STM32软件设计主要包含SPI方式控制ADS1246,SPI方式控制网络接口芯片ENC28J60以及SDIO模式控制SD卡。相应设计部分的流程如图5所示。
系统上电以后进行初始化,然后接收LabVIEW上位机通过串口发送来的控制命令,完成相关参数的配置和启动数据采集。同时完成ENC28J60复位、工作方式设置等相关操作,然后等待网络连通。如果网络不通则将采集到的数据存放到暂存器中,当检测到网络连通时则根据设置的优先级将暂存器中的数据通过网口发送到远程服务器。
在本设计中,单片机接收到信号数据后可以将数据实时或者以固定的时间间隔分批进行传输,即可以通过LabVIEW控制面板设置传输以固定时间间隔T、每次传输数据长度为N的方式进行数据传输。数据采用二进制格式,每个数据为4 B的二进制码依次排列。另外,设计中又在每个数据文件的头部再加上64 B的字符数据,用以记录时间、经纬度等一些必要的信息,这样两部分构成了实际的数据文件。然后,再将每个数据文件发送到网口进行传输,传输采用TCP/IP协议。
4 测试与总结
图6为应用本无线次声波采集系统在服务器端用MATLAB绘制的次声信号时域波形图。图中的尖峰表示振动下次声场产生异常。反复实验测试表明本系统可以在噪声场存在的条件下较好地完成对次声信号的测量和传输,对次声信号的进一步处理、研究和应用都有着重要的意义。
[1]刘俊民,唐伟,王晓明,等.次声信号产生机理与特性分析[J].环境工程,2010,28(4):92-96.
[2]夏雅琴,胡争杰,郑菲.震前次声波特征信号研究[J].北京工业大学学报,2005,31(5):461-470.
[3]谢金来,陶中达,谢照华.高灵敏度宽频带次声传感器[J].核电子学与探测技术,2003,23(5):428-432.
[4]夏雅琴,王微,张斌,等.次声信号的数据采集系统[J].北京工业大学学报,2006,32(6):573-576.
[5]孙秋野,柳昂,王云爽.LabVIEW 8.5快速入门与提高[M].西安:西安交通大学出版社,2009.
图5 系统总体流程图
图6 服务器终端接收到的次生信号时域图