基于ARM和FPGA的嵌入式超聲探傷系統(tǒng)
關(guān)鍵詞:ARM;FPGA;嵌入式;超聲探傷
1 引言
超聲技術(shù)是無(wú)損檢測(cè)的一種重要方法,很多數(shù)字探傷儀以單片機(jī)(MCU)為核心,單片機(jī)固有的性能瓶頸制約了儀器的性能指標(biāo)和功能擴(kuò)展,存在存儲(chǔ)體積太小、實(shí)時(shí)性低等缺點(diǎn)。
嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),硬件和軟件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積和功耗等嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)?;贏RM的處理器具有良好的性能并在嵌入式系統(tǒng)中得到了廣泛的應(yīng)用[1-2]。在超高速數(shù)據(jù)采集方面, FPGA (Field Programmable Gate Array現(xiàn)場(chǎng)可編程門(mén)陣列) 有著單片機(jī)和DSP 所無(wú)法比擬的優(yōu)勢(shì)。FPGA 時(shí)鐘頻率高, 內(nèi)部時(shí)延小,全部控制邏輯由硬件資源完成, 速度快, 效率高,提供了強(qiáng)大的信號(hào)處理能力,用于超聲信號(hào)高速濾波和壓縮?;贏RM和FPGA的嵌入式數(shù)字超聲探傷系統(tǒng)實(shí)現(xiàn)高速采集超聲檢測(cè)信號(hào),擁有存儲(chǔ)大量回波圖像和數(shù)據(jù)的能力,而且實(shí)現(xiàn)了遠(yuǎn)程監(jiān)控。
2 系統(tǒng)硬件結(jié)構(gòu)
系統(tǒng)的硬件結(jié)構(gòu)圖如圖1所示,由ARM中央處理器、FPGA、超聲模擬前端和一些外設(shè)接口組成。本系統(tǒng)采用S3C2410A是一個(gè)由三星公司生產(chǎn)的32位的ARM920T核的微處理器,它是專(zhuān)門(mén)為手提設(shè)備設(shè)計(jì),采用哈佛總線(xiàn)結(jié)構(gòu),具有MMU、AMBA總線(xiàn)。S3C2410A提供了一套完備的外圍接口,有利于系統(tǒng)的擴(kuò)展[3]。FPGA用于對(duì)超聲回波信號(hào)進(jìn)行處理。盡管此系統(tǒng)自帶的存儲(chǔ)空間是有限的(共128MB),但是我們可以通過(guò)USB接口將超聲圖像和數(shù)據(jù)轉(zhuǎn)存到U盤(pán)。RS232用于嵌入式系統(tǒng)調(diào)試階段并可以查看調(diào)試信息。DM9000是完全綜合的、成本較低的單一快速以太網(wǎng)控制器芯片,具有通用的處理器接口,10/100M自適應(yīng),以及4K雙字節(jié)靜態(tài)存取存儲(chǔ)器。通過(guò)DM9000,探傷數(shù)據(jù)可以傳輸?shù)竭h(yuǎn)程的計(jì)算機(jī)上。Linux操作系統(tǒng)存儲(chǔ)在Flash上,探傷數(shù)據(jù)和圖像暫存在DOC(Disk On Chip)。液晶顯示器LCD(Liquid Crystal Display)已經(jīng)成為現(xiàn)代儀表用戶(hù)界面的主要發(fā)展方向,它不僅省電,而且能顯示大量的信息,如各種文字、曲線(xiàn)等等,本項(xiàng)目采用320 240的256色的真彩色液晶顯示器。
圖1 硬件結(jié)構(gòu)圖
當(dāng)系統(tǒng)開(kāi)始運(yùn)行時(shí),探傷工人首先設(shè)置儀器參數(shù),然后ARM向FPGA的相應(yīng)寄存器下載參數(shù),F(xiàn)PGA產(chǎn)生一個(gè)窄的脈沖來(lái)觸發(fā)超聲探頭發(fā)射超聲。FPGA控制ADC(Analog-Digital Converter)以60MHz的速度采集回波信號(hào),超聲信號(hào)經(jīng)過(guò)FPGA濾波后,再被壓縮成LCD屏幕的寬度,超聲回波圖像和檢測(cè)結(jié)果在LCD屏幕上顯示。DAC(Distance Amplitude Compensation)曲線(xiàn)和報(bào)警閘門(mén)也用于輔助探傷。圖2(a)是我們?cè)O(shè)計(jì)的超聲探傷儀樣品,圖2(b)內(nèi)部結(jié)構(gòu)圖。
圖2 超聲探傷儀
3 信號(hào)處理
FPGA主要對(duì)信號(hào)進(jìn)行濾波和壓縮。前端回來(lái)的回波信號(hào)含有很多干擾噪聲,因此必須先經(jīng)過(guò)濾波處理。采用FIR濾波器來(lái)消除噪聲,由公式(1)定義,x(n) 是輸入的原始信號(hào),y(n)是處理完的信號(hào)。FIR濾波器的優(yōu)點(diǎn)是:系統(tǒng)總是穩(wěn)定的,所有頻率的輸入信號(hào)產(chǎn)生同樣的偏移,從而消除了相位扭曲。
(1)
數(shù)據(jù)壓縮是從每幀數(shù)據(jù)中提取屏幕寬度(為320)的數(shù)據(jù)用來(lái)表示這幀數(shù)據(jù)。提取算法必須確保每幀中最大的和最小的數(shù)據(jù)不能被漏掉,因此我們首先將數(shù)據(jù)分成320段,然后分別在每段中尋找最大最小值作為該段代表值。
4 軟件設(shè)計(jì)
由于Linux系統(tǒng)具有源碼開(kāi)放、內(nèi)核可定制裁減、實(shí)時(shí)性能好等特點(diǎn),在嵌入式工業(yè)控制領(lǐng)域得到了廣泛的應(yīng)用。本設(shè)計(jì)采用最新的Linux內(nèi)核(Linux2.6.16),使得系統(tǒng)在響應(yīng)速度,驅(qū)動(dòng)功能等諸多方面都遠(yuǎn)遠(yuǎn)優(yōu)于傳統(tǒng)的2.4 內(nèi)核。 www.51kaifa.com
超聲探傷系統(tǒng)同時(shí)要處理的任務(wù)比較多,而且實(shí)時(shí)性要求高,因此在程序中使用多線(xiàn)程技術(shù)。和單線(xiàn)程相比,多線(xiàn)程程序可以并行執(zhí)行多個(gè)操作,事件可以在他們到達(dá)后立刻得到處理。如圖3所示,本系統(tǒng)可以分為三個(gè)線(xiàn)程,分別為:(1)主線(xiàn)程 用MiniGUI實(shí)現(xiàn)實(shí)時(shí)探傷、參數(shù)下載和報(bào)表打印三個(gè)模塊的功能;(2) 讀數(shù)據(jù)線(xiàn)程 用于讀取實(shí)時(shí)探傷數(shù)據(jù);(3)網(wǎng)絡(luò)線(xiàn)程 向上位機(jī)傳送探傷數(shù)據(jù)并接收上位機(jī)的控制命令。
圖3 應(yīng)用軟件框架示意圖
在探傷儀上,我們以MiniGUI為基礎(chǔ)來(lái)實(shí)現(xiàn)界面功能,在上位機(jī)上使用VC++6.0來(lái)開(kāi)發(fā)并采用WinSock技術(shù)來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)功能。 MiniGUI是嵌入式 Linux 系統(tǒng)下一個(gè)輕量級(jí)的圖形用戶(hù)界面支持系統(tǒng), 具有占用資源少、高性能、高可靠性和可配置等特點(diǎn),該技術(shù)目前已比較成熟, 并已成功應(yīng)用到很多嵌入式項(xiàng)目。www.51kaifa.com
遠(yuǎn)程監(jiān)控是指將控制和網(wǎng)絡(luò)結(jié)合起來(lái),通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn)在異地對(duì)現(xiàn)場(chǎng)設(shè)備的監(jiān)測(cè)和控制。在國(guó)外,已有公司開(kāi)發(fā)了AutoNDT軟件,將網(wǎng)絡(luò)技術(shù)用于超聲探傷中,通過(guò)Internet實(shí)現(xiàn)了遠(yuǎn)程探傷診斷和聯(lián)網(wǎng),并具有強(qiáng)大的本地?cái)?shù)據(jù)處理功能[4]。如圖4所示,遠(yuǎn)程監(jiān)控系統(tǒng)采用客戶(hù)端/服務(wù)器(C/S)模式,將探傷儀器設(shè)為服務(wù)器,上位機(jī)設(shè)為客戶(hù)端。由于超聲探傷常用于比較重要的行業(yè),如火車(chē)鋼軌、鍋爐等缺陷的檢測(cè),因此要求探傷數(shù)據(jù)準(zhǔn)確性高,能夠真實(shí)地、完全地再現(xiàn)檢測(cè)檢測(cè)現(xiàn)場(chǎng)的數(shù)據(jù)[5]。為實(shí)現(xiàn)這個(gè)目的,本項(xiàng)目網(wǎng)絡(luò)連接采用TCP/IP面向連接的協(xié)議,來(lái)確保探傷數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。
圖4 網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)圖
探傷過(guò)程中,在上位機(jī)和探傷儀器上同步顯示了同樣的探傷波形及參數(shù),在上位機(jī)上還可以通過(guò)網(wǎng)絡(luò)向探傷儀下載儀器參數(shù)。因此,有經(jīng)驗(yàn)的探傷專(zhuān)家可以通過(guò)上位機(jī)遠(yuǎn)程監(jiān)測(cè)和指導(dǎo)探傷過(guò)程,或者當(dāng)探傷環(huán)境比較惡劣或危險(xiǎn)時(shí),探傷人員就不用親自到現(xiàn)場(chǎng),只需在辦公室里通過(guò)網(wǎng)絡(luò)來(lái)遙控探傷儀進(jìn)行探傷,大大提高了探傷的自動(dòng)化程度與靈活性。
5 結(jié)語(yǔ)
利用FPGA在高速信號(hào)采集及數(shù)字信號(hào)處理方面的優(yōu)勢(shì),ARM9 CPU強(qiáng)大的控制及接口功能,以及嵌入式Linux和MiniGUI為網(wǎng)絡(luò)、可視化圖形界面、多線(xiàn)程等編程提供的便捷高效的底層支持,免費(fèi)和開(kāi)放原碼的優(yōu)良特性,開(kāi)發(fā)出的嵌入式通用探傷儀具有性能優(yōu)異,功能豐富、可靠性高、界面友好、操作方便、性?xún)r(jià)比高等諸多優(yōu)點(diǎn),在工業(yè)數(shù)字探傷儀領(lǐng)域有極強(qiáng)的競(jìng)爭(zhēng)力。另外,一方面,由于有高性能FPGA做底層支持,便于先進(jìn)的信號(hào)處理方法在此儀器上的升級(jí)(比如說(shuō)小波變換和時(shí)頻分析理論應(yīng)用于超聲信號(hào)的處理);另一方面,由于有功能強(qiáng)大,升級(jí)方便的Linux操作系統(tǒng)支持,為系統(tǒng)在硬件擴(kuò)展和應(yīng)用軟件升級(jí)等方面都提供了極大的便利。設(shè)計(jì)的超聲探傷系統(tǒng)具有完善的軟件功能,通過(guò)TCP/IP實(shí)現(xiàn)C/S模式下的跨平臺(tái)通信,可以對(duì)超聲探傷進(jìn)行遠(yuǎn)程監(jiān)控。
參考文獻(xiàn):
[1]蔡利民.基于ARM的信息家電遠(yuǎn)程控制系統(tǒng)得設(shè)計(jì)[J].微計(jì)算機(jī)信息,2006,11-2,149-151
[2]廖高華, 余紅粒, 唐鋼.基于嵌入式計(jì)算機(jī)的超聲檢測(cè)系統(tǒng)[J].儀表技術(shù)與傳感器,2006. 4www.51kaifa.com
[3]Samsung Electronics Co., Ltd.S3C2410A USER'S MANUAL, 2004
[4]KM.Abd El-Ghany; M.M.Farag; “AutoNDT:New Software for Remote Ultrasonic Scanning Via Internet”, NDT&E International, Volumn:35,2002
[5]郭其一, 吳松, 賈鵬.基于網(wǎng)絡(luò)的跨平臺(tái)遠(yuǎn)程狀態(tài)檢測(cè)與故障診斷系統(tǒng)研究[J]中國(guó)科技信息,2005.11
導(dǎo)師批注:該論文結(jié)合實(shí)際項(xiàng)目的開(kāi)發(fā)過(guò)程,詳細(xì)闡述了通過(guò)ARM和FPGA構(gòu)造嵌入式超聲探傷系統(tǒng)的步驟,從硬件結(jié)構(gòu)設(shè)計(jì)到軟件設(shè)計(jì)全方面地總結(jié)了項(xiàng)目設(shè)計(jì)的要點(diǎn),觀點(diǎn)新穎,方案實(shí)用,可以作為一種嵌入式實(shí)施方案舉一反三地移植到新的應(yīng)用上。
創(chuàng)新觀點(diǎn):
1、 將ARM和FPGA構(gòu)建嵌入式系統(tǒng),并應(yīng)用于超聲檢測(cè)系統(tǒng),實(shí)現(xiàn)高速超聲信號(hào)采集和處理,并且數(shù)據(jù)存儲(chǔ)容量大。www.51kaifa.com
2、 構(gòu)建跨平臺(tái)網(wǎng)絡(luò)通信系統(tǒng),實(shí)現(xiàn)對(duì)超聲探傷的遠(yuǎn)程監(jiān)控,不但可以在遠(yuǎn)程監(jiān)測(cè)超聲探傷過(guò)程,還可以下載儀器參數(shù)控制探傷儀。