高丹華,楊 戀,董慶慶,丁 捷,耿瑞華,何愛軍
(南京大學(xué)電子科學(xué)與工程學(xué)院,南京,210046)
超聲波探傷儀是一種便攜式工業(yè)無損探傷儀器,在國內(nèi)外有著廣泛的應(yīng)用,但是目前國內(nèi)市場中的大部分?jǐn)?shù)字超聲探傷儀在設(shè)計上大都存在著模塊化程度不夠,精度不夠高,LCD顯示分辨率不高、刷新率不夠或者存在閃爍等問題,操作者難以從儀器屏幕上獲得準(zhǔn)確的信息,也使得產(chǎn)品的推廣和升級存在不少難度[1]。針對以上問題,設(shè)計了一種高度模塊化,高性能的超聲波探傷儀,可實現(xiàn)高分辨率LCD的實時無閃爍顯示1。
1.1硬件設(shè)計
系統(tǒng)基于FPGA+ARM為核心的硬件平臺進(jìn)行開發(fā),采用模塊設(shè)計的理念,主要由信號采集單元、系統(tǒng)控制單元和人機(jī)交互單元組成,每兩個單元之間通過唯一的數(shù)據(jù)總線通信,系統(tǒng)框架圖如圖1所示。
圖1 系統(tǒng)框架圖
信號采集單元由2部分組成:以Sparatn3E系列的XC3S250E-4芯片為核心的采集系統(tǒng)和以FT232H芯片為核心的USB2.0高速數(shù)據(jù)傳輸單元。采集系統(tǒng)主要完成數(shù)據(jù)高速采集和濾波功能。數(shù)據(jù)傳輸單元實現(xiàn)了采集系統(tǒng)與控制單元的雙向通信,實時將超聲數(shù)據(jù)傳輸至ARM端。
系統(tǒng)控制單元以S5PV210芯片為核心,完成數(shù)據(jù)處理、探傷波形實時顯示、數(shù)據(jù)存儲、報表打印以及HDMI輸出等功能。另外,系統(tǒng)控制單元還可通過USB、以太網(wǎng)兩種方式與PC通信,實現(xiàn)遠(yuǎn)距離探傷控制。
人機(jī)交互單元以PIC16F877A單片機(jī)為核心,實現(xiàn)外接電池管理、鍵盤管理、蜂鳴器和LED實時報警等功能。
用戶操作鍵盤,PIC獲取到鍵值后,通過串口傳輸至ARM端,控制單元進(jìn)行鍵值解析后將相對應(yīng)的控制命令通過USB總線傳輸至信號采集單元,F(xiàn)PGA則根據(jù)命令對其外設(shè)進(jìn)行相應(yīng)控制,采集到超聲波數(shù)據(jù)后通過USB總線實時地將數(shù)據(jù)傳輸至ARM端進(jìn)行實時顯示和處理。
1.2數(shù)據(jù)高速采集
數(shù)據(jù)采集部分是探傷系統(tǒng)設(shè)計的核心。A/D采樣精度和轉(zhuǎn)換速率直接影響測量的準(zhǔn)確度和效率。設(shè)計中使用MAX1449,它是一種單路3.3 V電源供電,分辨率為10位、105 MSPS的低功耗高速ADC,并帶有高寬帶采樣/保持的10階段流水線型結(jié)構(gòu)[2]。系統(tǒng)使用FPGA控制A/D工作在100 MSPS.
對于目前工業(yè)所使用的2.5 MHz探頭,該A/D采樣速度完全滿足需求,且精度較高,可高精度測量材料的聲速,這也是系統(tǒng)探傷具有高性能指標(biāo)的基本保證。
1.3USB2.0高速數(shù)據(jù)傳輸
USB有著使用安裝方便、高速穩(wěn)定等優(yōu)點(diǎn),目前已經(jīng)成為現(xiàn)代高速數(shù)據(jù)傳輸?shù)闹饕绞街?。并且該方案有效利用ARM處理器內(nèi)置的USB 2.0高速Host外設(shè),提高了通信效率,降低了ARM處理器的開銷。系統(tǒng)使用的FT232H是多功能單通道USB轉(zhuǎn)UART/FIFO芯片。片內(nèi)提供了1Kbytes的收發(fā)緩存,加上USB 2.0高速技術(shù)大大改善了資料輸送量,縮減了延遲回應(yīng)時間。在系統(tǒng)中配置FT232H工作于同步245FIFO模式,其理論最大傳輸速度高達(dá)40 Mbytes/s,降低了對于測量采樣率提升的限制。
系統(tǒng)中,探傷脈沖觸發(fā)頻率最大為1 kHz,每次脈沖激勵采集570個數(shù)據(jù)點(diǎn),每個數(shù)據(jù)點(diǎn)為10 bit,需要的傳輸數(shù)據(jù)帶寬為1.12 Mbytes/s,F(xiàn)T232H的實測傳輸速度最大達(dá)39.5 Mbytes/s,能夠保障數(shù)據(jù)的實時傳輸和探傷過程的效率。
1.4控制系統(tǒng)軟件設(shè)計
控制系統(tǒng)完成整個超聲探傷系統(tǒng)的管理工作,確保整個系統(tǒng)按照預(yù)定的邏輯工作流程正確運(yùn)行,且有強(qiáng)大的錯誤處理能力。控制系統(tǒng)端軟件基于嵌入式Linux操作系統(tǒng)和QT/Embedded軟件開發(fā)環(huán)境進(jìn)行。Qt是一個跨平臺的C++圖形用戶界面應(yīng)用程序開發(fā)框架,它提供了一種signals/slots的安全類型來替代windows中所提供的callback機(jī)制,大大方便了線程和對象間的通信[3]。軟件設(shè)計采用面向?qū)ο箝_發(fā)模型,所有的功能采用類與對象的方式實現(xiàn),利用Qt開發(fā)環(huán)境所提供的信號與槽機(jī)制,可方便地實現(xiàn)各對象間的同步或異步通信。控制系統(tǒng)軟件流程設(shè)計框圖如圖2所示。
圖2 軟件框圖
1.4.1 通信模塊
通信模塊由3個線程組成:與PIC通信的串口通信線程:通過FT232H與采集系統(tǒng)通信的數(shù)據(jù)采集線程、與PC聯(lián)機(jī)的遠(yuǎn)程通信線程。
串口通信線程以輪詢方式查看串口信息(串口通信速率為115 200 bit/s),包括電池信息、按鍵鍵值,同時可以根據(jù)系統(tǒng)的相關(guān)設(shè)置和狀態(tài)進(jìn)行實時報警等功能。 電池信息包括系統(tǒng)當(dāng)前供電方式(外接電源、電池供電)和電池余量信息(當(dāng)且僅當(dāng)電池供電時有效)。用戶可通過按下不同的鍵值實現(xiàn)人機(jī)交互,改變系統(tǒng)的狀態(tài)。
數(shù)據(jù)采集線程通過FT232H向FPGA發(fā)送基本采集參數(shù)命令,如增益控制、脈沖觸發(fā)頻率、聲程、波門信息等。FPGA解析命令進(jìn)行數(shù)據(jù)采集,將采集的有效數(shù)據(jù)與一些處理結(jié)果,如門內(nèi)是否有缺陷等,還有校驗位等信息封裝成為一幀數(shù)據(jù),通過FT232H輸至ARM。由于數(shù)據(jù)傳輸速率很高,為了確保波形的正確實時顯示和減少系統(tǒng)資源的開銷,這里采用了2種機(jī)制:一、檢驗機(jī)制,防止數(shù)據(jù)丟失,對包頭、包尾以及幀長度進(jìn)行檢測;二、使用環(huán)形緩沖區(qū),將接收到的數(shù)據(jù)全部存放至緩沖區(qū)內(nèi),顯示時根據(jù)脈沖觸發(fā)頻率進(jìn)行抽樣顯示,如觸發(fā)頻率為1 kHz時,則每20幀顯示1幀。采集線程流程如圖3所示。
圖3 采集線程流程圖
遠(yuǎn)程通信線程中有2種通信方式:USB和以太網(wǎng)。進(jìn)行遠(yuǎn)程通信時,ARM端將不再顯示波形,其作用是負(fù)責(zé)PC機(jī)與FPGA采集系統(tǒng)間的命令控制和數(shù)據(jù)傳輸,采集的數(shù)據(jù)直接從采集線程送往PC。
1.4.2 2D加速波形實時顯示
探傷波形的實時顯示是超聲系統(tǒng)的一項重要功能。本系統(tǒng)采集速率非常高,為了保證探傷的實時性,必須提高LCD波形顯示的速率。
QT下常用的繪制方法是在QWidget上使用QPainter繪畫。為了避免閃爍,可以使用雙緩沖機(jī)制,當(dāng)需要修改圖形時,只需在制定區(qū)域進(jìn)行修改并重繪即可。LCD屏的顯示分辨率為640×480,系統(tǒng)設(shè)計的波形顯示區(qū)域為570×410個像素點(diǎn),剩余部分為背景圖形顯示區(qū)域。波形顯示區(qū)域較大,這種方式雖然可以完全避免閃爍,但是其繪圖時間遠(yuǎn)遠(yuǎn)大于20 ms,刷新頻率太低,無法保證波形顯示的實時性[4]。
系統(tǒng)使用了2D加速的方法來加快實時波形的顯示。S5PV210內(nèi)置PowerVR SGX540 高性能圖形引擎,支持流暢的2D/3D 圖形加速。系統(tǒng)設(shè)計基于這一點(diǎn),利用QT的OpenGL模塊,在QGLWidget上使用QPainter繪制實時波形,實現(xiàn)了利用處理器完成2D圖形硬件加速,大大增加了實時波形的繪制速率,又避免了閃爍。
1.4.3 數(shù)據(jù)存儲
數(shù)據(jù)存儲是系統(tǒng)的重要功能之一,存儲介質(zhì)可為U盤和SD卡。存儲功能包括存儲單幅數(shù)據(jù)幀、連續(xù)數(shù)據(jù)幀、探頭頻點(diǎn)數(shù)據(jù)等,并且根據(jù)存儲的內(nèi)容,保存為不同類型的文件加以區(qū)分。
系統(tǒng)使用了QT類庫中提供的各種文件操作類如QFile、QDir、QFileInfo等,實現(xiàn)在嵌入式Linux文件系統(tǒng)中存儲、檢索、刪除文件的功能。
在系統(tǒng)中,使用10位A/D轉(zhuǎn)換器,F(xiàn)PGA控制其轉(zhuǎn)換率為100 MSPS,且直接利用A/D采樣點(diǎn)即抽樣前的數(shù)據(jù)進(jìn)行相關(guān)計算,提高了測量的精度。使用USB 2.0高速傳輸,實測最大傳輸速度為39.5 Mbit/s,提高了探傷效率,保證了數(shù)據(jù)的實時傳輸。另外,系統(tǒng)充分利用處理器可支持2D/3D圖形加速的特性,使用將QPainter與QT中OpenGL模塊中的QGLWidget結(jié)合使用,實現(xiàn)了2D加速顯示,提高了實時波形繪制的速率。
應(yīng)用項目開發(fā)的超聲波探傷儀利用ZSK-CA等標(biāo)準(zhǔn)試塊進(jìn)行性能調(diào)校,系統(tǒng)測試界面如圖4所示。
圖4 超聲波探傷儀測試界面
測量得到的各項儀器性能指標(biāo)結(jié)果如表1所示。
經(jīng)過整體儀器性能測試,各項指標(biāo)均達(dá)到國標(biāo)的要求,具有實際應(yīng)用價值,而且實現(xiàn)了高分辨率的LCD實時顯示,使儀器的使用更為方便。
表1 各項指標(biāo)測試結(jié)果
該系統(tǒng)使用FPGA完成數(shù)據(jù)的高速采集和高速處理,保證系統(tǒng)硬件的高性能指標(biāo),ARM端基于QT軟件平臺完成了友好的人機(jī)交互界面,并通過2D加速技術(shù)實現(xiàn)高速率的波形實時顯示等功能,增加了系統(tǒng)的靈活性。該方案得到了較高的性能指標(biāo),大大提高了測量精度和探傷效率。
參考文獻(xiàn):
[1]姚運(yùn)萍,孫岳中一,陳繼開.高性能便攜式超聲波探傷儀.儀表技術(shù)與傳感器,2008(5):27-28.
[2]樊磊,呂高登,張良.MAX1449在高速采樣系統(tǒng)中的應(yīng)用.電子元器件應(yīng)用,2009,11(12):1-2.
[3]唐志剛.基于linux+QT的嵌入式醫(yī)用監(jiān)護(hù)儀開發(fā):[學(xué)位論文].南京:南京大學(xué),2011.
[4]李晶.便攜式八通道超聲波探傷儀軟件設(shè)計:[學(xué)位論文].南京:南京航空航天大學(xué),2010.
作者簡介:高丹華(1988-),在讀碩士,主要研究領(lǐng)域為檢測與數(shù)控技術(shù)。E-mail:50misun@163.com