基于FPGA的八通道超聲探傷系統(tǒng)設(shè)計
摘要:文中提出了一種基于FPGA的八通道超聲探傷系統(tǒng)設(shè)計方案。該系統(tǒng)利用低功耗可變增益運放和八通道ADC構(gòu)成高集成度的前端放大和數(shù)據(jù)采集模塊;采用FPGA和ARM作為數(shù)字信號處理的核心和人機交互的通道。為了滿足探傷系統(tǒng)實時、高速的要求,我們采用了硬件報警,缺陷回波峰值包絡(luò)存儲等關(guān)鍵技術(shù)。此外,該系統(tǒng)在小型化和數(shù)字化方面有顯著提高,為便攜式多通道超聲檢測系統(tǒng)設(shè)計奠定基礎(chǔ)。
關(guān)鍵詞:八通道;超聲探傷;硬件報警;FPGA
超聲波探傷是一種重要的無損檢測方法,在大型鍋爐、發(fā)電機組、鐵路橋梁和航空航天等各個工業(yè)部門都得到了廣泛的應(yīng)用,并成為保證工程質(zhì)量、確保設(shè)備安全的一種重要手段。
目前國內(nèi)研制的超聲探傷儀器大部分為便攜式單通道。這些儀器重量輕,使用方便,便于探傷人員攜帶使用。但單通道儀器同時具有掃查面積小,速度慢,誤判率高等缺陷,不利于掃描大型器件。而少數(shù)多通道儀器則都是基于PC機所研制的。這些儀器能夠快速掃描各種器件,但是同時具有體積大,價格高等缺點,不利于多通道探傷儀的應(yīng)用和普及。
針對上述提到的一些問題,結(jié)合現(xiàn)代數(shù)字信號處理技術(shù)和微電子技術(shù),提出了一種基于嵌入式系統(tǒng)和FPGA的便攜式八通道超聲探傷系統(tǒng)的解決方案。該方案采用ARM9處理器作為主控芯片,利用大容量的FPGA進行并行處理,能夠同時滿足便攜性和實時性兩大要求。并能通過以太網(wǎng)接口,將數(shù)據(jù)快速傳輸?shù)絇C機上,對信號進行進一步的處理。
1 八通道超聲探傷系統(tǒng)硬件設(shè)計
本系統(tǒng)的硬件總體框圖如圖1所示。系統(tǒng)主要包含前端發(fā)射接收電路、八通道模數(shù)轉(zhuǎn)換電路,F(xiàn)PGA數(shù)據(jù)處理與邏輯控制系統(tǒng)和ARM后處理模塊4個部分組成。
前端發(fā)射接收電路的主要作用為生成用于激發(fā)探頭陣元產(chǎn)生超聲波的高壓脈沖,接受回波,以及實現(xiàn)對回波信號進行數(shù)控增益。ADC將采樣的模擬信號轉(zhuǎn)化成數(shù)字信號。FPGA模塊主要實現(xiàn)對數(shù)據(jù)的FIR濾波,非均勻壓縮,硬件報警,峰值包絡(luò)的存儲,以及相關(guān)的控制邏輯。ARM后處理模塊主要實現(xiàn)波形顯示、通道切換、頻譜分析、參數(shù)預(yù)置、人機交互等功能和一些相關(guān)外設(shè)的驅(qū)動。
1.1 前端發(fā)射接收電路
前端發(fā)射接收電路是實現(xiàn)八通道超聲設(shè)備主要性能指標的關(guān)鍵。一般由探頭觸發(fā)電路,隔離網(wǎng)絡(luò),帶通濾波器,可變增益放大器(VGA)4部分級聯(lián)而成。
可變增益放大器部分由三級可變增益AD8331級聯(lián)而成。AD8331是一款單通道、超低噪聲、線性dB可變增益放大器(VGA),針對超聲系統(tǒng)應(yīng)用進行了優(yōu)化,可以用作低噪聲可變增益元件。這款器件內(nèi)置一個超低噪聲前置放大器(LNA)、一個48 dB增益范圍的VGA以及一個具有可調(diào)輸出限制功能的可選增益后置放大器。經(jīng)過三級級聯(lián)和調(diào)試以后能夠?qū)崿F(xiàn)0~120 dB的增益動態(tài)范圍。
1.2 八通道數(shù)模轉(zhuǎn)換電路
本系統(tǒng)采用AD9212作為八通道模數(shù)轉(zhuǎn)換器。AD9212是ADI公司推出的一款八通道,10位采樣精度模數(shù)轉(zhuǎn)換器。該器件內(nèi)置采樣保持電路,低成本,低功耗,小尺寸,單片集成八個通道的AD電路,能夠極大的減少電路設(shè)計的工作量和所需的電路板的面積。與此同時,AD9212采用串行LVDS數(shù)據(jù)輸出和DDR操作,既具有較高的數(shù)據(jù)輸出速率,又能減少所需的接口IO資源。
1.3 數(shù)據(jù)處理與邏輯控制模塊
在本系統(tǒng)中,數(shù)據(jù)處理與邏輯控制子系統(tǒng)承擔著實時處理八通道數(shù)據(jù),配置八個通道的參數(shù),以及操作總線與ARM進行通信的任務(wù)。FP GA具有豐富的可編程資源,集成度高,實現(xiàn)靈活,能夠很好的滿足設(shè)計要求。
數(shù)據(jù)處理與邏輯控制子系統(tǒng)的結(jié)構(gòu)框圖如圖2所示,該子系統(tǒng)主要分成數(shù)據(jù)處理部分和邏輯控制部分。數(shù)據(jù)處理模塊實時處理數(shù)模轉(zhuǎn)換器傳輸來的數(shù)據(jù)流,邏輯控制模塊負責控制外設(shè)以及FPGA內(nèi)部各個模塊的時序。數(shù)據(jù)處理模塊包括DDR2串并轉(zhuǎn)換,將AD轉(zhuǎn)換器傳輸?shù)腄DR數(shù)據(jù)串行轉(zhuǎn)換成并行數(shù)據(jù)。并行數(shù)據(jù)經(jīng)過FIR濾波器,去除了模擬前端引入的噪聲,最后通過檢波和非均勻壓縮以后得到包絡(luò)數(shù)據(jù)。邏輯控制模塊主要實現(xiàn)發(fā)射的正負延時控制,增益的控制以及該子系統(tǒng)的狀態(tài)監(jiān)測和控制。
1.4 ARM后處理系統(tǒng)
ARM后處理系統(tǒng)的硬件結(jié)構(gòu)如圖3所示。ARM的高性能的處理能力和較強的內(nèi)存管理技術(shù)能有效完成數(shù)據(jù)的后處理,將探測結(jié)果多種顯示模式直觀的呈現(xiàn)出來。同時它還有豐富的片內(nèi)外圍設(shè)備接口,如網(wǎng)口,串口,USB接口,非常適合便攜式嵌入式系統(tǒng)的應(yīng)用,大大簡化了硬件的設(shè)計難度。
2 八通道超聲探傷系統(tǒng)軟件設(shè)計
本系統(tǒng)的應(yīng)用程序基于Qt/Embedded開發(fā),在軟件設(shè)計時采用了層次化、模塊化的思想。利用Qt中的信號與槽機制,以及C++面向?qū)ο蠓椒▽④浖饕譃槿缦履K:數(shù)據(jù)通信模塊(驅(qū)動接口)、運算處理模塊、界面模塊、主控模塊、參數(shù)預(yù)置模塊、數(shù)據(jù)管理模塊等。模塊之間可通過信號與槽通信。軟件框架如圖4所示。
3 八通道探傷系統(tǒng)設(shè)計中的關(guān)鍵技術(shù)
3.1 硬件報警技術(shù)
以往的單通道儀器多使用軟件報警技術(shù)。所謂軟件報警,就是采用軟件的方法進行波形閘門比較和報警。其最大的優(yōu)點是閘門的設(shè)定比較靈活。其缺點是報警會產(chǎn)生滯后,報警響應(yīng)慢。一般在單通道低重復(fù)頻率條件下,處理器響應(yīng)速度尚可以接受;然而對于高重復(fù)頻率和多通道的情況,軟件報警將會占用處理器大量時間,造成報警滯后,無法滿足實際探傷的要求。因此,在將要研制的八通道儀器中,只能采用FPGA來實現(xiàn)八通道的實時報警。
硬件報警器主要分為2種:進波(A門)報警和失波(B門)報警。當缺陷回波的峰值超過A門時,觸發(fā)進波報警,指示工件中存在較大缺陷。當回波信號的峰值移出B門時,觸發(fā)失波報警,指示回波信號較弱,儀器工作異常。本文在FPGA中,使用狀態(tài)機實現(xiàn)2種報警器。進波報警狀態(tài)機和失波報警狀態(tài)機如圖5所示。
3.2 缺陷回波峰值包絡(luò)的存儲技術(shù)
峰值包絡(luò)是指一定時間內(nèi),缺陷回波的峰值所形成的包絡(luò)。峰值包絡(luò)用來估計缺陷的狀況。記錄峰值包絡(luò)可以讓探傷人員對缺陷大小做詳細和準確的計算。針對八通道超聲探傷系統(tǒng)通道多、數(shù)據(jù)量大的情況,采用了FPGA來對峰值包絡(luò)進行實時記錄存儲。
具體工作流程如下:在報警狀態(tài)下,分別將回波信號存儲器和報警數(shù)據(jù)存儲器相同地址處的存儲值取出比較,如果前者大于后者,那么用回波信號存儲器的數(shù)據(jù)寫入報警數(shù)據(jù)存儲器對應(yīng)地址處,用新的數(shù)據(jù)刷新舊的數(shù)據(jù)。否則保持原來的存儲值不變。如此往復(fù)循環(huán),將新來的每一幀回波信號與報警數(shù)據(jù)存儲器中存儲的峰值包絡(luò)進行比較,直到報警結(jié)束就可以得到整個報警期間所有缺陷回波的峰值包絡(luò)。圖6為缺陷峰值包絡(luò)存儲框圖。
3.3 八通道實時數(shù)據(jù)傳輸
本系統(tǒng)中,F(xiàn)PGA同時處理八通道波形數(shù)據(jù),將要顯示的通道的實時數(shù)據(jù)傳送入FIFO中。ARM系統(tǒng)需要從FIFO中讀入波形數(shù)據(jù)并進行實時的波形顯示,這對系統(tǒng)的實時性要求非常高。為了向應(yīng)用程序及時高效地傳遞實時數(shù)據(jù),我們采用了Linux的異步通知機制,該機制結(jié)合了應(yīng)用層的信號機制與驅(qū)動層的中斷機制,從而實現(xiàn)了應(yīng)用層對設(shè)備的異步操作。
以重復(fù)頻率50 Hz為例,F(xiàn)PGA每隔20 ms發(fā)送一個中斷信號給ARM,ARM模塊接收到中斷后,在中斷處理程序中讀取FIFO數(shù)據(jù),并向應(yīng)用程序發(fā)送SIGIO信號。應(yīng)用程序接收到信號后,產(chǎn)生一個Qt事件,并將其掛入到Qt事件隊列中等待響應(yīng)。實際運行表明,系統(tǒng)能夠穩(wěn)定地傳輸和實時顯示波形,該方案是可行的。
4 實驗結(jié)果
在超聲波探傷過程中,通過將波形峰值與一條特定標準的曲線進行比較,用戶便可以確定材料內(nèi)部有無缺陷和缺陷大小以及位置的情況。常用的曲線包括AVG曲線和DAC曲線。
直探頭情況下,通常使用AVG曲線。AVG曲線一般由設(shè)備自行測出。對于不同的孔徑,可以通過測量得出不同的孔徑曲線。本文所研發(fā)的八通道儀器可以同時測出8條AVG曲線,如圖7所示。圖中可以看到同時顯示的八條AVG曲線,同時顯示了第二通道的回波包絡(luò)波形。
5 結(jié)束語
文中提出了一種嵌入式八通道超聲波探傷儀系統(tǒng)的設(shè)計方案。一方面,系統(tǒng)完全采用數(shù)字化設(shè)計,利用FPGA豐富的資源,提高系統(tǒng)處理并行數(shù)據(jù)的能力,完成了系統(tǒng)核心功能的實現(xiàn)。另一方面,嵌入式ARM后處理子系統(tǒng)以其豐富的外部接口,大大提高了硬件的集成度,同時,Linux操作系統(tǒng)和QT/Embedded集成開發(fā)環(huán)境,方便今后軟件系統(tǒng)的維護、更新和升級。系統(tǒng)運行和測試表明,該方案切實可行,能夠滿足八通道探傷系統(tǒng)的要求,具有廣闊的應(yīng)用前景。