基于PCI的超声采集卡设计

2012-09-06 01:20杨泽宇张艳花李文强
山西电子技术 2012年6期
关键词:采集卡驱动程序中断

杨泽宇,张艳花,杨 录,李文强

(中北大学信息与通信工程学院,山西太原 030051)

超声无损探伤系统设计中,超声信号采集并处理是关键性的技术之一。数据采集卡作为前端模拟超声信号和微机处理器的接口,在超声探伤系统中拥有广泛的应用。传统超声采集系统采用ISA(Industrial Standard Architecture,工业标准结构总线)总线传输数据,其地址总线宽度为24位,数据总线宽度为16位,总线时钟8MHz。随着现代无损检测技术的发展,对超声探伤系统的要求也越来越高,采集卡技术也同样随之发展。PCI(Peripheral Component Interconnect)是一种由英特尔公司1991年推出的局部总线标准。PCI总线稳定度高,通用性强,传输速率可达132MB/s,符合现在超声探伤系统对数据传输的高速、高效、高稳定性要求。然而PCI总线传输相对复杂,对板卡设计者的要求较高。采集卡的布线,驱动程序编写,数据传输方式等诸多方面的因素都会对PCI的传输造成影响。

在普通超声探伤中,对于某种试件的伤的判断往往只需要判断在触发信号发出后某段或某几段固定时间内的回波,而不用将所有的回波采样回传。通过在超声数据采集卡的前端对信号进行一些处理以减少需要传输的数据,不但减轻了PCI总线的负担缩短上位机的数据处理时间,同时降低了探伤系统中总线传输设计难度,有效缩短了设计开发周期。

1 系统总体设计

系统电路框图如图1所示。对于采集卡的数据采集,总体来说可以分成4个部分:信号的输入、信号的采集、信号的存储和信号的传输;在这其中,对信号的采集和处理是一个采集系统设计的重点[1]。

1.1 设计原理

超声检测一般是由前端传感器发射并接收超声波,然后通过对回波信号进行处理,对一个试件进行检测和判断。在均匀的材料中,缺陷的存在会造成材料的不连续,从而造成声阻抗的不一致。超声波入射后如果遇到缺陷,就会因为声阻抗不一致而产生反射,这反射波信号被捕捉采集,就能判断出缺陷。

1.2 信号的采集及传输

大多超声探伤是对大量同一型号试件的重复检测。因为形状、材质都被固定,所以试件上缺陷回波信号的时间范围及幅度是确定的,完全可以通过提取回波信号的时间特征和幅度特征来作为判伤参考依据[2,3]。依据上述原理,采用了如图2所示的方法对信号进行采集。

图1 总体系统设计结构

图2 超声信号采集图示

前端接收的回波信号依次通过信号放大电路、峰值保持电路、通道选择电路、AD采样电路,最后通过CPLD传入RAM中保存。

2 模拟信号的采集

板卡模拟信号数据采集由程控放大电路、峰值保持电路、通道选择电路及模数转换电路实现。

2.1 程控放大电路

程控放大采用8通道模数转换芯片Tlc5628c与美国Analog Devices公司生产的压控放大器 AD603来实现。Tlc5628c可以通过编程产生0~5 V的电压信号,将由Tlc5628c得到的可控电压连到AD603的增益控制端,即可实现对前端回波信号的增益可调放大。

2.2 峰值保持电路

将通过放大电路的模拟输入信号连接到峰值保持电路,在门信号的控制下保持段时间内回波信号的峰值,多路信号的采集全部完成以后再选通多路模拟开关分别连接到模数采样芯片,对各路信号进行逐一采集。如图3所示。

图3 峰值保持电路

3 PCI传输设计

在采集卡设计中,CPLD是系统重要组成部分之一。在控制本地端各芯片协调同步运作的同时,还为PCI桥芯片和本地端控制信号进行译码、时序转换等操作。

3.1 采集卡本地数据存储传输设计

采集卡上的数据传输采用了乒乓传输的模式,即在采集卡上配置双RAM对数据进行缓存。乒乓传输可以使得数据的采集缓存和数据向上位机的传输能够同步进行:采集到的数据首先在存储器A中保存,当第一个存储器数据放满数据自动存放到存储器B中,同时发起数据传输将第一块存储器中的数据向上传输,存储器B满了之后再存储到存储器A中,并将存储器 B中的数据上传,如此往复循环。IS64WV12816BLL是128Kx16高速 COMS型 SRAM,最快访问时间可达12 ns、双向三态传输,能够满足PCI传输的要求[4]。

3.2 驱动及软件设计

在采集卡系统设计中,驱动设计也是一个难点,一个好的驱动程序能有效提高传输速率、系统稳定性和数据处理效率。

WinDriver10是Jungo公司为 PCI、USB、ISA等接口对驱动开发提供的WinDriver系列软件的最新版本。能够很好地支持Windows XP等多种操作系统的底层硬件驱动开发。虽然效率略低于利用DDK,DriverStdio等方式进行开发的驱动程序,但更加简单、方便,为驱动开发者节省了大量时间与精力。WinDriver10软件为许多芯片厂商提供了专门的芯片支持文件。本设计中PCI接口芯片采用了PLX公司的PLX9054,驱动程序的开发利用了WinDriver10目录下专门为Plx器件编写的plx_lib.c和plx_lib.h文件,其中包含最基本的对Plx器件进行操作的函数与方法。同时,还给出了示例程序文件p9054_diag.c,驱动编写者可以参考其进行程序编写。

上位机软件使用VC 6.0(Visaulstudio 6.0)调用Win-Driver给出的函数进行编写,启动软件时,首先要对采集卡进行初始化操作,步骤如下:

· 使用WD_DriverName()和 WD_SetDeBugOption()函数设置驱动名称和WDC库的调试选项。

·使用WD_Licence()函数对驱动设备进行注册操作。

·使用WDC_DrvierOpen()函数打开驱动程序句柄并初始化WDC库并使用 WDC_PciScanDevices()函数查找符合要求设备。

·使用WDC_PciGetDeviceInfo()获取设备信息并对资源进行分配。

· 使用WDC_PciDeviceOpen()打开WDC设备句柄。

·最后使用DeviceInit()函数对设备描述表等资源进行初始化。

初始化设置完成后,就可以使用如PLX_ReadAddrLocal16(),PLX_WriteAddrLocal32()等函数对采集卡进行控制操作了。上位机数据传输流程如图4所示。

当采集操作启动后会建立一个数据接收线程等待中断到来,每当该线程接收到中断,会查看该中断类型。当中断为本地中断,表示采集卡中一个缓存器数据满,申请进行数据传输,这时上位机启动DMA模式进行数据传输,在DMA传输结束之后又会产生DMA中断,当数据接收线程接收到该中断时,将会调用中断调用函数,中断调用函数又会调用中断处理子函数对数据进行处理操作[5]。

图4 上位机软件流程图

4 试验与结束语

使用WinDriver开发驱动程序后,上位机用VC6.0结合其提供的函数库,编写了如图5的测试程序,可以对硬件进行控制,进行多通道数据采集,进行实时数据传输采集、规定采样点数采集,控制压控放大倍数等操作,数据传输最大速率达到了60 Mb/s,能够满足超声检测的需要。

本文较全面地介绍了基于PCI的超声数据采集卡的设计与开发方法。在检测的过程中能够实时地将超声数据进行上传,并对前端进行调节。通过时间特征和幅值特征对伤的判断也能较好地保证系统的灵敏度和分辨率。实现了一种基于PCI总线的超声采集卡设计。

图5 VC检测程序

[1]习俊梅,朱杰斌,黄良兵,等.便携式数字化超声检测[J].仪表技术与传感器,2007(9):18-19.

[2]韩焱,杨录,王明泉.板波特征及其特征提取器[J].测试技术学报,1996,10(2):79-82.

[3]杨录,宋文爱.细铜棒内部缺陷超声自动检测系统设计[J].测试技术学报,2001,15(4):255-257.

[4]严其艳.基于PCI的多通道数据采集系统设计[J].企业技术开发2011,30(12):10-15.

[5]马昕晖,杜胜,姚静波.基于PCI总线的动态测试系统软件设计研究[J].测试技术学报,2010,24(6):491-496.

猜你喜欢
采集卡驱动程序中断
高精度AD采集卡性能测试及评价方法研究
计算机硬件设备驱动程序分析
面向数控机床的多通道传感数据采集卡设计
跟踪导练(二)(5)
千里移防,卫勤保障不中断
并行高速采样在地震物理模拟采集中的应用
PCI-e高速数据采集卡的驱动与上位机软件设计
基于MPC8280的CPU单元与内部总线驱动程序设计
AT89C51与中断有关的寄存器功能表解
FPGA内嵌PowerPC的中断响应分析