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