基于STM32的存储式声波信号采集模块设计

2021-07-19 00:24余愿
电脑知识与技术 2021年13期

余愿

摘要:为实现声波信号长时间采集存储的应用场景,本文设计了基于STM32的存储式声波信号采集模块。该模块选用STM32作为主控制器,使用24位模数转换器AD7767完成声波信号的采集,使用四片MicroSD卡组成大容量阵列存储电路,完成声波信号的存储。测试结果表明,本文设计的存储式声波信号采集模块存储容量大、精度高、功耗低,满足声波信号的长时间采集与存储要求,具有一定的实用价值。

关键词:信号采集;大容量阵列存储;AD7767;STM32

中图分类号:TP391      文献标识码:A

文章编号:1009-3044(2021)13-0259-02

开放科学(资源服务)标识码(OSID):

随着声学技术的发展,对声波采集模块要求越来越高,特别是在地质监测、海洋声学研究等应用领域。在应用领域内,声波采集模块的工作时间通常长达数月,这对声波采集模块的存储能力、功耗等提出了较高的要求[1,2]。而目前,大部分声波采集模块存储容量小,工作时间短,鉴于此 , 本文设计了基于STM32的存储式声波信号采集模块。

1总体方案

存储式声波信号采集模块总体设计框图如图1所示。模块主要由主控电路、模数转换电路、低噪声信号调理电路、大容量阵列存储电路和网络通信电路构成。主控电路通过网络通信电路与上层软件通信,获取工作参数。主要工作参数有:工作模式、转换速率、采样点数、系统增益等。模拟信号输入到该模块后,先通过低噪声信号调理电路对输入的模拟信号进行滤波、放大处理。然后,主控电路控制模数转换电路,完成模拟信号的数字化。最后,主控电路以自定义格式将数字化的信号以文件形式存储。

2硬件设计

2.1主控电路

主控电路采用基于高性能ARM Cortex-M3内核的STM32F207VCT6微控制器。STM32F207VCT6微控制器工作频率高达120 MHz,闪存高达1 Mbyte,SRAM高达128 KB,具备三个ADC、两个DAC、十二个通用定时器、2个UART、3个SPI、1个SDIO接口[3]。STM32F207VCT6微控制器资源丰富,性能强大,可以满足本模块的性能需求。

2.2模数转换电路

模数转换电路采用ADI公司的AD7767模数转换器作为核心器件。AD7767是高性能逐次逼近型24位过采样模数转换器,最高采样率达128KHz,具有较宽的动态范围和输入带宽、出色的信噪比和高直流精度,能够精确地采集模拟信号,适用于高精度数据采集场合[4]。其电路原理图如图2所示。

高速模数转换电路使用2.5V电源供电。AD7767的VIN+和VIN-分别作为差分信号的输入。VREF+基准电压为5V。MCLK为AD7767的主时钟,该时钟决定了AD7767的采样频率,主时钟输入频率和模数转换频率成线性关系。nSYNC为同步输入,可实现多个AD7767的同步,nDRDY是数据就绪输出,微控制器通过此下降沿读取数据。nCS是片选使能。ADC_SCLK、ADC_SDI和ADC_SDO是微控制器SPI接口的时钟输出和数据交互端,模数转换数据以二进制补码、最高位优先的格式输出结果。

2.3信号调理电路

低噪声信号调理电路采用两级信号放大电路构成。

第一级放大电路如下图3所示,左侧输入的差分信号经RC滤波网络后,分别进行同相放大滤波处理,放大倍数为6,运算放大器选择ADI公司的双通道高速电压反馈、低噪声、低功耗、轨到轨输出放大器ADA4805-2ARMZ。其静态电流为500mA,在增益为1时,提供105MHz的高带宽、160V/us的高转换速率和最大125uV的低输入偏置电压。

第二级放大电路原理图如图4所示,选择TI公司的差分放大器THS4531IDGK,其电压输入范围为2.5V~5.5V,使用单电源供电,是一款低功耗、全差分运算放大器,输入共模范围低于负轨到轨输出型运放。运放正常工作时放大倍数为5,做放大滤波处理的同时,由于模数转换器参考电压为5V,而差分信号输入范围为正负2.5V,因此运放2脚公共端输入为2.5V,即输出电平抬高了2.5V。

2.4大容量阵列存储电路

大容量阵列存储电路的功能是将模数转换电路采集的数字信号进行存储,其存储容量高达128G,因此本文选择使用4张MicroSD卡实现数据的存储,每张SD卡存储容量大小为32G。主控电路通过SDIO接口使用时分复用方法完成4张SD卡的写操作。

2.5网络通信接口电路

网络通信接口电路采用有人物联网科技公司的USR-C322模块。主控电路通过串口使用AT指令对USR-C322模塊连网配置,模块被配置成STA工作模式,搜索并连接上位机WiFi网络,上位机检测到模块连接后可以实现上层软件与模块的网络通信。

3软件设计

软件分为两大部分:系统命令执行和系统状态上传。其中系统命令执行是系统软件的核心,涉及采集任务的管理,系统状态上传确保上位机可以实时查看系统工作状态。

根据系统总体方案的需求,本论文完成了软件系统的总体架构设计,如上图5所示。系统的程序主要由若干中断服务子程序和四个RTOS任务程序构成。其中,采集单元的串口接收到命令后,进行命令解析。若命令为声波信号的数据采集管理命令,采集任务表管理程序响应并执行命令;若命令为其他控制命令,命令处理程序响应并执行命令。当AD7767中断发生时,采集任务表管理程序读取单个通道的模数转换结果,然后再任务数据打包上传程序将读取到的数据上传;当接收到获取工作状态数据采集管理命令时,状态数据采集程序读取状态数据,最终状态数据采集获取程序将读取到的系统信息数据按照自定义的通信链路层协议上传到上位机平台。

4测试

利用实验室现有的声波激发装置,激发一组声波信号,使用声波换能器接收声波信号。该声波换能器接至存储式声波信号采集模块。一次激发完成后,将SD卡中存储的数据导入到计算机,使用Matlab对数据进行读取和绘制。其绘制结果如图6所示。

5结束语

本文设计的存储式声波采集模块使用低功耗STM32微控制器、24位模数转换器和大容量阵列存储电路,实现了声波信号的采集与存储。该模块存储容量大、精度高、功耗低,满足声波信号的采集与存储要求,具有一定的实用价值。

参考文献:

[1] 赵金龙.基于STM32的单通道无缆存储式地震仪设计与实现[D].长春:吉林大学,2016.

[2] 赵圣飞.基于STM32的数据采集存储系统的设计与实现[D].太原:中北大学,2014.

[3] STMicroelectronics. STM32F207xx advanced ARM?-based 32-bit MCUs Reference manual[Z].2018.

[4] AD7767-24-Bit,8.5mW,109dB,128kSPS,64 kSPS,32 kSPS ADCs(Rev.C).Analog Devices Inc.2010.

【通联编辑:唐一东】