高丹华,杨 恋,董庆庆,丁 捷,耿瑞华,何爱军
(南京大学电子科学与工程学院,南京,210046)
超声波探伤仪是一种便携式工业无损探伤仪器,在国内外有着广泛的应用,但是目前国内市场中的大部分数字超声探伤仪在设计上大都存在着模块化程度不够,精度不够高,LCD显示分辨率不高、刷新率不够或者存在闪烁等问题,操作者难以从仪器屏幕上获得准确的信息,也使得产品的推广和升级存在不少难度[1]。针对以上问题,设计了一种高度模块化,高性能的超声波探伤仪,可实现高分辨率LCD的实时无闪烁显示1。
1.1硬件设计
系统基于FPGA+ARM为核心的硬件平台进行开发,采用模块设计的理念,主要由信号采集单元、系统控制单元和人机交互单元组成,每两个单元之间通过唯一的数据总线通信,系统框架图如图1所示。
图1 系统框架图
信号采集单元由2部分组成:以Sparatn3E系列的XC3S250E-4芯片为核心的采集系统和以FT232H芯片为核心的USB2.0高速数据传输单元。采集系统主要完成数据高速采集和滤波功能。数据传输单元实现了采集系统与控制单元的双向通信,实时将超声数据传输至ARM端。
系统控制单元以S5PV210芯片为核心,完成数据处理、探伤波形实时显示、数据存储、报表打印以及HDMI输出等功能。另外,系统控制单元还可通过USB、以太网两种方式与PC通信,实现远距离探伤控制。
人机交互单元以PIC16F877A单片机为核心,实现外接电池管理、键盘管理、蜂鸣器和LED实时报警等功能。
用户操作键盘,PIC获取到键值后,通过串口传输至ARM端,控制单元进行键值解析后将相对应的控制命令通过USB总线传输至信号采集单元,FPGA则根据命令对其外设进行相应控制,采集到超声波数据后通过USB总线实时地将数据传输至ARM端进行实时显示和处理。
1.2数据高速采集
数据采集部分是探伤系统设计的核心。A/D采样精度和转换速率直接影响测量的准确度和效率。设计中使用MAX1449,它是一种单路3.3 V电源供电,分辨率为10位、105 MSPS的低功耗高速ADC,并带有高宽带采样/保持的10阶段流水线型结构[2]。系统使用FPGA控制A/D工作在100 MSPS.
对于目前工业所使用的2.5 MHz探头,该A/D采样速度完全满足需求,且精度较高,可高精度测量材料的声速,这也是系统探伤具有高性能指标的基本保证。
1.3USB2.0高速数据传输
USB有着使用安装方便、高速稳定等优点,目前已经成为现代高速数据传输的主要方式之一。并且该方案有效利用ARM处理器内置的USB 2.0高速Host外设,提高了通信效率,降低了ARM处理器的开销。系统使用的FT232H是多功能单通道USB转UART/FIFO芯片。片内提供了1Kbytes的收发缓存,加上USB 2.0高速技术大大改善了资料输送量,缩减了延迟回应时间。在系统中配置FT232H工作于同步245FIFO模式,其理论最大传输速度高达40 Mbytes/s,降低了对于测量采样率提升的限制。
系统中,探伤脉冲触发频率最大为1 kHz,每次脉冲激励采集570个数据点,每个数据点为10 bit,需要的传输数据带宽为1.12 Mbytes/s,FT232H的实测传输速度最大达39.5 Mbytes/s,能够保障数据的实时传输和探伤过程的效率。
1.4控制系统软件设计
控制系统完成整个超声探伤系统的管理工作,确保整个系统按照预定的逻辑工作流程正确运行,且有强大的错误处理能力。控制系统端软件基于嵌入式Linux操作系统和QT/Embedded软件开发环境进行。Qt是一个跨平台的C++图形用户界面应用程序开发框架,它提供了一种signals/slots的安全类型来替代windows中所提供的callback机制,大大方便了线程和对象间的通信[3]。软件设计采用面向对象开发模型,所有的功能采用类与对象的方式实现,利用Qt开发环境所提供的信号与槽机制,可方便地实现各对象间的同步或异步通信。控制系统软件流程设计框图如图2所示。
图2 软件框图
1.4.1 通信模块
通信模块由3个线程组成:与PIC通信的串口通信线程:通过FT232H与采集系统通信的数据采集线程、与PC联机的远程通信线程。
串口通信线程以轮询方式查看串口信息(串口通信速率为115 200 bit/s),包括电池信息、按键键值,同时可以根据系统的相关设置和状态进行实时报警等功能。 电池信息包括系统当前供电方式(外接电源、电池供电)和电池余量信息(当且仅当电池供电时有效)。用户可通过按下不同的键值实现人机交互,改变系统的状态。
数据采集线程通过FT232H向FPGA发送基本采集参数命令,如增益控制、脉冲触发频率、声程、波门信息等。FPGA解析命令进行数据采集,将采集的有效数据与一些处理结果,如门内是否有缺陷等,还有校验位等信息封装成为一帧数据,通过FT232H输至ARM。由于数据传输速率很高,为了确保波形的正确实时显示和减少系统资源的开销,这里采用了2种机制:一、检验机制,防止数据丢失,对包头、包尾以及帧长度进行检测;二、使用环形缓冲区,将接收到的数据全部存放至缓冲区内,显示时根据脉冲触发频率进行抽样显示,如触发频率为1 kHz时,则每20帧显示1帧。采集线程流程如图3所示。
图3 采集线程流程图
远程通信线程中有2种通信方式:USB和以太网。进行远程通信时,ARM端将不再显示波形,其作用是负责PC机与FPGA采集系统间的命令控制和数据传输,采集的数据直接从采集线程送往PC。
1.4.2 2D加速波形实时显示
探伤波形的实时显示是超声系统的一项重要功能。本系统采集速率非常高,为了保证探伤的实时性,必须提高LCD波形显示的速率。
QT下常用的绘制方法是在QWidget上使用QPainter绘画。为了避免闪烁,可以使用双缓冲机制,当需要修改图形时,只需在制定区域进行修改并重绘即可。LCD屏的显示分辨率为640×480,系统设计的波形显示区域为570×410个像素点,剩余部分为背景图形显示区域。波形显示区域较大,这种方式虽然可以完全避免闪烁,但是其绘图时间远远大于20 ms,刷新频率太低,无法保证波形显示的实时性[4]。
系统使用了2D加速的方法来加快实时波形的显示。S5PV210内置PowerVR SGX540 高性能图形引擎,支持流畅的2D/3D 图形加速。系统设计基于这一点,利用QT的OpenGL模块,在QGLWidget上使用QPainter绘制实时波形,实现了利用处理器完成2D图形硬件加速,大大增加了实时波形的绘制速率,又避免了闪烁。
1.4.3 数据存储
数据存储是系统的重要功能之一,存储介质可为U盘和SD卡。存储功能包括存储单幅数据帧、连续数据帧、探头频点数据等,并且根据存储的内容,保存为不同类型的文件加以区分。
系统使用了QT类库中提供的各种文件操作类如QFile、QDir、QFileInfo等,实现在嵌入式Linux文件系统中存储、检索、删除文件的功能。
在系统中,使用10位A/D转换器,FPGA控制其转换率为100 MSPS,且直接利用A/D采样点即抽样前的数据进行相关计算,提高了测量的精度。使用USB 2.0高速传输,实测最大传输速度为39.5 Mbit/s,提高了探伤效率,保证了数据的实时传输。另外,系统充分利用处理器可支持2D/3D图形加速的特性,使用将QPainter与QT中OpenGL模块中的QGLWidget结合使用,实现了2D加速显示,提高了实时波形绘制的速率。
应用项目开发的超声波探伤仪利用ZSK-CA等标准试块进行性能调校,系统测试界面如图4所示。
图4 超声波探伤仪测试界面
测量得到的各项仪器性能指标结果如表1所示。
经过整体仪器性能测试,各项指标均达到国标的要求,具有实际应用价值,而且实现了高分辨率的LCD实时显示,使仪器的使用更为方便。
表1 各项指标测试结果
该系统使用FPGA完成数据的高速采集和高速处理,保证系统硬件的高性能指标,ARM端基于QT软件平台完成了友好的人机交互界面,并通过2D加速技术实现高速率的波形实时显示等功能,增加了系统的灵活性。该方案得到了较高的性能指标,大大提高了测量精度和探伤效率。
参考文献:
[1]姚运萍,孙岳中一,陈继开.高性能便携式超声波探伤仪.仪表技术与传感器,2008(5):27-28.
[2]樊磊,吕高登,张良.MAX1449在高速采样系统中的应用.电子元器件应用,2009,11(12):1-2.
[3]唐志刚.基于linux+QT的嵌入式医用监护仪开发:[学位论文].南京:南京大学,2011.
[4]李晶.便携式八通道超声波探伤仪软件设计:[学位论文].南京:南京航空航天大学,2010.
作者简介:高丹华(1988-),在读硕士,主要研究领域为检测与数控技术。E-mail:50misun@163.com