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