超声探伤仪广泛应用在航空航天、石油化工、冶金造船等行业,用于检测金属或非金属内部缺陷以及分析材质,是无损检测领域重要的检测仪器之一。
超声探伤时,应用得最多的是A型显示,如图1所示。在A型显示中,横坐标代表被测物的深度,纵坐标代表回波信号的幅度。
目前同内生产的数字式超声探伤仪仍主要以单片机为核心,单片机固有的性能瓶颈制约了仪器的性能指标和功能扩展,与国外先进水平相比,国产产品技术水平仍有较大的差距。
本文介绍的新型嵌入式数字超声探伤仪以32位RISC CPUS3C2440为控制中心,以高性能FPGA Spartan3为信号采集及处理核心,并辅以功能强大的Linux操作系统和MiniGUI图形库,实现了一款性能卓越、功能丰富的新型嵌入式超声探伤仪。
设计思想与总体方案
本设计中的嵌入式探伤仪由两部分组成,一部分是模拟信号前端,包括超声发射接收电路及电源电路;另一部分是数字信号采集处理及控制后端,简称超声主控计算机,也是本文主要介绍的部分。系统硬件的总体框图如图2所示。
系统中选用S3C2440处理器,内嵌ARM920T核。本设计应用了这款芯片的诸多特点:高达203MHz的主频;内部集成LCD控制器(STN&TFT);3路异步串行通信接口;内置看门狗定时电路及实时时钟(RTC);内部集成两路USB host和一路USBdevice;对嵌入式Linux良好的支持等。
MiniGUI则是一个基于Linux、面向嵌入式系统的轻量级图形用户界面支持系统。它包含全部功能的库文件大小为300 kB左右,可以根据开发的需要自行进行配置和编译,特别适合作为嵌入式Linux系统的图形平台。
在超高速数据采集方面,本系统中选用的Spartan-3结构与Virtex-II类似,1.2V内核,其在超高速数据采集和信号处理方而有着明显的优势。 在仪器性能方面,为了保证数字超声探伤仪0.01mm的检测精度和0~6000mm可变探测范围,在FPGA中主要进行如下数字信号处理:
·60MHz硬件采样速率通过四次移相时钟处理,实现等效240MHz高采样率
·数字滤波,程控带通FIR滤波器保证对0.5MHz~15MHz回波信号的良好数字滤波
·数字检波,包括正向、负向、双向及RF检波
·智能提取(提取点动态分配算法以保证显示波形的水平线性)
·实时探伤报警(硬件报警闸门)
在仪器功能方面,充分利用ARM+Linux嵌入式系统的优势,扩展网络、USB等丰富接口,使得仪器可以实现PC机端Windows下的上位机软件和探伤仪上的LCD同步实时显示,随时下载探伤参数和上传探伤数据与图片,并使机器能连接U盘、移动硬盘、USB打印机等诸多设备。
本设计采用最新的Linux内核(Linux2.6.16),系统在响应速度、驱动功能等诸多方而都远远优于传统的2.4内核。在本项目开发过程中,采用的是网络文件系统;在最终的产品上,采用的是在DOC(MTD)上的ext2文件系统。
系统硬件资源分配
总线分配
S3C2440地址总线内部是32位(4G),外部27位(128M)。数据总线宽度为32位。当外设芯片与CPU相接时,主控计算机的数据总线宽度可设置为32位、16位或8位模式。设置是在BWSCON寄存器中的DW位实现的。各外部设备的总线接法如表1所示。
外部地址空间分配
S3C2440提供8路片选,nGCS[0~7],每个片选都指定了固定的地址,每个片选固定间隔为128MB。
本系统中各外围接口设备所对应的地址空间分别为:
(1)NOR FLASH,nGCS0,接的是一片8M×16位数据宽度的INTEL TE28F128 FLASH,用于存放ppcboot引导程序和Linux内核;
(2)网络芯片DM9000,使用nGCS1,用于网络传输收发数据的转存;
(3)DOC,使用nGCS2,存放文件系统包括管理程序、系统命令等;
(4)FPGA连接nGCS3,nGCS4;keyboard+led使用nGCS3,前端数字信号处理使用nGCS4。
(5)主控计算机内存由两片16M×16位数据宽度的SDRAM构成,两片拼成32位模式,共用nGCS6。共64M RAM,用于动态数据缓存。
中断资源分配
S3C2440可处理56路中断,其中24路为外部中断EINTn。板上扩展的外设接口中,网络接口芯片DM9000使用EINT0。FPGA扩展中断资源为EINT1、EINT2、EINT3、EINT4、EINT5、EINT6及EINT7。键盘用EINT2,前端图像数据更新用EINT3,回波频率测试数据更新用EINT4,系统关机按键用EINT1。其他中断信号保留。
系统软件设计
系统软件的总体框图如图3。
超声探伤系统同时要处理的任务比较多,而且实时性要求高,因此在探伤应用程序中使用多线程技术。在保证系统能够快速响应的同时,还能够实现丰富的功能。和单线程相比,多线程程序可以并行执行多个操作,所以事件可以在他们到达后立刻得到处理。本系统可以分为四个线程,在主线程中,用MiniGUI实现实时探伤、参数下载和报表打印三个模块的功能,另外创建三个辅助线程,分别为:
读数据线程,用于读取实时探伤数据;读键盘线程,读取键盘上被按下的按键键值,然后再通过SendMessage(hWnd,iMsg,wParam,lParam)发送一个按键消息,此消息将在MiniGUI的主窗口过程函数中进行处理;网络线程,向上位机传送探伤数据,并接收上位机的控制命令。 测试及结论
经检测表明,本设计样机的功能和指标达到或超过国家行业标准JB/T 10061-1999《A型脉冲反射式超声探伤仪通用技术条件》的要求。其中,超声探伤仪最重要的指标一一探伤灵敏度佘量高达68dB(同家标准规定不低于46 dB),而薄板分辨力小于1mm(国家标准规定不高于3mm)。
另外,经专业探伤专家试用,样机能很好地应用于超声探伤难度最大的大锻件粗晶材料的探伤现场。现场试用情况表明,仪器信噪比高,抗干扰能力强。
试用证明,本嵌入式数字超声探伤仪设计项目具有性能优异、可靠性高、界面友好、操作方便、性价比高等诸多优点,在国内工业超声探伤仪领域处于领先水平。