引言
交流電磁場檢測(AlternatingCurrentFieldMeasure-ment.ACFM)是一種基于電磁感應原理的主動式電磁無損檢測技術,對導電工件表面及近表面裂紋的檢測具有獨特的優勢。交流電磁場檢測需要在被測工件表面感應出交變電流,當不存在缺陷時,感應電流均勻分布;存在缺陷時,缺陷對感應電流產生擾動,通過提取感應電流產生磁場的變化來確定缺陷的長度及深度等信息。
現場可編程門陣列(FieldProgrammableGateArray,FPGA)是近年來新型的高集成度數字器件,受到世界范圍內電子工程設計人員的廣泛關注和普遍歡迎,可以滿足大多數專用檢測系統的設計。本文以FPGA為開發平臺設計頻率可調的激勵源模塊,激勵源由直接數字頻率實現,合成頻率適用于不同的被測材料,既可以滿足交流電磁場檢測系統的需求,又可以降低該系統的功耗和成本。并且FPGA的引腳豐富、存儲區大,特別適合現場的實時檢測系統,方便檢測儀器的野外和高空操作。
1、直接數字頻率合成原理
DDS或DDFS(DirectDigitalFrequencySysthesis)即直接數字頻率合成,原理是將信號的完整周期預先做歸一化處理,采樣足夠的點數存儲,需要輸出時通過時鐘頻率查找存儲表地址對應的幅值輸出給高速DA轉換器,由低通濾波器輸出模擬信號。典型的DDS原理如圖1所示。波形存儲表可以設置為正弦波)方波)三角波等波形。
假設正弦波信號的一個周期以2N次采樣存儲,fclk時鐘頻率fn為合成頻率,T0為合成信號周期。并且假設累加器位數與地址位數相同,則控制合成頻率有全采樣和頻率控制字采樣兩種方法。
1.1、全采樣
時鐘頻率查找波形存儲表的每一個地址,輸出地址對應的幅值。則合成激勵源的一個完整周期需要2n次查表,合成頻率與時鐘頻率的關系如式(1):
式中:fn為合成頻率,Tn為合成信號周期,fclk為時鐘頻率,2n為采樣次數。由式(1)可知所有采樣點都經過查找輸出幅值時,通過改變時鐘頻率fclk即可合成不同頻率的信號。
1.2、頻率控制字采樣
在采樣時鐘頻率一定時,已知波形存儲表的長度不變,通過控制每次累加頻率控制字的大小,改變查找表的次數,合成不同頻率的信號。
但是設計的累加器位數與地址位數一致后,當頻率控制字的值大于l時,每次周期采樣都會丟失一部分波形存儲表地址。如表1所示,當以1為頻率控制字累加步進時,每次相位累加后的結果與地址對應;當以2為頻率控制字累加步進時,一個周期的合成只能查找一半的頻率地址,另外一半的地址信息丟失。并且隨著頻率控制字的值增加,合成信號的每個周期采樣點數越來越少。
表1 ?合成頻率采樣表
為了避免將查表的地址信息丟失,在電路設計中通常增加累加器的位數,累加器在功能上可以劃分為地址寄存器和相位寄存器,如表2所示,在累加器的低位中增加相位寄存器。當頻率控制字的值以小于等于相位寄存器的最大值進行累加時,都會首先向地址寄存器的最低位進一,進位后的相位寄存器清零,地址寄存器的值發生變化,這樣就會使地址寄存器的輸出與存儲表的地址一一對應,存儲表的地址信息全被查找。
表2 ?相位累加器功能表
2、信號源的VerilogHDL編程
VerilogHDL是硬件描述語言的一種,設計者需要掌握具體物理電路模型,編寫設計文件,然后使用EDA工具進行仿真驗證,使用自動綜合工具轉換到門級電路網表,最后經過布局布線生成電路。由上述內容可知,DDS系統需要設計相位累加器、頻率寄存器、波形存儲表及查表。為了方便控制頻率控制字的變化,本文設計了獨立按鍵來調節頻率控制字。
2.1、相位累加器的設計
累加器功能上是由高8位地址寄存器和低8位相位寄存器組成,頻率控制字通過頻率寄存器實現,所以在FPGA中需要設計一個16位累加器和8位wire型頻率寄存器。累加器Verilog代碼如下:
2.2、波形存儲表的生成
由于DA轉換芯片為8位,故波形存儲表的幅值位寬為8位,地址深度為256。波形存儲表采用QUARTUSII的波形數據生成器MifMaker來生成。累加器的高8位輸出與波形存儲一一對應。正弦存儲表如下所示:
波形存儲表生成以后需要導入FPGA的存儲區,在FPGA中配置對應的波形存儲塊,與波形生成器文件的深度和位寬保持一致。建立方法如下:
(1)在Tools工具欄下選擇MegaWizard創建新宏單元;
(2)在MemoryCompiler目錄下選擇ROM,對其進行設置器件型號、位寬、深度相關參數;
(3)添加生成的波形存儲表。
2.3、FPGA查表的設計
在上述第二步的基礎上,將波形存儲表導入FPGA的ROM存儲塊后,還需要例化ROM存儲塊,讀取波形存儲表的DA轉換數據。其例化程序如下:
dacwavedacwave_inst(.address(addr),.clock(clk),.q
(dac_data));
2.4、按鍵電路的設計
通過獨立按鍵控制DDS的輸出頻率,其中sb3將頻率控制字設為最小值1,sb4將頻率控制字設為FF。代碼如下:
always@(posedgeclkornegedgerst_n)
if(!rst_n)
frewordn《=
8‘hl;
else
begin
if(fre_word_ctrl
[0]fre_word_n《=fre_
word_n+l’bl;
if(fre_word_ctrl
[1])fre_word_n《=fre_
word_n-l‘bl;
if(fre_word_ctrl
[2])fre_word_n《=8’bl;
if‘(fre_word_ctrl[3])fre_word_n《=8’bllll_llll;
end
assignfre_word=fre_word_n;
2.5、DDS模塊的RTL視圖
RTL級(Register-Transfer-Level)是實際電路的行為級描述,描述數據在寄存器之間的流動模型。通過RTL視圖可以直觀地了解設計的實際電路。基于FPGA的激勵源RTL視圖如圖2所示。
圖2 ?激勵源的RTL視圖
3、外圍電路的設計
基于FPGA的激勵源模塊主要有時鐘電路、DA轉換及4輸入按鍵電路。輸入端口包括時鐘輸入端口、復位端口、獨立按鍵端口、DAC時鐘輸出端口及DAC數據輸出端口。本次設計采用40MHz晶振,AD9708進行DA轉換。
AD9708是電流輸出型DA轉換器,8位低功耗數模轉換器,最高支持125MSPS的更新速率。內置一個1.2V片內基準電壓源和基準電壓控制放大器,只需要單個電阻即可設置滿量程輸出電流。電流輸出可以直接連至一個輸出電阻,以提供兩路互補的單端電壓輸出。具體的電路設計如圖3所示,注意將模擬地和數字地通過0歐的電阻進行連接。
圖3 ?DA轉換電路原理圖
根據AD9708的數據手冊可得DA轉換器的滿量程輸出電流可以通過REFIO與REFLO設置,REFLO連接至地時,使用內部參考電壓1.2V,Ioutfs如式(6)所示,電流輸出如式(7)所示,電壓輸出如式(8)所示。
上式中Ioutfs為滿量程輸出電流,Vrefio為內部參考電壓,RSET為設置的電阻值,IoutA為輸出電流,VoutA為輸出電壓。電流輸出型DA轉換器通常需要外接電流一電壓轉換電路來輸出電壓,一種是直接將電流輸出端接負載,另外一種是接運算放大器來輸出電壓。DA轉換器的輸出阻抗比較大,所以通常采用運算放大器來輸出電壓。由于交流電磁場的激勵線圈需要的電壓和電流較大,因此還需要接功率放大器來提高驅動能力。
4、激勵源模塊功能驗證
在FPGA中設計好激勵源模塊后,將高速DA轉換芯片的輸出接到示波器上,FPGA上電后,通過獨立按鍵可以調節合成信號源的頻率,頻率值可以在610Hz~156kHz之間變化,頻率控制字每增加1,激勵源頻率增加610Hz。圖4為頻率控制字為1時合成正弦波信號,頻率為610Hz。
5、結論
本文實現了交流電磁場檢測儀的激勵源設計,對于不同的被測工件可以通過獨立按鍵控制激勵源的頻率。激勵源的波形可以通過存儲表來改變,形成多樣化的信號源。激勵源控制電路集成到FPGA芯片中,提高了設計靈活性,降低了開發成本及功耗。激勵源的模塊化設計可以方便地移植到其他檢測系統,具有廣泛的應用前景。
評論