一種可實(shí)現(xiàn)高速信號(hào)處理的超聲波無(wú)損檢測(cè)系統(tǒng)的設(shè)計(jì)(圖)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
無(wú)損探傷技術(shù)是在不損壞工件或原材料工作狀態(tài)的前提下,對(duì)被檢驗(yàn)部件的表面和內(nèi)部質(zhì)量進(jìn)行檢查的一種測(cè)試手段。超聲波探傷就是利用超聲能透入金屬材料的深處,并由一截面進(jìn)入另一截面時(shí),在界面邊緣發(fā)生反射的特點(diǎn)來(lái)檢查零件缺陷的一種方法。當(dāng)超聲波束自零件表面由探頭通至金屬內(nèi)部,遇到缺陷與零件底面時(shí)就分別發(fā)生反射波來(lái),在熒光屏上形成脈沖波形,根據(jù)這些脈沖波形來(lái)判斷缺陷位置和大小。
隨著超聲波探傷技術(shù)的發(fā)展,對(duì)數(shù)字信號(hào)的處理與分析已不再僅僅是輔助技術(shù),而是一種基本技術(shù),由此出現(xiàn)了各種全數(shù)字化的超聲波檢測(cè)設(shè)備。但早期的數(shù)字化設(shè)備僅停留在超聲波檢測(cè)頻率較低頻段的信號(hào)處理上,主要是受到高速A/D和高速存儲(chǔ)技術(shù)的限制,由于計(jì)算機(jī)總線技術(shù)應(yīng)用的瓶頸,也不能實(shí)時(shí)多通道傳送波形數(shù)據(jù)到計(jì)算機(jī)去處理,聲源定位信號(hào)分析等實(shí)時(shí)顯示分析的功能只能由硬件輸出的參數(shù)完成。
而A/D轉(zhuǎn)換器和高效率微處理器的問(wèn)世克服了在高頻領(lǐng)域應(yīng)用模擬電子技術(shù)受到的各種限制。數(shù)字化全波形超聲波探傷設(shè)備就是由計(jì)算機(jī)作為主機(jī),以單片機(jī)芯片為主構(gòu)成的專用板卡統(tǒng)一控制管理超聲系統(tǒng)。這種設(shè)備綜合應(yīng)用了高速數(shù)據(jù)采集技術(shù)、A/D轉(zhuǎn)換技術(shù)、大容量緩沖技術(shù)、多通道切換技術(shù)、數(shù)據(jù)存儲(chǔ)技術(shù)和數(shù)據(jù)管理軟件技術(shù)等先進(jìn)的數(shù)據(jù)信號(hào)處理技術(shù),使得多通道聲發(fā)射波形的采集和分析不再困難。因此,如何開(kāi)發(fā)和研制更具先進(jìn)性、創(chuàng)新性、科學(xué)性和實(shí)用性的全數(shù)字式超聲波檢測(cè)設(shè)備和系統(tǒng),已成為一項(xiàng)緊迫性的任務(wù)。
本文主要介紹一種基于高速信號(hào)處理技術(shù)的超聲波無(wú)損檢測(cè)系統(tǒng)的典型設(shè)計(jì)方案,從系統(tǒng)的總體設(shè)計(jì)、單元電路設(shè)計(jì)和程序設(shè)計(jì)等方面闡述和分析了設(shè)計(jì)原理、電路和軟件的結(jié)構(gòu)與功能等,系統(tǒng)方案具有較高的技術(shù)含量和實(shí)用價(jià)值。
總體設(shè)計(jì)
系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì)如圖1所示。首先,由高壓脈沖發(fā)生器發(fā)射高壓脈沖,其經(jīng)能量轉(zhuǎn)換電路形成超聲波信號(hào),遇到缺陷或雜質(zhì)時(shí)產(chǎn)生反射波,再經(jīng)能量轉(zhuǎn)換電路轉(zhuǎn)換為電壓信號(hào),最后經(jīng)放大電路放大、A/D轉(zhuǎn)換后,形成數(shù)字量,寫(xiě)入高速數(shù)據(jù)緩存器中;然后,由PCI接口電路將緩存器中的數(shù)據(jù)適時(shí)地通過(guò)PCI總線送到本系統(tǒng)的微處理器進(jìn)行處理,實(shí)現(xiàn)與外部計(jì)算機(jī)通信、顯示、打印、存儲(chǔ)和控制等功能。
圖1 系統(tǒng)總體設(shè)計(jì)圖
本系統(tǒng)采用轉(zhuǎn)換速率為60MHz的8位高速A/D轉(zhuǎn)換電路以滿足數(shù)據(jù)采集的要求。為對(duì)A/D芯片輸出的高速數(shù)據(jù)進(jìn)行緩沖,并充分利用PCI總線帶寬,采用了32KB的高速數(shù)據(jù)緩存電路;對(duì)于多通道檢測(cè)的要求,設(shè)計(jì)了通道選擇控制電路以實(shí)現(xiàn)通道之間的切換;采用高增益的高頻寬帶放大電路對(duì)缺陷回波信號(hào)進(jìn)行整理和放大。
單元電路設(shè)計(jì)
1 放大電路設(shè)計(jì)
本系統(tǒng)采用帶觸發(fā)的直流逆變電路產(chǎn)生高壓脈沖,采用多路模擬通道選擇電路實(shí)現(xiàn)通道切換以滿足多通道探傷的要求。模擬信號(hào)經(jīng)放大、濾波后,作為A/D轉(zhuǎn)換電路的輸入。放大電路采用增益為80dB、帶寬為15MHz、分辨率為1dB的放大器,并且以數(shù)字電位器進(jìn)行放大增益的動(dòng)態(tài)調(diào)整,可實(shí)現(xiàn)放大器的動(dòng)態(tài)響應(yīng)和頻帶范圍與尖峰回波脈沖信號(hào)的匹配。
2 A/D轉(zhuǎn)換電路設(shè)計(jì)
A/D轉(zhuǎn)換電路通常可分為積分型和比較型。積分型A/D轉(zhuǎn)換器的特點(diǎn)是抗干擾能力強(qiáng)、精度高,但速率較低,因此高速A/D轉(zhuǎn)換器一般采用比較型。本系統(tǒng)采用ADS830,該芯片信噪比高、功耗低、非線性畸變小,廣泛應(yīng)用于圖像處理、數(shù)字通信和視頻測(cè)試系統(tǒng)中。它有共模和差模兩種信號(hào)輸入方式,輸出的數(shù)字量可直接與5V或3.3V芯片接口。超聲波無(wú)損檢測(cè)對(duì)象基本上為鋼體材料,其在鋼中傳播時(shí),縱波CL的傳播速度為5900m/s,橫波CS的傳播速度為3230m/s,缺陷回波信號(hào)通常寬度約10~100ns,因此在鋼中的傳播速度很快。超聲波在工件中的傳播時(shí)間很短,尤其對(duì)于薄壁材料檢測(cè),傳播距離更短,因此,為了得到足夠的分辨率,要有足夠的檢測(cè)和采樣頻率才能滿足信號(hào)采集的要求。ADS830的精度為8位,最高采樣頻率為60MHz,可滿足一般無(wú)損檢測(cè)系統(tǒng)對(duì)數(shù)據(jù)采集精度和采樣頻率的要求。
3 數(shù)據(jù)緩存器設(shè)計(jì)
由于在PCI 總線控制器S5933的緩存器中只有8個(gè)32位寄存器,對(duì)于實(shí)時(shí)高速數(shù)據(jù),可能會(huì)由于延時(shí)造成數(shù)據(jù)的丟失,因此需要進(jìn)行擴(kuò)展。本系統(tǒng)采用IDT公司的IDT72V36100作為高速數(shù)據(jù)的緩存。IDT72V36100可以提供65536×36bit的存儲(chǔ)單元,并且具有配置靈活的特點(diǎn),可以通過(guò)設(shè)置確定輸入輸出的數(shù)據(jù)寬度。對(duì)于寬度為8bit的輸入數(shù)據(jù),為了充分利用PCI 總線的性能,將輸出數(shù)據(jù)的寬度設(shè)為32bit。此外,IDT72V36100也提供了豐富的狀態(tài)信號(hào),可以利用它們作為控制信號(hào)。IDT72V36100需要在寫(xiě)操作之前進(jìn)行主復(fù)位,以設(shè)置一些初始狀態(tài),所以需要上電復(fù)位。本設(shè)計(jì)選用上電復(fù)位芯片MAX814T,在上電時(shí)對(duì)緩存電路進(jìn)行復(fù)位。緩存電路的初始設(shè)置主要為:BM、OW、IW全為“低”,使輸入輸出寬度為32位;FWFT/SI為“低”表示標(biāo)準(zhǔn)IDT模式,只要REN和WEN使能,就可以讀寫(xiě)數(shù)據(jù);OE為“低”,表示允許輸出端輸出;IP為“低”表示不加校驗(yàn)位;PFM為“高”表示同步方式,即在時(shí)鐘上升沿讀寫(xiě)數(shù)據(jù)。高速數(shù)據(jù)緩存電路使A/D芯片可以不必工作在PCI同步時(shí)鐘下,提高了A/D芯片的利用率和數(shù)據(jù)的吞吐率。高速數(shù)據(jù)緩存電路由于具有“先進(jìn)先出”的特性,數(shù)據(jù)的讀寫(xiě)都無(wú)須提供地址信號(hào),也簡(jiǎn)化了電路的設(shè)計(jì)。
4 時(shí)序邏輯控制器設(shè)計(jì)
本設(shè)計(jì)采用了DMA傳輸?shù)哪J?,為此需要通過(guò)相應(yīng)的邏輯控制將擴(kuò)展的存儲(chǔ)空間結(jié)合為一個(gè)整體。由此采用一片XC9536的CPLD器件作為邏輯控制器。
5 PCI接口電路設(shè)計(jì)
PCI總線的最大數(shù)據(jù)傳輸速率為132~264Mb/s,遠(yuǎn)遠(yuǎn)超過(guò)ISA總線5Mb/s的速率,是目前使用較為廣泛的一種總線。在高速信號(hào)的實(shí)時(shí)處理中,利用PCI總線將采集數(shù)據(jù)直接傳送到微機(jī)系統(tǒng)內(nèi)存,可有效解決數(shù)據(jù)的實(shí)時(shí)傳輸和存儲(chǔ),為信號(hào)的實(shí)時(shí)處理提供方便。PCI 總線執(zhí)行協(xié)議比較復(fù)雜,總線的接口邏輯也非常復(fù)雜,為簡(jiǎn)化電路設(shè)計(jì)和提高可靠性,本設(shè)計(jì)采用了AMCC公司的總線控制器芯片S5933。
圖2 S5933內(nèi)部結(jié)構(gòu)圖
圖2為S5933的內(nèi)部結(jié)構(gòu)框圖。從外部看,它提供了PCI Bus、External BIOS及ADD-ON三個(gè)接口。因此,復(fù)雜的PCI接口規(guī)范完全由S5933實(shí)現(xiàn),我們只需設(shè)計(jì)ADD-ON接口電路及編制可選的External BIOS即可。為便于ADD-ON接口電路設(shè)計(jì),還提供了三組寄存器,分別用于不同的接口設(shè)計(jì)。直通數(shù)據(jù)寄存器組用于目標(biāo)設(shè)備方式Burst Mode數(shù)據(jù)傳輸;Mailboxes寄存器組用于CPU與ADD-ON之間少量數(shù)據(jù)通信,如CPU傳輸命令給ADD-ON等;FIFO寄存器組用于主控設(shè)備方式Burst Mode數(shù)據(jù)傳輸,有同步、異步之分。此外, PCI和ADD-ON接口各提供了兩組操作寄存器組,用于接口控制,分別稱為PCI Bus操作寄存器組和ADD-ON Bus操作寄存器組。
程序設(shè)計(jì)
1 驅(qū)動(dòng)程序設(shè)計(jì)
S5933驅(qū)動(dòng)程序根據(jù)Windows驅(qū)動(dòng)程序模型WDM設(shè)計(jì),運(yùn)行在Win2000平臺(tái)上,支持即插即用,采用基于數(shù)據(jù)包的DMA傳輸方式,每次最大傳輸64KB。當(dāng)應(yīng)用程序請(qǐng)求從系統(tǒng)讀數(shù)據(jù)時(shí),內(nèi)核I/O管理器將此請(qǐng)求打包成一個(gè)IRP(I/O請(qǐng)求包),并調(diào)用驅(qū)動(dòng)程序的讀例程。如果設(shè)備不忙,就啟動(dòng)DMA傳輸,否則將此IRP加入IRP隊(duì)列中。啟動(dòng)設(shè)備DMA讀時(shí),先用數(shù)據(jù)傳輸?shù)拇鎯?chǔ)地址和數(shù)據(jù)長(zhǎng)度設(shè)置寫(xiě)地址寄存器和寫(xiě)傳送計(jì)數(shù)寄存器,再設(shè)置中斷控制狀態(tài)寄存器(INTCSR),使DMA完成時(shí)能觸發(fā)中斷,最后設(shè)置控制/狀態(tài)寄存器(MCSR)來(lái)啟動(dòng)DMA讀。當(dāng)本次DMA傳輸完成時(shí),系統(tǒng)產(chǎn)生中斷,I/O管理器調(diào)用中斷服務(wù)例程和DpcForIsr完成此IRP,并從IRP隊(duì)列中取出下一個(gè)IRP,啟動(dòng)下一次DMA。下一次中斷發(fā)生時(shí)同樣處理,這樣不斷地進(jìn)行DMA傳輸,直到IRP隊(duì)列空為止。驅(qū)動(dòng)程序主要采用中斷方式來(lái)實(shí)現(xiàn),程序流程如圖3所示。
圖3 驅(qū)動(dòng)程序流程圖
由總線控制器S5933的結(jié)構(gòu)可知,設(shè)備驅(qū)動(dòng)程序需要實(shí)現(xiàn)雙字I/O操作和物理內(nèi)存管理。雙字I/O的操作相對(duì)簡(jiǎn)單,調(diào)用虛擬機(jī)管理器的SIMULATE_VM_IO例程即可,但物理內(nèi)存管理較復(fù)雜。由于S5933發(fā)起的DMA操作需要物理內(nèi)存的起始地址,因此必須涉及頁(yè)面級(jí)的物理內(nèi)存操作,故采用下述內(nèi)存管理策略:應(yīng)用程序加載驅(qū)動(dòng)程序,加載成功后發(fā)送申請(qǐng)緩沖區(qū)的事件給驅(qū)動(dòng)程序,驅(qū)動(dòng)程序使用PAGEALLOCATE例程得到地址連續(xù)的適當(dāng)長(zhǎng)度的物理內(nèi)存,鎖定緩沖區(qū)并將物理地址逆映射為線性地址,將物理首地址填入S5933的寫(xiě)RAM地址寄存器,允許S5933進(jìn)行主控DMA傳輸,傳輸完畢時(shí),應(yīng)用程序請(qǐng)求驅(qū)動(dòng)程序釋放上述物理內(nèi)存。
2 用戶應(yīng)用程序設(shè)計(jì)
本系統(tǒng)應(yīng)用程序采用結(jié)構(gòu)化、模塊化的設(shè)計(jì)方法,采用一片8031單片機(jī)作為CPU,各模塊均完成一定的獨(dú)立功能, 便于系統(tǒng)的功能擴(kuò)充和維護(hù)。系統(tǒng)操作由多級(jí)中文菜單提示進(jìn)行。顯示模塊程序設(shè)計(jì)模式多,顯示內(nèi)容豐富,可顯示中文菜單、回波波形、報(bào)警閘門、移動(dòng)標(biāo)尺、測(cè)量結(jié)果等。主控模塊用于控制檢測(cè)流程,實(shí)現(xiàn)數(shù)據(jù)的采集、處理和分析,并調(diào)用相應(yīng)的功能模塊實(shí)現(xiàn)顯示和打印等。通信模塊程序用于CPU與外部PC的串行通信,將探傷波形及結(jié)果等相關(guān)信息傳送至PC做進(jìn)一步分析、處理或存檔。鍵盤管理模塊擴(kuò)展了一個(gè)的小鍵盤,分成功能鍵和數(shù)字鍵,功能鍵用于選擇操作類型,數(shù)字鍵用于參數(shù)輸入,當(dāng)鍵按下時(shí)向CPU申請(qǐng)中斷。打印模塊用于控制微型打印機(jī)打印結(jié)果和缺陷回波等。