访问手机版页面
你的位置:老古开发网 > STM32单片机 > STM32单片机应用 > 正文  
基于STM32的实收实发超声波检测系统研究
内容导读:

1、引言

在高频的超声波数据采集及频率分析的应用中,通常会采用实收实发的系统来模拟收到信号,目前最经常采用的模式是使用下位机高速连续采样,上位机进行数据分析的模式,然后在将检测的信号通过D/A发送出去。这种模式可以完成M级甚至于G级的数据连续采样,目前已经在高速的工业信号采集中得到了广泛的应用。

提出基于STM32的实收实发系统,主控芯片采用目前最新的STM32F407芯片,属于ARM公司推出的最新一代低功耗高性能片上系统,内核为CORTexM4,最高主频可以到168MHz,内部采用ARM的精简指令集,单周期指令,并且集成了ARM公司的浮点DSP指令集,可以对数据进行信号滤波以及FFT运算,计算能力超过TI的200M主频的DSP;由于采用了片上系统设计,因此片内集成了大量的外设,具有较强的控制通信能力,很适合在工业控制信号处理中使用。整个系统基于STM32的低功耗设计,且系统体积较小,整个系统可以在不依赖主机的情况下进行独立工作,具有较好的应用前景。

2、系统组成结构

提出基于STM32的超声波实收实发系统主要由3部分构成:1)信号调理;2)数据采样分析;3)PWM发射组成。硬件总体设计如图1所示。

基于STM32的实收实发超声波检测系统研究

图1  总体设计方案

系统的核心处理器采用了基于CORTexM4内核的STM32F407芯片,最高稳定工作主频为168MHz,内核功耗仅为128μA/MHz,采用ARM的32bIT精简指令集,单周期指令,并且集成了ARM公司的浮点DSP指令集,拥有乘累加器与除法器,可以对数据进行信号滤波以及FFT运算,计算能力较强,并且可以采用开源的ARM-gCC编译器进行编译,软件设计较为灵活,同时意法半导体已经将芯片的内核及外设都编写了驱动库,更加简化了应用的难度。

3、信号调理部分设计

信号调理部分采用了模拟比较器输入的结构,结构如图2所示。

基于STM32的实收实发超声波检测系统研究

图2  模拟比较器输入结构

信号通过高速运放搭建的模拟比较器,比较器的比较电压通过STM32F407的DAC提供,用于初始化进行噪声采集,门限自适应,这样可以滤除存在于信道中的噪声。

信号经过了模拟比较器后得到了一个标准的方波信号,方波信号进入到STM32F407的IO口中。

4、信号判断及处理

首先利用STM32F407片内的ADC对外部噪声进行采集,由于需要判断的信号频率在300~500kHz,因此采样率需要设定为500kHz的2倍以上。

STM32F407的单个ADC控制器工作的最高频率为36MHz,并且一个采样周期最短为15个工作周期,因此最大的采样率为2.4MHz。不过对于更为高速的信号,STM32F407可以将3路ADC并联使用,形成交错采样,因此STM32F407最高的采样率为7.2MHz。

基于STM32的实收实发超声波检测系统研究

图3  噪声采集设计原理

为了 保证采样的精度,因此采用了2路ADC并联使用,使得采样率达到4.8MHz,保证了在500kHz的噪声频带上也能有10倍的采样率。噪声采集设计原理如图3所示。

将噪声采集后使用DMA传输8192个点的噪声信号,计算噪声的幅度,并根据噪声的最大值与均方根值确定比较器的电压幅度门限,然后通过DAC发出门限电压信号给比较器,形成电压门限。

承载了单频脉冲的待测信号经过了模拟比较器后变成了1个方波信号,方波信号进入了STM32F407芯片的PA0脚,在PA0脚中会产生一个上升沿的脉冲信号,该上升沿会触发中断,从而开始记录信号的脉冲次数以及信号的脉冲长度,通过脉冲长度与脉冲次数的商值可以得到信号的频率、脉宽。当信号的2次脉冲的间隔小于预设区间或者大于预设区间时,就会被判定为无效脉冲或者是噪声脉冲,由此减小信号的虚警概率。频率计算如式(1)。

单个信号周期时间=脉冲宽度时间/信号上升沿(1)

频率脉宽测量流程如图4所示。

基于STM32的实收实发超声波检测系统研究

图4  频率脉宽测量流程

经过频率计算后,通过定时器进行物理延时,模拟信号传播的时间,在延时后,启动PWM定时器,将测量的频率值输入至PWM定时器中。同时再启动一个定时器,作为控制PWM信号脉冲宽度的定时器。控制脉冲宽度的定时器控制发射的时间需要比检测到的脉冲长度长20%,以模拟接收到的高频声信号的拖尾现象。PWM脉冲发射控制流程如图5所示。

基于STM32的实收实发超声波检测系统研究

图5  PWM脉冲发射控制流程

5、软件设计

软件设计的分为了2个部分,第1部分为主功能模块设计,这部分的设计流程已在信号判断处理这部分中进行了详细的阐述;第2部分为总体工作模块,这部分需要对软件进行整体的架构设计,同时在整体框架下还包括了子通信模块。整体软件的架构如图6所示。

基于STM32的实收实发超声波检测系统研究

图6  软件总体设计流程

整体软件的架构由信号判断处理模块、延时工作模块、通信模块等4个部分组成,信号判断处理软件模块用于噪声门限、信号频率判断的程序。

第4个部分是SD卡的存储,STM32F407有一个SDIO的接口,可以实现4线SD卡存储或者是其他符合SDIO协议的设备工作,例如SDIOWIFI设备等。这里采用了基于2.0标准的SDHC卡,这种类型的卡出了容量远远大于第1代标准的卡以外,在初始化的程序上也有所不同,加入了CMD8命令用于确认工作电压是否稳定,具体初始化与工作的流程如图7所示。

基于STM32的实收实发超声波检测系统研究

图7  SD卡初始化流程

6、系统测试

首先建立测试环境,模拟一个40M距离的声传播反射通道,试验现场情况如图8所示。

图8  试验现场情况

系统测试首先给出噪声信号进行预处理,经过采集的噪声后,将数据通过进行保存并用于确定门限,噪声信号采集如图9所示。

基于STM32的实收实发超声波检测系统研究

图9   噪声信号采集

预处理结束后中接入3组单频脉冲信号,分别为300kHz、400kHz、500kHz的单频脉冲信号,初始信号通过传播管道进行超声传递,本系统根据噪声信号确定门限,检测到传播的信号,并准确测量出给定信号的频率,最终输出的PWM信号,输出信号结果如图10所示。图10(A)为输出的单个脉冲内的方波信号,图(b)为单频脉冲信号在长时间下的情况。

基于STM32的实收实发超声波检测系统研究

图10  PWM结果输出

7、结论

研究了基于STM32的实收实发系统,通过对比分析各种不同的信号发生系统,得出了本系统的设计方案:采用意法半导体公司基于ARMCORTexM4内核的STM32F407。系统实现了快速鉴频,测量脉冲宽度等功能;并且在检测结束后延时发射单频脉冲信号,并模拟信号拖尾的情况。同时还带有UART通信接口,采用DMA方式工作,用于与上位机的数据通信。数据采样的结果通过SDIO接口存入SDHC卡中。经过实际测试,系统的稳定可靠,频率计算精准,PWM频率精度高,本系统具有较好的应用价值。

标签:STM32,超声波,dsp,
来源:网络整理 作者:Les 时间:2017/12/23 15:05:00
相关阅读
推荐阅读
阅读排行
最近更新
商品推荐