基于ARM和FPGA的嵌入式超声探伤系统
关键词:ARM;FPGA;嵌入式;超声探伤
1 引言
超声技术是无损检测的一种重要方法,很多数字探伤仪以单片机(MCU)为核心,单片机固有的性能瓶颈制约了仪器的性能指标和功能扩展,存在存储体积太小、实时性低等缺点。
嵌入式系统是以应用为中心,以计算机技术为基础,硬件和软件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。基于ARM的处理器具有良好的性能并在嵌入式系统中得到了广泛的应用[1-2]。在超高速数据采集方面, FPGA (Field Programmable Gate Array现场可编程门阵列) 有着单片机和DSP 所无法比拟的优势。FPGA 时钟频率高, 内部时延小,全部控制逻辑由硬件资源完成, 速度快, 效率高,提供了强大的信号处理能力,用于超声信号高速滤波和压缩。基于ARM和FPGA的嵌入式数字超声探伤系统实现高速采集超声检测信号,拥有存储大量回波图像和数据的能力,而且实现了远程监控。
2 系统硬件结构
系统的硬件结构图如图1所示,由ARM中央处理器、FPGA、超声模拟前端和一些外设接口组成。本系统采用S3C2410A是一个由三星公司生产的32位的ARM920T核的微处理器,它是专门为手提设备设计,采用哈佛总线结构,具有MMU、AMBA总线。S3C2410A提供了一套完备的外围接口,有利于系统的扩展[3]。FPGA用于对超声回波信号进行处理。尽管此系统自带的存储空间是有限的(共128MB),但是我们可以通过USB接口将超声图像和数据转存到U盘。RS232用于嵌入式系统调试阶段并可以查看调试信息。DM9000是完全综合的、成本较低的单一快速以太网控制器芯片,具有通用的处理器接口,10/100M自适应,以及4K双字节静态存取存储器。通过DM9000,探伤数据可以传输到远程的计算机上。Linux操作系统存储在Flash上,探伤数据和图像暂存在DOC(Disk On Chip)。液晶显示器LCD(Liquid Crystal Display)已经成为现代仪表用户界面的主要发展方向,它不仅省电,而且能显示大量的信息,如各种文字、曲线等等,本项目采用320 240的256色的真彩色液晶显示器。
图1 硬件结构图
当系统开始运行时,探伤工人首先设置仪器参数,然后ARM向FPGA的相应寄存器下载参数,FPGA产生一个窄的脉冲来触发超声探头发射超声。FPGA控制ADC(Analog-Digital Converter)以60MHz的速度采集回波信号,超声信号经过FPGA滤波后,再被压缩成LCD屏幕的宽度,超声回波图像和检测结果在LCD屏幕上显示。DAC(Distance Amplitude Compensation)曲线和报警闸门也用于辅助探伤。图2(a)是我们设计的超声探伤仪样品,图2(b)内部结构图。
图2 超声探伤仪
3 信号处理
FPGA主要对信号进行滤波和压缩。前端回来的回波信号含有很多干扰噪声,因此必须先经过滤波处理。采用FIR滤波器来消除噪声,由公式(1)定义,x(n) 是输入的原始信号,y(n)是处理完的信号。FIR滤波器的优点是:系统总是稳定的,所有频率的输入信号产生同样的偏移,从而消除了相位扭曲。
(1)
数据压缩是从每帧数据中提取屏幕宽度(为320)的数据用来表示这帧数据。提取算法必须确保每帧中最大的和最小的数据不能被漏掉,因此我们首先将数据分成320段,然后分别在每段中寻找最大最小值作为该段代表值。
4 软件设计
由于Linux系统具有源码开放、内核可定制裁减、实时性能好等特点,在嵌入式工业控制领域得到了广泛的应用。本设计采用最新的Linux内核(Linux2.6.16),使得系统在响应速度,驱动功能等诸多方面都远远优于传统的2.4 内核。www.51kaifa.com
超声探伤系统同时要处理的任务比较多,而且实时性要求高,因此在程序中使用多线程技术。和单线程相比,多线程程序可以并行执行多个操作,事件可以在他们到达后立刻得到处理。如图3所示,本系统可以分为三个线程,分别为:(1)主线程 用MiniGUI实现实时探伤、参数下载和报表打印三个模块的功能;(2) 读数据线程 用于读取实时探伤数据;(3)网络线程 向上位机传送探伤数据并接收上位机的控制命令。
图3 应用软件框架示意图
在探伤仪上,我们以MiniGUI为基础来实现界面功能,在上位机上使用VC++6.0来开发并采用WinSock技术来实现网络功能。 MiniGUI是嵌入式 Linux 系统下一个轻量级的图形用户界面支持系统, 具有占用资源少、高性能、高可靠性和可配置等特点,该技术目前已比较成熟, 并已成功应用到很多嵌入式项目。www.51kaifa.com
远程监控是指将控制和网络结合起来,通过计算机网络技术实现在异地对现场设备的监测和控制。在国外,已有公司开发了AutoNDT软件,将网络技术用于超声探伤中,通过Internet实现了远程探伤诊断和联网,并具有强大的本地数据处理功能[4]。如图4所示,远程监控系统采用客户端/服务器(C/S)模式,将探伤仪器设为服务器,上位机设为客户端。由于超声探伤常用于比较重要的行业,如火车钢轨、锅炉等缺陷的检测,因此要求探伤数据准确性高,能够真实地、完全地再现检测检测现场的数据[5]。为实现这个目的,本项目网络连接采用TCP/IP面向连接的协议,来确保探伤数据传输的准确性。
图4 网络系统结构图
探伤过程中,在上位机和探伤仪器上同步显示了同样的探伤波形及参数,在上位机上还可以通过网络向探伤仪下载仪器参数。因此,有经验的探伤专家可以通过上位机远程监测和指导探伤过程,或者当探伤环境比较恶劣或危险时,探伤人员就不用亲自到现场,只需在办公室里通过网络来遥控探伤仪进行探伤,大大提高了探伤的自动化程度与灵活性。
5 结语
利用FPGA在高速信号采集及数字信号处理方面的优势,ARM9 CPU强大的控制及接口功能,以及嵌入式Linux和MiniGUI为网络、可视化图形界面、多线程等编程提供的便捷高效的底层支持,免费和开放原码的优良特性,开发出的嵌入式通用探伤仪具有性能优异,功能丰富、可靠性高、界面友好、操作方便、性价比高等诸多优点,在工业数字探伤仪领域有极强的竞争力。另外,一方面,由于有高性能FPGA做底层支持,便于先进的信号处理方法在此仪器上的升级(比如说小波变换和时频分析理论应用于超声信号的处理);另一方面,由于有功能强大,升级方便的Linux操作系统支持,为系统在硬件扩展和应用软件升级等方面都提供了极大的便利。设计的超声探伤系统具有完善的软件功能,通过TCP/IP实现C/S模式下的跨平台通信,可以对超声探伤进行远程监控。
参考文献:
[1]蔡利民.基于ARM的信息家电远程控制系统得设计[J].微计算机信息,2006,11-2,149-151
[2]廖高华, 余红粒, 唐钢.基于嵌入式计算机的超声检测系统[J].仪表技术与传感器,2006. 4www.51kaifa.com
[3]Samsung Electronics Co., Ltd.S3C2410A USER'S MANUAL, 2004
[4]KM.Abd El-Ghany; M.M.Farag; “AutoNDT:New Software for Remote Ultrasonic Scanning Via Internet”, NDTE International, Volumn:35,2002
[5]郭其一, 吴松, 贾鹏.基于网络的跨平台远程状态检测与故障诊断系统研究[J]中国科技信息,2005.11
导师批注:该论文结合实际项目的开发过程,详细阐述了通过ARM和FPGA构造嵌入式超声探伤系统的步骤,从硬件结构设计到软件设计全方面地总结了项目设计的要点,观点新颖,方案实用,可以作为一种嵌入式实施方案举一反三地移植到新的应用上。
创新观点:
1、 将ARM和FPGA构建嵌入式系统,并应用于超声检测系统,实现高速超声信号采集和处理,并且数据存储容量大。www.51kaifa.com
2、 构建跨平台网络通信系统,实现对超声探伤的远程监控,不但可以在远程监测超声探伤过程,还可以下载仪器参数控制探伤仪。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论