馮紅東,武新軍,李 威
(華中科技大學(xué)機(jī)械科學(xué)與工程學(xué)院,湖北武漢 430074)
脈沖渦流檢測技術(shù)是當(dāng)前無損檢測領(lǐng)域的研究熱點(diǎn)之一,單次檢測能夠獲取金屬構(gòu)件多層次信息,同時(shí)具有電磁非接觸耦合的特點(diǎn),是一種快速不停機(jī)大面積檢測技術(shù)[1]。脈沖渦流檢測激勵(lì)源是脈沖渦流檢測儀器的關(guān)鍵組成部分,用于產(chǎn)生激勵(lì)信號,并經(jīng)過功率放大后加載到傳感器的激勵(lì)線圈中,從而在被檢試件中感應(yīng)出渦流,渦流引起的磁場變化被接收線圈轉(zhuǎn)換為電信號輸出[2]。激勵(lì)源性能直接關(guān)系到脈沖渦流檢測信號質(zhì)量,為提高檢測靈敏度,需要高性能激勵(lì)源。
直接數(shù)字頻率合成(direct digital synthesizer,DDS)技術(shù)是一種從相位角度出發(fā)的全數(shù)字化頻率合成技術(shù),具有分辨率高、頻率切換時(shí)間快、能輸出任意波形等優(yōu)點(diǎn),在通信、測試、儀器儀表等領(lǐng)域得到了廣泛應(yīng)用[3]。本文在DDS原理的基礎(chǔ)上,開發(fā)了一款以FPGA為核心的高性能脈沖渦流激勵(lì)源,該激勵(lì)源能夠?qū)崿F(xiàn)正負(fù)方波輸出,幅值、頻率、占空比和邊沿時(shí)間連續(xù)可調(diào)。其中,頻率范圍為0.02~2 Hz,邊沿時(shí)間范圍為1~10 ms,占空比范圍為1%~50%,能滿足脈沖渦流檢測對激勵(lì)源的要求。
脈沖渦流檢測激勵(lì)源的原理框圖如圖1所示,其主要由USB、FPGA、DAC等模塊組成。FPGA選用EP3C16Q240C8N器件,具有15 408個(gè)LEs,240個(gè)管腳,最多支持4個(gè)PLL,56個(gè)M9K RAM塊,高達(dá)516 096 bits;數(shù)模轉(zhuǎn)換器采用AD9744芯片,它是一款高性能、低功耗的CMOS數(shù)模轉(zhuǎn)換器,14位分辨率,最大刷新率165 MSPS。由于AD9744是一款差分輸出電流型DAC,需要利用差分轉(zhuǎn)單端、電流轉(zhuǎn)電壓電路將其輸出轉(zhuǎn)化為單端電壓信號。在此采用電壓反饋運(yùn)放AD8047和軌到軌運(yùn)算放大器ADA4895來實(shí)現(xiàn)差分轉(zhuǎn)單端、電流轉(zhuǎn)電壓電路。
圖1 激勵(lì)源硬件結(jié)構(gòu)
DDS是從相位角度出發(fā)的全數(shù)字結(jié)構(gòu)頻率合成技術(shù),如圖2所示,其主要由參考時(shí)鐘、相位累加器、波形存儲器、數(shù)模轉(zhuǎn)換器和低通濾波器組成[4]。其中,fc為參考時(shí)鐘;K為頻率控制字;N為相位累加器的位數(shù),其決定了輸出信號的頻率分辨率;A為波形儲存器的地址位數(shù),決定波形存儲器的存儲深度;D為波形存儲器的數(shù)據(jù)位字長及DAC的位數(shù),決定了幅值分辨率;fo為輸出信號頻率。
圖2 DDS功能結(jié)構(gòu)圖
DDS開始工作之后,在fc作用下,相位累加器將頻率控制字K與上一次累加結(jié)構(gòu)進(jìn)行累加保存,其輸出為二進(jìn)制相位碼,用于對波形存儲器的尋址,在溢出之前,相位累加器的輸出為一個(gè)以K為步長的線性增長序列。相位累加器的輸出相位碼為波形存儲器的地址輸入,從而完成相位-幅度的轉(zhuǎn)換。該幅度碼經(jīng)過DAC轉(zhuǎn)換為階梯波形,經(jīng)過低通濾波后變成模擬波輸出[5],輸出信號頻率如式(1)所示。
(1)
基于DDS技術(shù)原理,采用Verilog HDL語言實(shí)現(xiàn)相位累加器、相位轉(zhuǎn)換模塊和波形存儲器的設(shè)計(jì),借助SOPC技術(shù)生成波形存儲器中正負(fù)方波的相位-幅值數(shù)據(jù)。
2.2.1 相位累加器設(shè)計(jì)
相位累加器是DDS系統(tǒng)中最關(guān)鍵的結(jié)構(gòu),由圖2所示,其由N位的加法器和寄存器構(gòu)成,加法器用于求和,寄存器用于保存求和結(jié)果。相位累加器在fc作用下,完成對K的累加,因而相位累加器輸出可認(rèn)為是一個(gè)以K為步長的線性增長序列,并且由于溢出會呈現(xiàn)周期性。相位累加器的輸出為有效尋址,其有效地址個(gè)數(shù)也代表了一個(gè)激勵(lì)波形周期內(nèi)的數(shù)據(jù)點(diǎn)數(shù)。為了盡可能降低相位截?cái)嗾`差的影響,A的取值一般等于或稍大于DAC的位數(shù)加2[6]。本文選用的DAC為AD9744芯片,14位分辨率,在此將相位累加器的輸出位寬設(shè)為17位,這樣一個(gè)激勵(lì)周期中相位累加器的輸出結(jié)果中有131 072個(gè)有效尋址,正負(fù)方波波形中也有131 072個(gè)數(shù)據(jù)點(diǎn)。同時(shí),本文設(shè)計(jì)的參考時(shí)鐘fc=100 MHz,結(jié)合激勵(lì)波形的頻率范圍為0.02~2 Hz。根據(jù)式(1),同時(shí)為了增大步進(jìn)的最小分辨率,將相位累加器位數(shù)N設(shè)置為36,此時(shí)DDS能夠輸出的最小頻率分辨率為0.001 5 Hz,能夠滿足系統(tǒng)設(shè)計(jì)的要求。相位累加器例化元件如圖3所示。
圖3 相位累加器例化元件
在圖3(b)中,i_DDS_FRE_A用于設(shè)置頻率控制字K,32位寬;i_clk是時(shí)鐘信號,頻率為100 MHz,當(dāng)輸出使能信號有效時(shí)即i_COMMAND置為高電平,在時(shí)鐘i_clk上升沿,相位累加器進(jìn)行累加,每次累加K,輸出為截?cái)嘀蟮母?7位二進(jìn)制相位碼,可以保證每個(gè)波形周期中的有效查找地址數(shù)量為217=131 072個(gè),這樣進(jìn)行不停地累加和查表,輸出波形具有連續(xù)性。其仿真結(jié)果如圖4所示。
圖4 相位累加器仿真圖
2.2.2 波形存儲器設(shè)計(jì)
波形存儲器用于存儲離散化的相位-幅值數(shù)據(jù),實(shí)現(xiàn)相位-幅度轉(zhuǎn)換。波形存儲器的地址位數(shù)A決定了波形存儲器的存儲深度,字長等于DAC芯片的位數(shù)D。A的取值過大,會極大增加波形存儲器的絕對容量,使設(shè)計(jì)成本提高,功耗增大;而A的取值過小,又會導(dǎo)致信號中雜散嚴(yán)重,頻率穩(wěn)定性較差。根據(jù)相位累加器的輸出設(shè)計(jì),A的取值設(shè)為17,這樣波形存儲器的存儲容量大小為217×14=1 835 008 bits。而本文選用的FPGA為EP3C16Q240C8N,其含有56個(gè)M9K RAM塊,大小為516 096 bits,不滿足設(shè)計(jì)要求。有兩種解決辦法:增加外部大容量SRAM芯片,但需要改動硬件電路,增加系統(tǒng)功耗,結(jié)構(gòu)復(fù)雜;利用壓縮存儲的方法,減小波形存儲器的絕對容量,該方法實(shí)現(xiàn)時(shí)較靈活方便,需要根據(jù)波形不同來進(jìn)行調(diào)整。綜合考慮選用第2種方法,通過對正負(fù)方波激勵(lì)信號的分析,采用壓縮存儲數(shù)據(jù)來等效增大波形存儲器數(shù)據(jù)有效尋址位,正負(fù)方波信號示意圖如圖5所示。
圖5 正負(fù)方波激勵(lì)信號示意圖
假設(shè)第1階段包含n1個(gè)數(shù)據(jù)點(diǎn),第2階段包括n2個(gè)數(shù)據(jù)點(diǎn),第3階段包含n3個(gè)數(shù)據(jù)點(diǎn),從而可以得出第4、6、8階段也分別包含n2個(gè)數(shù)據(jù)點(diǎn),第5階段包含n1個(gè)數(shù)據(jù)點(diǎn),第7階段包含n3個(gè)數(shù)據(jù)點(diǎn),數(shù)據(jù)點(diǎn)總數(shù)量為217=131 072個(gè),離散化的波形可采用分段函數(shù)的形式來表達(dá),如式(2)所示。進(jìn)一步分析,第1、5階段各有n1個(gè)數(shù)據(jù)點(diǎn),各數(shù)據(jù)點(diǎn)相位不同,幅值相同,可用一個(gè)數(shù)據(jù)值來表示;在第2、4階段,各數(shù)據(jù)點(diǎn)相位不同,幅值也不相同,但由于對稱性,可采用其中一個(gè)階段數(shù)據(jù)來表示;其他階段數(shù)據(jù)亦是如此,這樣存儲相位-幅值數(shù)據(jù)可以顯著節(jié)省波形存儲器的絕對容量?;诖?,本文采用數(shù)據(jù)壓縮的方法來存儲波形數(shù)據(jù),具體存儲順序?yàn)椋?個(gè)低電平點(diǎn)數(shù)據(jù)0,正方波上升沿全部n2個(gè)數(shù)據(jù)點(diǎn),1個(gè)正的高電平點(diǎn)數(shù)據(jù)b,1個(gè)低電平點(diǎn)數(shù)據(jù)0,負(fù)方波下降沿全部數(shù)據(jù)點(diǎn)n2個(gè),1個(gè)負(fù)的高電平點(diǎn)數(shù)據(jù)-b,總共為2×n2+4個(gè)數(shù)據(jù),顯著壓縮了存儲空間。
(2)
根據(jù)前述提出的激勵(lì)信號波形參數(shù)可以計(jì)算出一個(gè)方波邊沿對應(yīng)的最大點(diǎn)數(shù)為217×10/500≈2 622,兩個(gè)邊沿點(diǎn)數(shù)為5 244,因此可將本文波形存儲器的大小設(shè)為213=8 192≥5 248,滿足設(shè)計(jì)要求。采用IP核設(shè)計(jì)方法將FPGA內(nèi)部RAM塊配置成ROM或RAM形式,文中配置成RAM形式,地址線13位,數(shù)據(jù)線14位,可以方便地更新其中的相位-幅值數(shù)據(jù),生成參數(shù)可調(diào)的正負(fù)方波。波形存儲器如圖6所示。
圖6 波形存儲器
2.2.3 相位轉(zhuǎn)換模塊
根據(jù)波形存儲器和相位累加器的結(jié)構(gòu)設(shè)計(jì),相位累加的輸出并不能直接用于波形存儲器的尋址,否則會造成相位截?cái)?,波形失真。為了確保一個(gè)周期內(nèi)包含131 072個(gè)數(shù)據(jù)點(diǎn)的設(shè)計(jì)要求,需要在相位累加器和波形存儲器之間加入一個(gè)相位轉(zhuǎn)換模塊,將相位累加器17位寬輸出轉(zhuǎn)換為13位寬。該轉(zhuǎn)換過程中不能改變相位累加器尋址個(gè)數(shù)和尋址速度,相位轉(zhuǎn)換模塊如圖7所示。
圖7 相位轉(zhuǎn)換模塊
2.2.4 波形數(shù)據(jù)生成
根據(jù)對波形存儲器的分析可知,波形存儲器中存儲激勵(lì)波形的相位-幅值數(shù)據(jù)。為能夠?qū)崿F(xiàn)占空比、幅值、邊沿時(shí)間等參數(shù)可調(diào)的需求,波形存儲器中的數(shù)據(jù)必須能夠得到及時(shí)更新。波形數(shù)據(jù)的來源通常有3種:上位機(jī)生成,然后通過USB寫入DDS的波形存儲器;設(shè)置若干個(gè)波形存儲器存儲不同的波形數(shù)據(jù),然后切換來改變激勵(lì)波形;在FPGA內(nèi)部例化一個(gè)波形生成器,通過相應(yīng)的參數(shù)生成波形數(shù)據(jù)。綜合比較上述3種方案,本文選用第3種方案,借助SOPC技術(shù)可以方便地設(shè)計(jì)出正負(fù)方波的波形函數(shù),完成波形數(shù)據(jù)的生成。本文設(shè)計(jì)的波形存儲器的存儲深度為8 192點(diǎn),用來保存2個(gè)低電平點(diǎn)、2個(gè)高電平點(diǎn)、1個(gè)正方波的上升沿波形數(shù)據(jù)和1個(gè)負(fù)方波的下降沿波形數(shù)據(jù)。根據(jù)頻率、占空比、幅值和邊沿時(shí)間可以計(jì)算出邊沿中含有的數(shù)據(jù)點(diǎn)個(gè)數(shù)及數(shù)據(jù)值,例如頻率0.2 Hz,邊沿時(shí)間10 ms,占空比50%,可以計(jì)算得到周期T=5 000 ms,邊沿時(shí)間10 ms對應(yīng)的點(diǎn)數(shù)131 072×10/5 000=262,進(jìn)而可采用一次函數(shù)計(jì)算出方波邊沿的相位-幅值數(shù)據(jù)。本文設(shè)計(jì)時(shí)采用上位機(jī)由波形參數(shù)計(jì)算出各階段對應(yīng)的點(diǎn)數(shù)傳遞給下位機(jī),下位機(jī)根據(jù)點(diǎn)數(shù)和幅值就可以生成相應(yīng)的波形數(shù)據(jù),然后寫入波形存儲器。
利用VS2013開發(fā)環(huán)境在計(jì)算機(jī)編寫上位機(jī)軟件,通過USB2.0實(shí)現(xiàn)上位機(jī)和FPGA之間的數(shù)據(jù)傳輸,上位機(jī)界面包含了顯示區(qū)和按鈕區(qū),用于可視化信息的選擇與輸入,如圖8所示。操作者可以輸入信號的頻率、幅值、邊沿時(shí)間、占空比等具體信息,上位機(jī)將這些信息轉(zhuǎn)化為下位機(jī)可以識別的指令,通過USB2.0傳輸?shù)紽PGA中。
圖8 上位機(jī)界面
脈沖渦流檢測激勵(lì)源具有幅值、頻率、占空比、邊沿時(shí)間連續(xù)可調(diào)的功能,設(shè)計(jì)中搭建了測試平臺對功能進(jìn)行了驗(yàn)證。利用HDO 4054數(shù)字示波器來觀察波形各項(xiàng)參數(shù),分別對激勵(lì)波形的幅值、頻率、占空比、邊沿時(shí)間進(jìn)行測試,觀察輸出波形質(zhì)量。實(shí)際檢測中常用激勵(lì)頻率為0.2 Hz,方波占空比50%,邊沿時(shí)間1 ms,通過示波器觀察到波形如圖9所示,可以看出,方波波形正常,穩(wěn)定,無明顯毛刺。
圖9 正負(fù)方波激勵(lì)信號
圖10 實(shí)驗(yàn)平臺
為了進(jìn)一步檢測激勵(lì)源實(shí)際性能,結(jié)合其他電路和儀器搭建實(shí)驗(yàn)平臺,檢測激勵(lì)源在實(shí)際檢測的性能。實(shí)驗(yàn)平臺布置如圖10所示,包括計(jì)算機(jī)、激勵(lì)源、采集卡、前置濾波放大器、±12 V線性電源、數(shù)字示波器、BP4610雙極性功率放大器、檢測傳感器、階梯試板等。其中,試板的材料為16MnR,規(guī)格為33 mm×18.5 mm,壁厚分別為10 mm、8 mm。
將檢測傳感器分別放置于16MnR階梯試板的8 mm、10 mm處,16MnR階梯試板的檢測信號如圖11所示。從圖中可以看出,16MnR階梯試板的8 mm和10 mm壁厚能夠清晰區(qū)分。因此,本文所研制的激勵(lì)源能夠生成具有一定頻率和占空比的正負(fù)方波激勵(lì)信號,符合設(shè)計(jì)目標(biāo),滿足脈沖渦流檢測需求。
圖11 16MnR階梯試板檢測信號
本文利用DDS技術(shù)的優(yōu)點(diǎn)和FPGA技術(shù),開發(fā)了一種用于脈沖渦流檢測的高性能激勵(lì)源,能夠產(chǎn)生高質(zhì)量的正負(fù)方波激勵(lì)信號,滿足檢測需求。工作時(shí),上位機(jī)通過USB2.0完成對下位機(jī)的控制,包括波形參數(shù)設(shè)置、激勵(lì)控制等,上位機(jī)界面友好,便于操作;下位機(jī)體積小,功耗低,性能穩(wěn)定;上位機(jī)只需向下位機(jī)發(fā)送正確的控制命令,便可得到需要的正負(fù)方波激勵(lì)信號。對激勵(lì)源的功能測試表明,系統(tǒng)可以實(shí)現(xiàn)頻率、占空比、幅值、邊沿時(shí)間等參數(shù)的連續(xù)調(diào)節(jié),系統(tǒng)輸出的激勵(lì)信號頻率穩(wěn)定性好、分辨率高、切換速度快,能夠很好地滿足脈沖渦流檢測的需求。