当前位置:首页 期刊杂志

基于FPGA的超声波信号处理设计与实现

时间:2024-05-22

曹淑琴,赵新超,,袁开国,曹晨磊

(1.北方工业大学 信息工程学院,北京 100144;2.北京邮电大学 网络与交换技术国家重点实验室,北京 100876)

超声波是指频率高于人耳听觉上限的一种声波,它的频率范围从20 kHz起,其上限可高达1014Hz。由于超声波具有方向性集中、衰减小、穿透力极强等特点,所以超声波检测作为无损检测中一个重要的方法已经在国防工业、机械制造等领域得到广泛应用。它的检测原理是利用材料本身或内部缺陷的声学特性对超声波传输的影响,非破坏性地探测材料内部和表面的缺陷(如裂纹、气泡、夹杂等)大小、形状和分布状况及测定材料的性质[1]。超声波探头的发射频率一般为2 MHz~4 MHz。

目前,超声波探伤仪作为探伤的一种工具,已经取得了飞速发展。参考文献[2-5]等讨论了目前比较常见探伤仪的设计方案,其中多以单片机作为系统的核心控制器,DSP或CPLD作为系统的数据处理单元,此类设计方案的软件部分非常复杂,实现成本较高;另外由于DSP和CPLD的数据处理速率较慢,使得缺陷显示中B超图显示的时延过大,钝屏现象时常发生,这就很难满足在探伤过程中对实时性的要求。

为了解决上述设计方案中出现的问题,本系统采用Cyclone II系列FPGA(现场可编程门阵列)芯片作为数据处理核心模块[6],采用ARM芯片作为系统的核心控制器,实现了针对回波数据的高速处理。

1 系统的整体架构和工作原理

为了使方案的描述更为清晰,图1给出了超声波探伤仪整体设计框图。

探伤仪系统的工作原理可描述为:系统初始化后,ARM向FPGA信号处理模块发送通道选通及高压生成控制信号,通过指令转换发送至模拟电路控制单元,然后由模拟电路控制单元控制超声波发射模块产生瞬时高压脉冲,经过探头内的压电晶片产生超声波发射信号;当超声波在钢轨介质传播中遇到缺陷时,它将立即返回接收探头,并通过探头内的压电晶片转换为电信号传送至超声波接收模块;接收模块对回波信号进行模拟信号处理后送至A/D采样;再由FPGA对采样数据进行相关处理;最后由ARM核心控制模块对FPGA发送的数据进行合成,并送至显示屏显示,且产生报警信息。

FPGA模块在系统中的作用是:与ARM核心控制器进行数据交互,把控制信息发送至模拟电路;接收A/D采样值;配合位移传感器信息对回波信号进行高速处理,并把处理结果以数据包的格式发送至ARM模块。

2 FPGA硬件电路设计

系统选用Altera公司推出的Cyclone II系列产品,型号为EP2C15。FPGA模块硬件结构原理如图2所示。

2.1 ADC和位移传感器

图2中FPGA芯片前端采集的数据有A/D数据和位移传感器数据。本系统采用A/D芯片的采样精度是10 bit,最高采样频率为105 MHz。根据超声波在钢轨中传播速度为5 900 m/s,系统设定的采样频率为100 MHz,在通道重复频率为800 Hz前提下,系统的垂直采样精度可以不低于1 mm。位移传感器的作用是把探伤仪移动时的位移信息传送至信号处理模块,FPGA根据A和B两个输入管脚的电压相位相差90°这一特性,来读取相应的位移信息。

2.2 时钟和电源

FPGA的时钟输入为50 MHz,系统提供了4个锁相环,通过软件配置,可以把时钟频率提高至所需的频率。

FPGA有 3个配置元素:可编程逻辑块(CLB)、I/O块(IOB)和局部互联。CLB提供功能性逻辑单元,IOB提供封装引脚与内部信号线之间的接口,可编程互联资源提供布线途径以连接CLB和IOB的输入和输出。其中CLB的电压为内核电压(VCCINT),I/O模块的电压为I/O电压(VCCIO),因此系统内FPGA芯片需要2个配置电压3.3 V和1.25 V分别为I/O口和内核进行供电。本系统采用高精度DC-DC芯片实现了所需的电压变换。

2.3 JTAG接口

当FPGA芯片工作在JTAG BST模式下,应使用4个I/O引脚和1个可选引脚TRST作为JTAG接口引脚。4个 I/O引脚是 TDI、TDO、TMS和 TCK,其含义如表 1所示[7]。

表1 边界扫描I/O引脚功能

2.4 SRAM

系统选用SRAM的型号为IS61LV6416,容量大小为1 MB,接口速率可达125 MHz。它与FPGA互联的接口电路如图3所示。

图3 SRAM与FPGA接口电路

图3中,SRAM的数据线和地址线均为16位。各个功能端口的定义依次为:为片选信号,为输出使能端,为写入使能端,为低字节(I/O0~I/O7)有效使能端,为高字节(I/O8~I/O15)有效使能端。各控制管脚均为低电平有效。

3 FPGA软件设计

本系统软件是在Quartus II编译环境下采用VHDL语言开发实现。FPGA软件的逻辑结构设计可以划分为10个模块,如图4所示。

FPGA的详细工作流程是:系统开机后,各个模块进行初始化;当ARM发出中断请求后,FPGA响应请求并接收控制信号,然后把控制信息转发至前端模拟电路;当回波信号到达A/D采样芯片时,FPGA控制该芯片对模拟信号进行采样,并配合位移传感器信息,对回波信号进行数字滤波、极值查找和缺陷判断等处理,然后由数据存储控制模块对处理后的数据进行管理,并在片外SRAM存储;持续保存若干通道之后,把数据一次性送至输出FIFO,由ARM接口控制模块向ARM发送中断请求,当ARM响应请求后,通过输出FIFO读取数据。至此,FPGA信号处理工作完成。

3.1 时钟模块

本模块的功能是为其他模块提供所需的时钟信号。系统开机时,FPGA的启动时间比ARM要短,为了使系统同步工作,本方案对时钟模块进行了相应处理。图5为FPGA时钟工作流程图,其中在FPGA上电后但未正常工作之前,系统设置了一个不受时钟控制的进程,该进程用来监控ARM的启动,待ARM完成正常启动并发送中断标志时,FPGA的时钟模块才开始运行。

图5 时钟工作流程图

3.2 回波信号处理模块

本模块是FPGA软件中最主要的一部分,系统对缺陷的判断和报警信号的产生都由此模块来完成。本模块的软件设计采用流水结构,具体流程如图6所示。由于本系统对8个信号通道轮回选通,并依次对每一组接收到的数据进行处理,所以图6所示的流程适用于各个通道的信号处理过程。

下面对流程中两个主要部分的设计过程进行详细阐述。

图6 回波信号处理流程图

3.2.1 数字滤波

对于线性时不变系统,其时域输入与输出的关系是:

若y(n)、x(n)的傅里叶变化存在,输入与输出的频谱关系是:

当输入信号x(n)通过滤波器h(n)后,其输出y(n)中不再含有|w|>wc的频率成分,仅使|w|<wc的信号成分通过,其中wc是滤波器的中心频率。

根据以上时域和频域的转换关系可知,只要设计一个合适的响应函数h(n),就可以把x(n)中的一些高频分量滤除掉。本系统中回波信号经过多级传输之后,信道噪声和高频干扰不可避免地掺杂在有用信号当中。所以系统设计了一个数字滤波器对A/D数据进行滤波。

(3)将模拟带通滤波器的技术指标转换成模拟低通滤波器的技术指标;

(4)设计模拟低通滤波器;

(5)将模拟低通滤波器通过频率变换,转换成模拟高通滤波器;

(6)采用双线性变换法,将模拟高通滤波器转换为数字高通滤波器。

根据上述步骤,通过测试得出模拟带通滤波器的技术指标,计算得出需要设计的模拟低通滤波器的阶数N=3.66,取N=4。查巴特沃斯归一化低通滤波器参数表,得到传输函数G(p)为:

设计数字带通滤波器的具体步骤如下:

(1)确定数字带通滤波器的技术指标;

(2)将数字带通滤波器的技术指标转换为模拟带通滤波器的技术指标,转换公式为

由变量转换关系式:

可以得出系统的传输函数H(z)为:

通过Z反变换,得出响应函数h(n)。当输入序列与响应函数进行卷积运算,便得到检波后的数字信号。经实验验证,检波前的下限阻带频率为200 kHz,而检波后该频率提高至500 kHz;其次高频中大于7 MHz的分量也不再出现。这不但方便了极值查找,还提高了缺陷判决的准确性。

3.2.2 极值查找

超声波探头接收到的回波信号经包络检波后反映出工件的伤损情况。本系统采用类似冒泡排序的方法,对信号中的若干极值进行查找。当判断某个数据点是极值时,则保存该极值点并继续查找。当查找到最远距离的回波时,该通道极值查找结束。具体原理如图7所示。

3.3 数据存储控制模块

数据存储控制模块的功能是管理信号处理模块发送来的数据。本系统设计了8个存储单元,对8个信号通道的数据分别保存,任一通道在重复选通10次之后,再把数据一次性送至输出FIFO。图8是该模块的设计原理图。

图8 数据存储控制模块原理图

3.4 输出FIFO

由于8个信号通道依次选通,在时间上互不重叠,所以系统仅需设计一个FIFO,供8个通道依次使用。FIFO的深度设定为1 280,数据宽度为 16,这样可以满足一个通道连续10次的数据存储,每次存储量为128 B。FIFO的配置原理如图9所示。

3.5 ARM接口控制模块

ARM接口控制模块的功能是:为ARM和FPGA提供数据接口,使FPGA处理后的数据能够顺利地发送至ARM模块。

4 实验结果

根据以上方案,本系统完成了硬件电路设计与软件调试,并实现了系统的脱机工作模式;将超声波探头耦合在标准试块GTS-60表面并前后移动,可得图10所示的界面显示图。

GTS-60是铁道部规定使用的标准测试钢轨,由轨头、轨腰和轨底三部分组成,高度为176 mm;其中在轨头部分有一个直径为3 mm通孔、一个直径为4 mm深为20 mm的平底孔,轨腰的螺孔处有一个水平裂纹、两个上斜裂纹和两个下斜裂纹,轨底处有一个16.5 mm×3 mm的长方形平底槽。表2给出了超声波探伤仪在一定速度下(0.1 m/s)对标准试块GTS-60的缺陷检测结果,基本准确地检测出缺陷的位置,其中深度计算公式来自于参考文献[8]。

表2 在一定推行速度下对GTS-60的缺陷检测结果

由于缺陷中的上斜裂纹和下斜裂纹的剖面图是一条斜线,其深度是一个范围值,不方便定点进行深度测试。下面再以不同速度推行探伤仪,如表3示范性给出仪器的可靠性指标。

表3 在不同推行速度下对GTS-60的缺陷检测结果

由表2和表3可知,在仪器移动速度一定的前提下,测量误差与实际深度成反比;在缺陷位置一定的前提下,缺陷检出率与仪器移动速度成反比。检测结果正好可以反映这样一个事实,即当缺陷距离钢轨表面过近时,缺陷回波易混淆于表面回波。缺陷位置越深,回波越精确。但是,缺陷太小或者缺陷深度过深,回波幅度较低,在移动速度提高时,很容易被漏检。

最后对系统的实时性指标进行分析。实验表明,系统保证某信号通道在它选通时间之内(即1/6 400 s)把该通道的数据处理完毕,并经过1/80 s延迟时间把该通道的检测数据通过A显波形和B超图形的方式在屏幕上显示出来。所以本系统在显示效果方面,可以实时地描绘出钢轨的缺陷信息,不存在钝屏及B超显示滞后的现象,也不用手工调节B超图形的位置来拼接一幅完整图形。

本文所论述的基于FPGA的超声波信号处理设计方案实现了信号的高速实时处理,完成了伤点位置精确定位以及缺陷B超图的快速显示的要求。通过测试及实验数据分析得出,依据本设计方案实施的系统,运行稳定、伤点检出率高。此外,由于本方案选用FPGA芯片的数据处理速率可以提高至600 MHz,所以系统可以在不修改硬件电路的前提下对采样精度进一步提高,为后续开发提供了便利和可能。

[1]周丽军.便携式多功能超声检测系统设计[D].武汉:华中科技大学,2005.

[2]李政,潘孟春,罗飞路.一种基于DSP2407的超声波探伤系统[J].无损检测,2008,30(12):950-954.

[3]邬泳.基于 DSP&CPLD的数字式钢轨超声探伤仪的研究[D].天津:天津大学,2006.

[4]徐西刚,施克任,陈以方,等.数字化超声探伤仪中超声信号高速采集技术[J].传感器技术,2003,22(10):16-18.

[5]LI Hui,LIU D C.An embedded high performance ultrasonic signal processing subsystem[C].2009 International Conference on Embedded Software and Systems,Hangzhou,Zhenjiang P.R.China,2009:125-130.

[6]HERNANDEZ A,URENA J,MAZO M,et al.A comparison of computing architectures for ultrasonic signal processing[C].2005 IEEE International Workshop Intelligent Signal Processing,Faro,Portugal,2005:38-43.

[7]潘松,黄继业.EDA技术实用教程[M].北京:科学出版社,2006:46-50.

[8]陈先中,侯庆文,叶琳,等.超声测距系统的高精度中心椭圆算法[J].北京科技大学学报,2007,29(11):1154-1157.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!