基于嵌入式的新型工業(yè)數(shù)字超聲探傷儀的設(shè)計
超聲探傷儀廣泛應(yīng)用在航空航天、石油化工、冶金造船等行業(yè),用于檢測金屬或非金屬內(nèi)部缺陷以及分析材質(zhì),是無損檢測領(lǐng)域重要的檢測儀器之一。超聲探傷時,應(yīng)用得最多的是A型顯示,如圖1所示。
本文引用地址:http://butianyuan.cn/article/149311.htm在A型顯示中,橫坐標代表被測物的深度,縱坐標代表回波信號的幅度。目前同內(nèi)生產(chǎn)的數(shù)字式超聲探傷儀仍主要以單片機為核心,單片機固有的性能瓶頸制約了儀器的性能指標和功能擴展,與國外先進水平相比,國產(chǎn)產(chǎn)品技術(shù)水平仍有較大的差距。
本文介紹的新型嵌入式數(shù)字超聲探傷儀以32位RISC CPU S3C2440為控制中心,以高性能FPGA Spartan3為信號采集及處理核心,并輔以功能強大的Linux操作系統(tǒng)和MiniGUI圖形庫,實現(xiàn)了一款性能卓越、功能豐富的新型嵌入式超聲探傷儀。
設(shè)計思想與總體方案
本設(shè)計中的嵌入式探傷儀由兩部分組成,一部分是模擬信號前端,包括超聲發(fā)射接收電路及電源電路;另一部分是數(shù)字信號采集處理及控制后端,簡稱超聲主控計算機,也是本文主要介紹的部分。系統(tǒng)硬件的總體框圖如圖2所示。
系統(tǒng)中選用S3C2440處理器,內(nèi)嵌ARM920T核。本設(shè)計應(yīng)用了這款芯片的諸多特點:高達203MHz的主頻;內(nèi)部集成LCD控制器(STNTFT);3路異步串行通信接口;內(nèi)置看門狗定時電路及實時時鐘(RTC);內(nèi)部集成兩路USB host和一路USBdevice;對嵌入式Linux良好的支持等。
MiniGUI則是一個基于Linux、面向嵌入式系統(tǒng)的輕量級圖形用戶界面支持系統(tǒng)。它包含全部功能的庫文件大小為300 kB左右,可以根據(jù)開發(fā)的需要自行進行配置和編譯,特別適合作為嵌入式Linux系統(tǒng)的圖形平臺。
在超高速數(shù)據(jù)采集方面,本系統(tǒng)中選用的Spartan-3結(jié)構(gòu)與Virtex-II類似,1.2V內(nèi)核,其在超高速數(shù)據(jù)采集和信號處理方而有著明顯的優(yōu)勢。 在儀器性能方面,為了保證數(shù)字超聲探傷儀0.01mm的檢測精度和0~6000mm可變探測范圍,在FPGA中主要進行如下數(shù)字信號處理:
·數(shù)字檢波,包括正向、負向、雙向及RF檢波
·數(shù)字濾波,程控帶通FIR濾波器保證對0.5MHz~15MHz回波信號的良好數(shù)字濾波
·60MHz硬件采樣速率通過四次移相時鐘處理,實現(xiàn)等效240MHz高采樣率
·智能提取(提取點動態(tài)分配算法以保證顯示波形的水平線性)
·實時探傷報警(硬件報警閘門)
在儀器功能方面,充分利用ARM+Linux嵌入式系統(tǒng)的優(yōu)勢,擴展網(wǎng)絡(luò)、USB等豐富接口,使得儀器可以實現(xiàn)PC機端Windows下的上位機軟件和探傷儀上的LCD同步實時顯示,隨時下載探傷參數(shù)和上傳探傷數(shù)據(jù)與圖片,并使機器能連接U盤、移動硬盤、USB打印機等諸多設(shè)備。本設(shè)計采用最新的Linux內(nèi)核(Linux2.6.16),系統(tǒng)在響應(yīng)速度、驅(qū)動功能等諸多方而都遠遠優(yōu)于傳統(tǒng)的2.4內(nèi)核。在本項目開發(fā)過程中,采用的是網(wǎng)絡(luò)文件系統(tǒng);在最終的產(chǎn)品上,采用的是在DOC(MTD)上的ext2文件系統(tǒng)。
系統(tǒng)硬件資源分配
總線分配
S3C2440地址總線內(nèi)部是32位(4G),外部27位(128M)。數(shù)據(jù)總線寬度為32位。當外設(shè)芯片與CPU相接時,主控計算機的數(shù)據(jù)總線寬度可設(shè)置為32位、16位或8位模式。設(shè)置是在BWSCON寄存器中的DW位實現(xiàn)的。各外部設(shè)備的總線接法如表1所示。
外部地址空間分配
S3C2440提供8路片選,nGCS[0~7],每個片選都指定了固定的地址,每個片選固定間隔為128MB。
本系統(tǒng)中各外圍接口設(shè)備所對應(yīng)的地址空間分別為:
(1)NOR FLASH,nGCS0,接的是一片8M×16位數(shù)據(jù)寬度的INTEL TE28F128 FLASH,用于存放ppcboot引導(dǎo)程序和Linux內(nèi)核;
(2)網(wǎng)絡(luò)芯片DM9000,使用nGCS1,用于網(wǎng)絡(luò)傳輸收發(fā)數(shù)據(jù)的轉(zhuǎn)存;
(3)DOC,使用nGCS2,存放文件系統(tǒng)包括管理程序、系統(tǒng)命令等;
(4)FPGA連接nGCS3,nGCS4;keyboard+led使用nGCS3,前端數(shù)字信號處理使用nGCS4。
(5)主控計算機內(nèi)存由兩片16M×16位數(shù)據(jù)寬度的SDRAM構(gòu)成,兩片拼成32位模式,共用nGCS6。共64M RAM,用于動態(tài)數(shù)據(jù)緩存。
中斷資源分配
S3C2440可處理56路中斷,其中24路為外部中斷EINTn。板上擴展的外設(shè)接口中,網(wǎng)絡(luò)接口芯片DM9000使用EINT0。FPGA擴展中斷資源為EINT1、EINT2、EINT3、EINT4、EINT5、EINT6及EINT7。鍵盤用EINT2,前端圖像數(shù)據(jù)更新用EINT3,回波頻率測試數(shù)據(jù)更新用EINT4,系統(tǒng)關(guān)機按鍵用EINT1。其他中斷信號保留。
系統(tǒng)軟件設(shè)計
系統(tǒng)軟件的總體框圖如圖3。
超聲探傷系統(tǒng)同時要處理的任務(wù)比較多,而且實時性要求高,因此在探傷應(yīng)用程序中使用多線程技術(shù)。在保證系統(tǒng)能夠快速響應(yīng)的同時,還能夠?qū)崿F(xiàn)豐富的功能。和單線程相比,多線程程序可以并行執(zhí)行多個操作,所以事件可以在他們到達后立刻得到處理。本系統(tǒng)可以分為四個線程,在主線程中,用MiniGUI實現(xiàn)實時探傷、參數(shù)下載和報表打印三個模塊的功能,另外創(chuàng)建三個輔助線程,分別為:
讀數(shù)據(jù)線程,用于讀取實時探傷數(shù)據(jù);讀鍵盤線程,讀取鍵盤上被按下的按鍵鍵值,然后再通過SendMessage(hWnd,iMsg,wParam,lParam)發(fā)送一個按鍵消息,此消息將在MiniGUI的主窗口過程函數(shù)中進行處理;網(wǎng)絡(luò)線程,向上位機傳送探傷數(shù)據(jù),并接收上位機的控制命令。
測試及結(jié)論
經(jīng)檢測表明,本設(shè)計樣機的功能和指標達到或超過國家行業(yè)標準JB/T 10061-1999《A型脈沖反射式超聲探傷儀通用技術(shù)條件》的要求。其中,超聲探傷儀最重要的指標一一探傷靈敏度佘量高達68dB(同家標準規(guī)定不低于46 dB),而薄板分辨力小于1mm(國家標準規(guī)定不高于3mm)。另外,經(jīng)專業(yè)探傷專家試用,樣機能很好地應(yīng)用于超聲探傷難度最大的大鍛件粗晶材料的探傷現(xiàn)場。現(xiàn)場試用情況表明,儀器信噪比高,抗干擾能力強。
試用證明,本嵌入式數(shù)字超聲探傷儀設(shè)計項目具有性能優(yōu)異、可靠性高、界面友好、操作方便、性價比高等諸多優(yōu)點,在國內(nèi)工業(yè)超聲探傷儀領(lǐng)域處于領(lǐng)先水平。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論