0 引言
某型導彈測試設備電路板檢測儀主要完成該測試設備的電路板的故障檢測,。該檢測系統(tǒng)要求激勵信號產生電路體積小,,配置靈活,且精度高,、轉換速度快,。基于FPGA的DDS信號發(fā)生器較傳統(tǒng)信號發(fā)生器能夠更好地滿足檢測儀要求,。
直接數(shù)字頻率合成(Direct Digital Synthesize,,DDS)是從相位概念出發(fā)直接合成所需波形的一種頻率合成技術。它是繼直接頻率合成和間接頻率合成之后發(fā)展起來的第三代頻率合成技術,,突破了前兩代頻率合成法的原理,,從“相位”的概念出發(fā)進行頻率合成,這種方法不僅可以產生不同頻率的正弦波,、方波,、三角波,而且可以控制波形的初始相位,,還可以用此方法產生任意波形,,目前得到了廣泛的應用。
1 DDS的工作原理和基本結構
一個直接數(shù)字頻率合成器由相位累加器,、加法器,、波形存儲ROM、D/A轉換器和低通濾波器構成,。DDS的原理框圖如圖1所示,。
圖1中K為頻率控制字,P為相位控制字,,W為波形控制字,,fc為參考時鐘頻率,N為相位累加器的字長,,D為ROM數(shù)據(jù)位及D/A轉換器的字長,。相位累加器在時鐘,fc的控制下以步長K作累加,,輸出的N位二進制碼與相位控制字P,,波形控制字W相加后作為波形ROM的地址,,對波形ROM進行尋址,波形ROM輸出D位的幅度碼經D/A轉換器變成階梯波,,再經過低通濾波器平滑后就可以得到合成的信號波形,。合成的信號波形形狀取決于波形ROM中存放的幅度碼,因此用DDS可以產生任意波形,。
設頻率控制字是K,,輸出頻率為f0,參考時鐘是fc,,相位寄存器為N位,,頻率分辨率是△f,則有:
通過頻率控制字的改變和寄存器位數(shù)的增加,,可以得到令人滿意的頻率,。
2 基于FPGA的DDS信號發(fā)生器的設計
該信號發(fā)生器是作為電路板檢測儀的激勵信號源,產生的信號分別為:頻率為16 000±0.8 Hz的正弦波,,頻率為128 000±6.4 Hz,,64 000±3.2 Hz,4 000±O.2 Hz的方波和周期為10μs,,占空比為1:4的脈沖信號,。下面以正弦波的產生為例說明DDS的實現(xiàn)過程。當f0=16 000 Hz,,N=16時,,根據(jù)式(1),則K=104,。
2.1 相位累加器
相位累加器主要是根據(jù)頻率控制字生成ROM查找表的地址,,采用硬件描述語言Verilog DHL實現(xiàn),其源程序為:
文本輸入完畢后,,用QuartusⅡ進行編譯,,然后生成.bsf文件,以便在頂層設計時調用,。其生成頂層模塊如圖2所示,。
2.2 ROM查找表
DDS中,波形存儲器的設計是比較關鍵重要的一環(huán),。用相位累加器輸出的數(shù)據(jù)作為波形存儲器的地址,,進行波形的相位與幅值的轉換,即可在給定的時間上確定輸出波形的幅值,。N位的尋址ROM相當于把O°~360°的周期信號離散成具有2N個樣值的序列,,若波形ROM有D位數(shù)據(jù)位,則2N個樣值的值以D位二進制數(shù)值存放在波形ROM中,,按照地址的不同可以輸出相應相位的正弦波和方波的值,。在本設計中取N=11,則ROM查找表中存儲2 048個波形數(shù)據(jù),,位寬為10位,。
建立ROM查找表首先要生成.mif文件。具體方法是利用quartusⅡ新建.mif文件,,然后填寫這個文件,。這里需借助Matlab填寫.mif文件即可,具體方法如下:
(1)先由QuartusⅡ生成.mif文件,。
(2)在Matlab中編寫如下程序:
(3)在Desktop中workspace中選中數(shù)據(jù),,復制數(shù)據(jù)并將數(shù)據(jù)粘貼于txt文檔中,保存,。
(4)然后再將txt文檔中的數(shù)據(jù)復制并粘貼于QuartusⅡ中已建好的.mif文件之中,,保存。
調用的波形存儲器模塊如圖3所示,。
2.3 頂層模塊的建立
根據(jù)DDS整體電路的工作原理框圖,,其核心是由一個ROM存儲器、一個相位累加器,、一個鎖相環(huán)和相應的輸入,、輸出信號組成。其中ROM查找表是輸入地址是相位累加器的高11位,,這在工程上是允許的,。DDS的核心電路模塊圖如圖4所示。
方波和脈沖信號的產生只要將ROM查找表中的內容轉換為相應的波形即可,,整個信號源的頂層模塊增加了多路選擇開關,。
3 波形仿真及硬件驗證
完成DDS電路設計后,對電路進行了功能仿真,,通過Matlab顯示了仿真波形,,并通過Altera公司CycloneⅡ系列芯片的DE2-70開發(fā)板結合嵌入式邏輯分析儀進行了硬件驗證。
3.1 波形仿真
DDS電路在設計過程中,,進行了功能仿真,,如圖5所示。由于仿真波形為數(shù)字碼,,不能直觀地看出DDS輸出的波形,,為便于調試設計電路,首先生成.tbl文件,,再通過相應Matlab程序生成的正弦波,、方波、脈沖信號的波形曲線,,如圖6所示,。
圖5和圖6顯示了頻率控制字為68h產生的正弦波,、頻率控制字為346h的方波和頻率控制字為27Fh的脈沖信號的功能仿真波形。從功能仿真波形可以看出,,DDS電路能夠很好地產生電路板檢測儀所需激勵信號,。
3.2 硬件驗證
為了能夠更清晰地分析DDS電路,采用DE2-70開發(fā)板結合SignalTapⅡ型嵌入式邏輯分析儀對設計進行實時的硬件驗證,。首先對DDS頂層電路圖做部分修改,,主要是進行管腳設定。將修改后的頂層文件下載到DE2-70中,,通過SignalTapⅡ型嵌入式邏輯分析儀實時觀測FPGA輸出波形,,如圖7所示。SignalTapⅡ所能顯示的被測信號的時間長度為T,,計算公式如下:
式中:N為SignalTapⅡ的緩存中存儲的采樣點數(shù),,Ts為SignalTapⅡ采樣時鐘的周期。由圖7和式(3)可得出表1所示結論,。
產生誤差的主要原因有兩方面,,一是截斷誤差,ROM查找表的地址輸入是相位累加器的高11位,;二是正弦波量化引入的誤差,,將正弦信號量化為二進制數(shù)必然引起誤差。
4 結語
通過對DDS電路的功能仿真和硬件驗證,,可以看出DDS可以有效地產生所需波形信號,。較傳統(tǒng)的信號發(fā)生器,可以減小體積,、降低功耗,、提高可靠性和靈活性并縮短了開發(fā)周期,具有較高的實用價值,。