1引言 DDS同DSP(數字信號處理)一樣,是一項關鍵的數字化技術。DDS是直接數字式頻率合成器(DirectDigitalSynthesizer)的英文縮寫。與傳統的頻率合成器相比,DDS具有低成本、低功耗、高分辨率和快速轉換時間等優點,廣泛使用在電信與電子儀器領域,是實現設備全數字化的一個關鍵技術。在各行各業的測試應用中,信號源扮演著極為重要的作用。但信號源具有許多不同的類型,不同類型的信號源在功能和特性上各不相同,分別適用于許多不同的應用。目前,最常見的信號源類型包括任意波形發生器,函數發生器,RF信號源,以及基本的模擬輸出模塊。信號源中采用DDS技術在當前的測試測量行業已經逐漸稱為一種主流的做法。但DDS專用器件價格較貴,輸出波形單一,使用受到一定限制,特別不適合于輸出波形多樣化的應用場合。隨著高速可編程邏輯器件FPGA的發展,電子工程師可根據實際需求,在單一FPGA上開發出性能優良的具有任意波形的DDS系統,極大限度地簡化設計過程并提高效率。本文在討論DDS的基礎上,介紹利用FPGA設計的基于DDS的信號發生器。 2 DDS技術工作原理 一塊DDS芯片中主要包括頻率控制寄存器、高速相位累加器和正弦計算器三個部分(如Q2220)。頻率控制寄存器可以串行或并行的方式裝載并寄存用戶輸入的頻率控制碼;而相位累加器根據頻率控制碼在每個時鐘周期內進行相位累加,得到一個相位值;正弦計算器則對該相位值計算數字化正弦波幅度(芯片一般通過查表得到)。DDS芯片輸出的一般是數字化的正弦波,因此還需經過高速D/A轉換器和低通濾波器才能得到一個可用的模擬頻率信號。DDS信號發生器,主要由相位累加器、相位寄存器、波形存儲器、D/A轉換器和模擬低通濾波器組成如圖1所示。fR為參考時鐘,K為輸入頻率控制字,其值與輸出頻率相對應,因此,控制輸入控制字K,就能有效控制輸出頻率值。通常情況下,K值由控制器寫入。 圖1 DDS信號發生器組成原理圖 由圖1可知,在參考時鐘fR的控制下,頻率控制字K與相位寄存器的輸出反饋在相位累加器中完成加運算,并把計算結果寄存于相位寄存器,作為下一次加運算的一個輸入值。相位累加器輸出高位數據作為波形存儲器的相位抽樣地址值,查找波形存儲器中相對應單元的電壓幅值,得到波形二進制編碼,實現相位到電壓幅值的轉變。波形二進制編碼再通過D/A轉換器,把數字信號轉換成相應的模擬信號。低通濾波器可進一步濾除模擬信號中的高頻成分,平滑模擬信號。在整個過程中,當相位累加器產生一次溢出時,DDS系統就完成一個周期輸出任務。頻率控制字K與輸出波形頻率的函數表達關系式為: f0=(K/2N)fR(1) 式中,K為頻率控制字;fR為參考時鐘,N為累加器的位寬值。 當K=l時,可得DDS的最小分辨率為: fmin=fR/2(2) 為了得到較小分辨率,在實際工程設計中,N一般取得較大值,該系統是N取32位設計的。 3關鍵器件選型 本設計所用到的關鍵器件主要是可編程邏輯器件(FPGA)和D/A轉換器。考慮設計成本等因素,FPGA采用Altera公司的低成本Cyclone系列EPlC6Q240C8.該器件采用邏輯陣列模塊(LAB)和查找表(LUT)結構,內核采用1.5 V電壓供電,是低功耗元件。此外,Cyclone系列EPlC60240C8內部資源豐富,其內部內嵌5 980個邏輯單元(LE),20個4 KB雙口存儲單元(M 4 KB RAM block)和92 160 bit普通高速RAM等資源,因此,能較好滿足該系統設計要求。而D/A轉換器則采用National Semiconductor公司的DAC0832. 4 DDS的FPGA實現 4.1相位累加器與相位寄存器的設計 VerilogHDL是一種硬件描述語言(HDL:HardwareDiscriptionLanguage),是一種以文本形式來描述數字系統硬件的結構和行為的語言,用它可以表示邏輯電路圖、邏輯表達式,還可以表示數字邏輯系統所完成的邏輯功能。VerilogHDL和VHDL是目前世界上最流行的兩種硬件描述語言,都是在20世紀80年代中期開發出來的。前者由GatewayDesignAutomation公司(該公司于1989年被Cadence公司收購)開發。兩種HDL均為IEEE標準。 相位累加器與相位寄存器主要完成累加,實現輸出波形頻率可調功能。利用Quartus II可編程邏輯器件系統開發工具進行設計。首先,打開Quartus II軟件,新建一個工程管理文件,然后在此工程管理文件中新建一個Verilog HDL源程序文件,并用硬件描述語言Verilog HDL編寫程序實現其功能。在設計過程中,可在一個模塊中描述。一個參考的Verilog HDL程序如下: 4.2基于1/4波形的存儲器設計 為了提高系統的分辨率和降低FPGA資源的利用率,采用基于1/4波形的存儲器設計技術。利用正弦波對稱性特點,只要存儲[O~π/2]幅值,通過地址和幅值數據變換,即可得到整個周期內的正弦波,其設計原理如圖2所示。 圖2 1/4波形的存儲器件設計原理框圖 用相位累加器輸出高2位,作為波形區間標志位。當最高位與次高位都為"0"時,表示輸出正弦波正處在[0~π/2]區間內,這時,地址與輸出數據都不需要變換;當最高位為"0",次高位為"l"時,輸出正弦波正處在[π/2~π]區間內,這時,地址變換器對地址進行求補操作,而輸出數據不變;當最高位為"l",次高位為"0"時,輸出正弦波正處在[π~3π/2]區間內,這時,地址不變,而輸出變換器對輸出數據進行求補操作;當最高位與次高位都為"l"時,輸出正弦波正處在[3π/2~2π]區間內,這時,地址和輸出數據都進行求補操作。 5 D/A轉換電路 數據轉換器輸出的數據是數字形式的電壓值,為實現數字電壓值與模擬電壓值之間的轉換,系統還專門設計D/A轉換電路,其D/A轉換電路原理圖如圖3所示。 圖3 D/A轉換電路 為降低設計成本,采用8位廉價DAC0832作為轉換器。該器件是倒T型電阻網絡型D/A轉換器,因其內部無運算放大器,輸出為電流,所以要外接運算放大器,本文采用LM324型運算放大器。DAC0832可根據實際情況接成雙緩沖、單緩沖和直沖3種形式,這里采用第3種連接形式,即引腳1、引腳2、引腳17、引腳18接低電平,引腳19接+5 V.引腳8為參考電壓輸入端口。接至+1O V的電源,當數字輸入端全為高電平時,模擬輸出端為+10 V. 6驗證結果 為驗證本系統的設計正確性,利用Ouarlus II軟件的嵌入式邏輯分析儀分析信號的波形。在工程管理文件中,首先新建一個SignalTap文件,并在SignalTap文件中添加要驗證的信號引腳和設置相關的參數,然后保存、編譯和下載到EPlC6Q240C8中,再啟動嵌入式邏輯分析儀就可實時觀察到相應的引腳波形,圖4為在硬件環境中應用嵌入式邏輯分析儀觀察到的波形。其中,圖4a為由DDS硬件合成的正弦波形;圖4b為由DDS硬件合成的矩形波形;圖4c為由DDS硬件合成的三角波形。觀察結果表明,該系統輸出的各種波形穩定,與設計要求一致,從而有效驗證了該設計的正確性。 圖4 在嵌入式邏輯分析儀觀察的DDS信號波形 7結論 直接數字頻率合成(DDS)技術屬第三代頻率合成技術,與第二代基于鎖相環頻率合成技術相比,利用DDS技術合成的輸出波形具有良好的性能指標。本文在DDS技術工作原理的基礎上,介紹基于FPGA實現DDS的設計方法,并給出該系統合成的波形,從測試結果可看出,該系統工作穩定、可靠,并具有較好的參考與實用價值。 |