馬利濤++梁龍學(xué)++張小金
摘 要:文中設(shè)計(jì)了一種基于FPGA的14位高精度DDS作為巨磁阻傳感器渦流探傷儀的激勵源。該激勵源不僅可以輸出14位正弦激勵信號,還可以通過NISOⅡ主控模塊對輸出波形的頻率進(jìn)行調(diào)節(jié)。實(shí)驗(yàn)結(jié)果表明,該激勵源可實(shí)現(xiàn)從0~1 MHz頻率的調(diào)節(jié),且頻率分變率可達(dá)0.02 Hz。
關(guān)鍵詞:DDS;高精度;FPGA;激勵源
中圖分類號:TP39;TN741 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2017)10-00-03
0 引 言
隨著巨磁阻傳感器渦流探傷技術(shù)的不斷發(fā)展,對激勵源信號的穩(wěn)定度、精確度和頻率可調(diào)范圍要求越來越高,而以振蕩器作為激勵源,只能產(chǎn)生頻率在小范圍可調(diào)的激勵信號,無法系統(tǒng)地滿足要求。為解決這些問題,就需要用到直接數(shù)字頻率合成技術(shù)。直接數(shù)字頻率合成 (Direct Digital Synthesis,DDS)是一種以數(shù)字信號處理作為理論基礎(chǔ),產(chǎn)生基于參照時(shí)鐘的輸出信號頻率可調(diào)的精密儀器[1]。本文介紹了一種基于FPGA的14位高精度DDS的設(shè)計(jì)方法。該方法不僅可以實(shí)現(xiàn)信號在較寬頻率范圍的連續(xù)變化,且輸出精度高,成本低廉,便于移植和采集。
1 DDS的基本原理
直接數(shù)字頻率合成在奈奎斯特理論條件下對信號進(jìn)行離散采樣,然后將采樣結(jié)果送給數(shù)模轉(zhuǎn)換器對信號進(jìn)行數(shù)模轉(zhuǎn)換,最后再將轉(zhuǎn)換后的信號經(jīng)過低通濾波器實(shí)現(xiàn)時(shí)域采樣[2]。而直接數(shù)字頻率合成的實(shí)現(xiàn)一般利用相位與振幅的關(guān)系,對波形的相位進(jìn)行分段,并分配相關(guān)地址。在每個時(shí)鐘周期,這些地址被提取,相關(guān)振幅采樣,形成預(yù)期波形。DDS系統(tǒng)框圖如圖1所示
2 利用FPGA實(shí)現(xiàn)DDS的設(shè)計(jì)
高速、高性能的數(shù)字器件是實(shí)現(xiàn)直接頻率合成的技術(shù)基礎(chǔ)。而FPGA具有數(shù)據(jù)處理速度高、集成規(guī)模大、現(xiàn)場可編程以及具有強(qiáng)大計(jì)算機(jī)輔助設(shè)計(jì)軟件支持等優(yōu)點(diǎn)[3],使得它非常適合用來實(shí)現(xiàn)直接頻率合成。故本文選用Cyclone Ⅳ型FPGA中的EP4EC6芯片并使用設(shè)計(jì)軟件Quartos II來完成DDS信號發(fā)生器的設(shè)計(jì)。
2.1 相位累加器模塊設(shè)計(jì)
相位累加器模塊是DDS系統(tǒng)用來實(shí)現(xiàn)相位累加和存儲的部分,其輸出的結(jié)果為幅值轉(zhuǎn)換ROM表的尋址地址[4]。相位累加器由數(shù)字全加器和寄存器兩部分組成,由于系統(tǒng)使用的時(shí)鐘頻率為125 MHz,要求頻率分辨率為0.02 Hz,故本系統(tǒng)設(shè)計(jì)的相位累加器模塊如圖2所示,由32位全加器和32位寄存器組成。
圖2 32位相位累加器設(shè)計(jì)圖
由圖2可知,當(dāng)時(shí)鐘的上升沿到來時(shí)寄存器中的數(shù)據(jù)會被送到全加器的a端口,與b端口的頻率控制字fow相加,并將相加的結(jié)果再存到寄存器中,如此在時(shí)鐘信號的推動下相位累加器就實(shí)現(xiàn)了相位序列的量化。DDS輸出信號的一個周期就是相位累加器的一個周期,即相位累加器的加滿溢出時(shí)間[5]。
2.2 正弦波ROM與壓縮優(yōu)化的設(shè)計(jì)
ROM的計(jì)算公式為2N×D,其中,N為ROM的地址位數(shù),D為數(shù)據(jù)量化位數(shù),故N(ROM地址位數(shù))越大,查找表所需的空間越大[6]。因此,在設(shè)計(jì)DDS時(shí),應(yīng)選擇一個合理的N,并根據(jù)波形特性,運(yùn)用ROM壓縮算法對ROM進(jìn)行壓縮以減少ROM單元數(shù)量。本系統(tǒng)選擇了32位頻率控制字并以高15位用于生成ROM地址,將ROM數(shù)據(jù)量化為14位的輸出,ROM為215×14 b。如果不對ROM進(jìn)行壓縮,ROM所需空間就很大,故本系統(tǒng)采用粗細(xì)分割算法對ROM進(jìn)行壓縮并抑制DDS的相位雜散。
由于ROM的大小制約了查找表方法的發(fā)展,也為DDS引入了雜散誤差。因此通過壓縮數(shù)據(jù)可進(jìn)一步壓縮ROM的大小并抑制DDS的雜散[7]。本文采用了粗細(xì)分割算法對數(shù)據(jù)進(jìn)行壓縮,其結(jié)構(gòu)如圖3所示。在這種體系結(jié)構(gòu)中,相位值θ分為三個組成部分,即α,β和η,故公式sin(θ)可以表示為:
由圖3可知,粗值ROM中儲存低分辨率采樣,細(xì)值ROM儲存插值樣品,再通過加法器將兩個ROM的輸出相加合成正弦函數(shù)。
由上述討論可知,粗細(xì)分割法可以壓縮ROM的大小并改善DDS的雜散,故本文以相位累加器的高15位作為ROM的尋址地址,以15位地址的最高位和次高位分別作為符號轉(zhuǎn)換和地址轉(zhuǎn)換模塊的使能信號,且其余13位作為ROM的數(shù)據(jù)地址。在ROM中存儲[ 0 ~π/ 2 ]的正弦波數(shù)據(jù),然后根據(jù)粗細(xì)分割法將ROM的13位數(shù)據(jù)地址分割為(6,4,3)三部分,0≤α≤π/2,0≤β≤π/27,0≤η≤π/211。該算法將一個有2(α+β+η)存儲單元的ROM分割為兩個大小分別為2α+β和2α+η存儲單元的ROM。由于精細(xì)表的數(shù)值很小,故只需要使用三位輸出即可。由此可以得到數(shù)據(jù)的壓縮比大約為29∶1。本文所設(shè)計(jì)的ROM壓縮模塊如圖4所示。
2.3 VHDL實(shí)現(xiàn)
集成DDS模塊、PLL模塊、KEY模塊和NISOⅡ模塊通過4×4矩陣鍵盤向NISOⅡ內(nèi)核輸入數(shù)據(jù),對DDS的頻率控制字進(jìn)行控制,如圖5所示。圖中的CLK為時(shí)鐘信號,經(jīng)PLL模塊輸出的125 MHz穩(wěn)定信號作為DDS的時(shí)鐘信號,fow(31∶0)為頻率控制字。
3 DDS信號發(fā)生器的外圍硬件設(shè)計(jì)
3.1 D/A轉(zhuǎn)換器設(shè)計(jì)
查找表中讀出的是正弦波的數(shù)字幅度值,只有經(jīng)過D/A轉(zhuǎn)換器(DAC)才能將其轉(zhuǎn)換成相應(yīng)的模擬波形[8]。為了提高數(shù)據(jù)處理結(jié)果的精度和速度,需要選用有高轉(zhuǎn)換精度和速度的DA芯片。綜上所述,本系統(tǒng)采用ADI公司生產(chǎn)的自帶片內(nèi)基準(zhǔn)電壓的14 b高速DA轉(zhuǎn)換AD9764,同時(shí)AD9764還可以通過滑動變阻器RW1來改變其基準(zhǔn)電壓實(shí)現(xiàn)對輸出信號幅值的控制,其最高采樣速率為125 MS/s,滿足工業(yè)級應(yīng)用[9]。其應(yīng)用電路如圖6所示,由于AD9764采用差分信號輸出,故輸出信號還必須經(jīng)過由OP690組成的電壓跟隨器將差分信號轉(zhuǎn)換為單端信號輸出給濾波器。endprint
3.2 低通濾波器與電壓放大器設(shè)計(jì)
經(jīng)D/A轉(zhuǎn)換后,輸出含有大量高頻諧波的階梯型波,因此必須經(jīng)過濾波器進(jìn)行歸一化濾波后才能得到平滑的輸出波形[10]。本設(shè)計(jì)采用一個輸入與輸出阻抗同為50 Ω,截止頻率1 MHz且外帶最小衰減111 d B的七階橢圓低通濾波器。由于DAC芯片輸出的電壓幅度比較小,再經(jīng)過濾波器衰減后,其幅度一般只有幾百毫伏,所以必須經(jīng)過放大器放大才能輸出合適的電壓幅度。放大芯片選擇TDA2030, 其采用雙電源供電,電壓放大位數(shù)A=1+R8?R6=21。經(jīng)過此電路后其輸出信號的峰峰值變?yōu)? V,這樣就可以驅(qū)動探頭線圈在試件上產(chǎn)生巨磁阻傳感器能夠探測到的渦流次級磁場[9]。其七階橢圓低通濾波和功率放大電路如圖7所示。
4 輸出信號測試分析
本文的累加器位數(shù)為32位,以125 MHz的信號作為系統(tǒng)時(shí)鐘,由公式?F= FCLK?2N可知DDS輸出波形的分辨率為0.02 Hz。由累加器分析可知,頻率控制字不同,累加器的溢出周期就不同,即改變頻率控制字K就可以改變DDS的輸出周期。由直接頻率合成原理可知,K= (2N×Fout)?FCLK,故由公式可得K不同值對應(yīng)的理論頻率值和實(shí)際輸出值。誤差分析見表1所列。
由表1分析可知,本文所設(shè)計(jì)的基于FPGA的DDS技術(shù)的巨磁阻傳感器渦流探傷系統(tǒng)激勵源的誤差約為0.015 Hz。由直接頻率合成原理可知,將十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制時(shí)會出現(xiàn)較大誤差,從而影響了輸出頻率,同時(shí)DA芯片和橢圓濾波電路的非理想性以及相位截?cái)嘁氲碾s散誤差等都會造成輸出頻率的誤差。
當(dāng)K=34 560時(shí),DDS的輸出頻率為1 kHz,其輸出波形在示波器上的顯示如圖8所示。由圖8可以看出,本文設(shè)計(jì)的基于FPGA的DDS,其輸出波形平滑且其電壓的峰峰值達(dá)到6 V,符合系統(tǒng)要求,可以驅(qū)動巨磁阻傳感器探頭進(jìn)行探測。
5 結(jié) 語
基于巨磁阻傳感器渦流探傷儀激勵源系統(tǒng),利用基于FPGA的DDS正弦信號發(fā)生器作為信號源不僅能夠輸出平滑的波形信號,還具有頻率變化范圍寬和頻率分變率高等優(yōu)點(diǎn),同時(shí)也充分發(fā)揮了FPGA的優(yōu)點(diǎn),使得DDS系統(tǒng)的頻率控制字位數(shù)、累加器的位數(shù)和ROM的深度及量化位數(shù)都可以根據(jù)實(shí)際需要來修改,提高了DDS的靈活性。本系統(tǒng)引入NISOⅡ內(nèi)核作為控制中心,來控制DDS的頻率控制字K的值。此舉不僅可以更好地利用FPGA中的資源,同時(shí)也能有效提高系統(tǒng)的集成度。通過對內(nèi)核軟件編程就可以改變輸出頻率的大小,使系統(tǒng)具有更大的靈活性。
參考文獻(xiàn)
[1]楊萍,兀旦暉,楊良煜. DDS技術(shù)在正弦信號發(fā)生器中的應(yīng)用[J].計(jì)算機(jī)測量與控制,2008, 16(11):1738-1740.
[2]李夏林,朱武.基于DDS技術(shù)的超聲電源系統(tǒng)的設(shè)計(jì)[J].上海電力學(xué)院學(xué)報(bào), 2017, 33(1):81-85.
[3]許文浩,屈樂樂,殷文浩.基于FPGA和DDS的頻率步進(jìn)信號源的設(shè)計(jì)與實(shí)現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用, 2017(1): 147.
[4] Zhang C, Du R, Han J. Design and implementation of wide-band high-rate multi-mode signal generator[C]// IEEE International Conference on Electronic Measurement & Instruments. IEEE, 2015:563-566.
[5] Wu C, Zhou B, Fang J. Research on improved CORDIC algorithm for high accuracy DDS signal source[C]// International Conference on Computer Science and Network Technology,2016:1351-1355.
[6] Ye X, Gao M, Huang J. 12 -way high accuracy sine signal generator system based on FPGA[C]// IEEE, International Conference on Communication Technology. IEEE, 2016:833-836.
[7]彭杰,代向明,袁國順.DDFS Sunderland算法的改進(jìn)[J].微計(jì)算機(jī)信息, 2009,25(12):250-251.
[8]李雪梅,張宏財(cái),王學(xué)偉.基于DDS技術(shù)的信號源設(shè)計(jì)[J].電測與儀表, 2010, 47(1):55-56.
[9]麻雪莉,何云斌,董懷國.基于Nios Ⅱ的DDS技術(shù)在電磁無損檢測中的應(yīng)用[J].科技資訊,2006(29):4.
[10]毛群, 王仕旭. 基于FPGA和DDS技術(shù)的正弦信號發(fā)生器設(shè)計(jì)[J].現(xiàn)代電子技術(shù), 2010, 33(9):118-120.
[11]馬小星,干敏梁.矢量網(wǎng)絡(luò)分析儀掃頻源控制部分的設(shè)計(jì)[J]. 江蘇航空, 2006(4):24-25.endprint