為此,文中提出一種基于FPGA的DDS信號(hào)發(fā)生器,。信號(hào)發(fā)生電路采用直接數(shù)字頻率合成技術(shù),,即DDS(Direct Digital Frequency Synth-esis)。它是以全數(shù)字技術(shù),,從相位概念出發(fā),,直接合成所需波形的一種新的頻率合成技術(shù)。是將先進(jìn)的數(shù)字處理技術(shù)和方法引入信號(hào)合成領(lǐng)域,,把一系列數(shù)字量形式的信號(hào)通過(guò)數(shù)/模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號(hào),在時(shí)域中進(jìn)行頻率合成,。直接數(shù)字頻率合成器的主要優(yōu)點(diǎn)是:輸出信號(hào)頻率相對(duì)帶寬較寬,;頻率分辨力好、轉(zhuǎn)換時(shí)間快,;頻率變化時(shí)相位保持連續(xù),;集成度高,體積小,,控制方便等,。整個(gè)信號(hào)源系統(tǒng)采用數(shù)字閉環(huán)控制,通過(guò)對(duì)勵(lì)磁電流瞬時(shí)值經(jīng)PID閉環(huán)控制,,使得勵(lì)磁電流可瞬時(shí)跟蹤給定幅值,,加快系統(tǒng)動(dòng)態(tài)響應(yīng),提高非線性負(fù)載適應(yīng)力,,其較傳統(tǒng)的信號(hào)源能更好地滿足磁性測(cè)試設(shè)備的需求,。
1 DDS的工作原理
DDS的工作原理如圖1所示。主要有以下基本部件:相位累加器,;相位-幅度變換器,,即正弦查表ROM;D/A轉(zhuǎn)換器和適當(dāng)?shù)臑V波器等濾波器,。相位累加器是DDS系統(tǒng)的核心是相位累加器,,它由一個(gè)加法器和一個(gè)相位寄存器組成,,相位累加器在參考時(shí)鐘的作用下,按頻率控制字為步長(zhǎng)不斷累積,,累加結(jié)果產(chǎn)生遞增的傳遞給正弦查表ROM,。正弦查詢表中存儲(chǔ)了一個(gè)周期正弦波在各相位點(diǎn)對(duì)應(yīng)數(shù)字幅度信息。由于相位累加器的輸出連接在波形存儲(chǔ)器(ROM)的地址線上,,因此其輸出的改變就相當(dāng)于進(jìn)行查表,。這樣就可把存儲(chǔ)在波形存儲(chǔ)器內(nèi)的波形抽樣值經(jīng)查找表查出,然后送至D/A轉(zhuǎn)換器,,經(jīng)D/A轉(zhuǎn)換器產(chǎn)生一系列以時(shí)鐘脈沖為抽樣速率的電壓階躍,。濾波器則進(jìn)一步平滑D/A轉(zhuǎn)換器輸出的近似正弦波的鋸齒階梯波,同時(shí)衰減不必要的雜散信號(hào),,使輸出為要求的光滑波形,。
由于相位累加器字長(zhǎng)的限制,相位累加器累加到一定值后,,其輸出將會(huì)溢出,,這樣波形存儲(chǔ)器的地址就會(huì)循環(huán)一次,即意味著輸出波形循環(huán)一周,。故當(dāng)頻率字取不同值,,就可以改變相位累加器的溢出時(shí)間,從而在時(shí)鐘頻率不變的條件下改變輸出頻率,。
設(shè)頻率控制字為K,,系統(tǒng)參考時(shí)鐘為fc,相位累加器位數(shù)為N,,輸出頻率為fo,,則可以得到輸入與輸出的關(guān)系為
當(dāng)K=1時(shí),可以得到DDS的頻率分辨率
2 勵(lì)磁恒流源的硬件設(shè)計(jì)
勵(lì)磁信號(hào)發(fā)生器電路系統(tǒng)主要由基于FPGA的DDS電路,、MCU控制電路,、DAC電路、低通濾波器(LPF),、人機(jī)接口,、系統(tǒng)時(shí)鐘和系統(tǒng)電源構(gòu)成。系統(tǒng)框圖,,如圖2所示,。
2.1 基于FPGA的DDS電路
2.1.1 相位累加器
對(duì)于利用FPGA設(shè)計(jì)DDS信號(hào)源,相位累加器是決定DDS電路性能的一個(gè)關(guān)鍵部分,。相位累加器是由N位累加器和N位寄存器級(jí)聯(lián)構(gòu)成,,每來(lái)一個(gè)時(shí)鐘脈沖,相位寄存器采樣上個(gè)時(shí)鐘周期內(nèi)相位累加器的值與頻率控制字K之和,,并作為相位累加器在這一時(shí)鐘周期的輸出,。由式(2)可知,,相位累加器的位數(shù)N越大,得到的頻率分辨率越小,,但在較高的工作頻率下,,會(huì)產(chǎn)生較大的延時(shí)不能滿足速度的要求。在時(shí)序電路中,,通常采用流水線技術(shù)來(lái)提高速度,,代價(jià)是增加寄存器的數(shù)量,多占了FPGA的資料,。綜合考慮,,采用32位累加器,四級(jí)流水線結(jié)構(gòu),。
2.1.2 相位-幅度變換器
相位-幅度變換器是由ROM構(gòu)成,,它把相位累加器的輸出的數(shù)字相位信息變換成正弦波值。在FPGA中,,ROM一般是由EAB來(lái)實(shí)現(xiàn),,并且ROM表的尺寸與地址位數(shù)或數(shù)據(jù)位數(shù)成指數(shù)增加的關(guān)系,因此相位-幅度轉(zhuǎn)換器的設(shè)計(jì)是影響DDS性能的另一個(gè)關(guān)鍵,,在滿足信號(hào)設(shè)計(jì)指標(biāo)要求的前提下,,主要在于減少資源開銷??紤]到本設(shè)計(jì)只需要輸出正弦信號(hào),,正弦波信號(hào)關(guān)于點(diǎn)(π,0)奇對(duì)稱,,只需存儲(chǔ)1/2周期的波形數(shù)據(jù),又根據(jù)在左半周期內(nèi),,波形關(guān)于直線x=π/2成偶對(duì)稱,,因此只需要存儲(chǔ)1/4周期的正弦函數(shù)值,就可以通過(guò)適當(dāng)?shù)淖儞Q得到整個(gè)正弦碼表,,這樣可以節(jié)約3/4的資源,。
2. 2 低通濾波模塊
DDS有一個(gè)明顯的缺點(diǎn),即輸出頻率越接近Nyquist帶寬的高端,,采樣點(diǎn)數(shù)越少,,其輸出的雜散干擾就越大。輸出波形具有大量的諧波分量和系統(tǒng)時(shí)鐘干擾,。為得到所需頻段內(nèi)的信號(hào),,需要在DDS輸出端加一濾波器來(lái)實(shí)現(xiàn),而低通濾波器能較好地濾除雜波,,平滑信號(hào),,所以低通濾波器的設(shè)計(jì)尤為重要,,濾波特性的優(yōu)劣對(duì)輸出信號(hào)的性能起重要的影響。
為取得較好的濾波效果,,濾波器采用了由四選一模擬開關(guān)和精密運(yùn)算放大器分段濾波的方式:采用巴特沃斯有源低通濾波器,,該濾波器通帶內(nèi)幅度很平坦,濾波電路為二階巴特沃斯低通濾波電路,,濾波器頻段參數(shù)的選擇由FPGA輸出的控制信號(hào)nINH,,S0,S1控制模擬開關(guān)的選通實(shí)現(xiàn),。
2.3 幅度控制
本設(shè)計(jì)幅度控制電路采用調(diào)節(jié)DAC參考電壓的數(shù)字化控制方法,,采用兩個(gè)D/A級(jí)聯(lián)的方式,數(shù)模轉(zhuǎn)換器DAC2采用外部可變基準(zhǔn)源,,通過(guò)改變基準(zhǔn)源的值來(lái)改變輸出的滿幅度電流值,,該可變基準(zhǔn)源通過(guò)DAC1產(chǎn)生。DAC1的基準(zhǔn)電壓采用輸出電壓為1.25 V精密電壓基準(zhǔn)芯片提供,,設(shè)DAC1的幅度輸出字為N1,,則DAC1的參考電壓為
設(shè)DAC2的數(shù)字輸入字為N2,則經(jīng)電流/電壓轉(zhuǎn)換后的輸出電壓為
2.4 人機(jī)交互
為方便快捷地控制DDS的頻率字輸入和幅度控制,,本設(shè)計(jì)采用單片機(jī)來(lái)實(shí)現(xiàn)對(duì)DDS信號(hào)發(fā)生器的控制,。DDS的頻率字和幅度數(shù)據(jù)字位較多,而單片機(jī)輸出端口位數(shù)有限,,所以單片機(jī)與FPGA之間的通信采用SPI(Serial Peripheral Interface,,串行外設(shè)接口)方式,單片機(jī)將控制命令字傳送給FPGA,。同時(shí),,為了輸入控制方便,添加了鍵盤和顯示系統(tǒng),。
3 數(shù)字閉環(huán)控制系統(tǒng)的實(shí)現(xiàn)
設(shè)計(jì)的勵(lì)磁恒流源主要為磁性測(cè)量?jī)x器提供激勵(lì)電源,,因而對(duì)其精度和穩(wěn)定性要求高,采用電流控制型的控制策略進(jìn)行閉環(huán)控制,,結(jié)構(gòu)框圖如圖3所示,。勵(lì)磁電流幅度調(diào)整時(shí),首先對(duì)勵(lì)磁電流進(jìn)行多周期采樣,,然后計(jì)算其有效值,,并與輸入設(shè)定值相比較,若誤差ε在允許范圍之外,,則根據(jù)誤差的實(shí)際情況,,通過(guò)單片機(jī)內(nèi)增量式PID算法得出了一個(gè)新的控制量,傳送給FPGA控制幅度調(diào)節(jié)經(jīng)低通濾波器濾去高頻成分,,再經(jīng)功率放大,,得到高精度的勵(lì)磁電流,。
4 系統(tǒng)仿真與驗(yàn)證分析
在Altera公司的QuartusⅡ環(huán)境下編譯完成,采用自上而下的設(shè)計(jì)方法,,即先從系統(tǒng)總體要求出發(fā)將設(shè)計(jì)內(nèi)容細(xì)化,,最后完成系統(tǒng)硬件的整體設(shè)計(jì)。完成DDS設(shè)計(jì)后,,通過(guò)編寫Testbench在Modelsim進(jìn)行仿真,。在QuartusⅡ中,設(shè)定輸出信號(hào)頻率為1 MHz,,經(jīng)過(guò)50 μs后改變?yōu)?00 kHz進(jìn)行仿真,,其仿真結(jié)果如圖4所示。在Modelsim中生成的仿真數(shù)據(jù)經(jīng)驗(yàn)證完全正確,,滿足設(shè)計(jì)需求,。
在對(duì)勵(lì)磁信號(hào)源做硬件系統(tǒng)測(cè)試時(shí),首先完成系統(tǒng)硬件連接,,并加載程序,,設(shè)定輸出信號(hào)頻率為1 MHz,示波器測(cè)得實(shí)際輸出波形如圖5所示,。在Modelsim環(huán)境下仿真和在硬件平臺(tái)上測(cè)試,,結(jié)果表明勵(lì)磁信號(hào)源可獲得較好的設(shè)置波形,可以應(yīng)用于磁性材料的測(cè)試中,。
5 結(jié)束語(yǔ)
運(yùn)用Verilog硬件編程語(yǔ)言結(jié)合DDS技術(shù),,利用FPGA器件強(qiáng)大的硬件功能,提高了系統(tǒng)集成度,,實(shí)現(xiàn)了輸出信號(hào)相對(duì)帶寬寬,、穩(wěn)定性好;其相位累加器在一定系統(tǒng)時(shí)鐘和累加器位寬條件,,輸出信號(hào)分辨率越小,,頻率控制字的傳輸時(shí)間以及器件響應(yīng)時(shí)間都很短,使輸出信號(hào)頻率切換時(shí)間較短,,可以達(dá)到ns級(jí),且頻率變化時(shí),,相位保持連續(xù),,系統(tǒng)采用閉環(huán)控制,勵(lì)磁電流輸出精度高,,調(diào)節(jié)速度快,。對(duì)磁性材料測(cè)量?jī)x所要求的勵(lì)磁信號(hào)源而言,本設(shè)計(jì)不但滿足所有技術(shù)指標(biāo),,而且集成度高,、體積小,、顯著地降低了成本。