新聞中心

EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 基于FPGA的三相正弦DDS電路的設(shè)計與實現(xiàn)

基于FPGA的三相正弦DDS電路的設(shè)計與實現(xiàn)

作者: 時間:2018-09-14 來源:網(wǎng)絡(luò) 收藏

1. 引言

本文引用地址:http://butianyuan.cn/article/201809/389161.htm

直接數(shù)字頻率合成器(DDS)技術(shù),是根據(jù)相位的概念出發(fā)直接合成所需的波形的一種 新的頻率合成原理,是一種把一系列數(shù)字形式的信號通過DAC轉(zhuǎn)換成模擬形式信號合成技術(shù)。 具有頻率切換速度快,很容易提高頻率分辨率、對硬件要求低、可編程全數(shù)字化便于單片集 成、有利于降低成本、提高可靠性并便于生產(chǎn)等優(yōu)點。目前各大芯片廠商都相繼推出高性能 和多功能的DDS芯片,內(nèi)部數(shù)字信號抖動很小,輸出信號的質(zhì)量較高。但是在某些場合,由 于專用的DDS芯片的方式是固定的,故在工作方式、頻率等方面與系統(tǒng)的要求差距 很大,數(shù)字器接口不便,難以滿足復(fù)雜要求,對處理速度要求較高,從而也限制了頻率 進(jìn)一步的提高,同時微處理器的處理任務(wù)也更加繁重。以其可靠性高、功耗低、 保密性強(qiáng)等特點,在電子產(chǎn)品設(shè)計中得到廣泛的應(yīng)用。

本文根據(jù)實際需要,設(shè)計出符合特定需要的三相正弦DDS電路,通過實驗證明,利用 合成DDS是一個較好的解決方法,具有良好的實用性和靈活性。

2.正弦直接數(shù)字頻率合成器設(shè)計原理

合成器由頻率控制字N,相位控制字M分別控制輸出正弦波的頻率與相位。其中相位累 加器為合成器的關(guān)鍵控制部分,通過控制改變頻率控制字N與相位控制字M的快慢,從而得 到相應(yīng)頻率和任意超前與滯后的相位的正弦波型,甚至是余弦波型。實際這種改變相位控制 字M與頻率控制字N的配合,通過查找正弦表地址來得到。實際將每個地址對應(yīng)正弦表中的0-360范圍內(nèi)的每一個相位點。查表將輸入的地址信息映射成相應(yīng)的幅值,從而得到完整的 正弦信號,同時通過數(shù)模轉(zhuǎn)換器DAC,經(jīng)過LPF(低通濾波器),就可以得到一個頻譜純凈的 正弦波。其原理圖如圖1所示:

3.正弦波發(fā)生原理及邏輯設(shè)計

3.1 正弦函數(shù)表的設(shè)計

在傳統(tǒng)正弦函數(shù)ROM 表的設(shè)計中,通常將0 到2π整個周期所有的離散信號全部存入芯片中[5]。這種方法雖然實現(xiàn)比較簡單,但同時會浪費芯片的大量資源。

考慮到正弦波信號在0 到π與π到2π關(guān)于直線X=π成偶對稱,故可以將ROM 表中的數(shù)據(jù)減少為原來的一半。再利用左半周期內(nèi),波形關(guān)于直線X=π/2 成奇對稱,進(jìn)一步可將正弦函數(shù)ROM 表減少一半。這樣,就可以將ROM 表的數(shù)據(jù)減少為原來的1/4,可極大減少正弦函數(shù)ROM 表在芯片內(nèi)部占用的邏輯資源。即通過一個正弦波形表的前1/4 周期,就可以變換得到正弦的整個周期波形,同時減少了將近3/4 的周期資源而使系統(tǒng)得到優(yōu)化,效果非常顯著。

根據(jù)以上思路,利用公式-1 提前把算好的正弦函數(shù)離散值,按照相應(yīng)的地址順序依次存入芯片內(nèi)部的ROM 區(qū)中。本文的設(shè)計中采用以上思路,將0 到2π一個正弦周期內(nèi)共有8192 個離散點,縮減為0 到πM2,共2048 個離散點,其中相位分辨率為0.044o。將N 作為正弦離散值的地址線,離散點的計算按公式-1 計算。

Sin_ Data=127mes;sin(π/2n) 其中n 的范圍[0,2047] ---- 公式-1其中正弦表的內(nèi)部結(jié)構(gòu)如表1 所示:

3.2 三相正弦信號的產(chǎn)生原理

由于在設(shè)計中采用了一個正弦表,而需要產(chǎn)生三相正弦信號則成為邏輯設(shè)計的一個難點 與關(guān)鍵點。傳統(tǒng)的設(shè)計中則需要在 內(nèi)部存儲三個正弦函數(shù)表,非常浪費芯片的邏輯 資源。因此,本文產(chǎn)生三相正弦信號利用了三相分時原理設(shè)計。在設(shè)計中采用三個可逆計數(shù) 器,分別在時鐘信號的作用下同時進(jìn)行計數(shù),其計數(shù)值作為三相正弦信號在ROM 表中的地址。由于產(chǎn)生的三相正弦信號彼此的初相位不同,所以在可逆計數(shù)器的作用下,三個可逆計 數(shù)器的查表方向?qū)τ贏、B、C 三相就各有所不同。其查正弦函數(shù)表原理如圖2 所示:

例如在設(shè)計中產(chǎn)生三個初相位為零,相位互差120o°的三相正弦信號。如圖2 所示,A 相首先從正弦函數(shù)表的地址0°開始累加讀起,當(dāng)讀到地址90° 處,再從地址90°處累減讀到 地址0°處,這樣在A 相可逆計數(shù)器的控制下,就可以得到周期為π 的單向半波正弦信號;C 相首先從正弦函數(shù)表的地址60°開始遞減讀起,當(dāng)讀到地址0°處,再從地址0°處遞增讀到地 址90°處,然后從地址90°處遞減讀到地址0處,這樣在C 相可逆計數(shù)器的控制下,就可以 得到周期為π ,初相位滯后A 相60°的單向半波正弦信號;同理B 相從正弦函數(shù)表的地址60o 開始累加讀起,在B 相可逆計數(shù)器的控制下,就可以得到周期為π,初相位滯后C 相60°的 單向半波正弦信號。這樣通過一個π/2 周期的正弦函數(shù)表,就可以發(fā)出三個相位互差60°周 期為π 的單向半波正弦信號。

正弦函數(shù)表中讀取對應(yīng)的正弦幅值采用分時的方法。其中分時時鐘非常小,在不影響正 常三相正弦信號的相位關(guān)系下,分相邏輯產(chǎn)生器產(chǎn)生的時序如圖3 所示,其中CLK 為輸入 系統(tǒng)時鐘,分相邏輯產(chǎn)生器輸出A、B、C 三個依次滯后的時序。當(dāng)A 為高電平時讀取從正 弦函數(shù)表內(nèi)讀取出A 相的正弦幅值;B 當(dāng)為高電平時,讀取B 相的正弦幅值;C 為高電平 時,讀取C 相的正弦幅值。這樣在三相分時邏輯控制器的作用下,將查出的三個單相半波 正弦信號送給正弦信號幅值調(diào)節(jié)器。

將三個單相半波正弦信號調(diào)整為周期為2π的正弦信號,利用公式-2、公式-3 就可以調(diào)節(jié)為正常的正弦信號。

3.3 相位的調(diào)節(jié)方法

M 作為相位控制字輸入信號,將輸入信號M 作為正弦函數(shù)ROM 表的偏移地址。當(dāng)系統(tǒng)要 求發(fā)出超前參考信號的角度時,首先超前與滯后標(biāo)志位變?yōu)?ldquo;1”。可逆計數(shù)器查表地址從初 始位置對應(yīng)偏移到ROM 表地址。如果M=“01010101011”(即δ=683 為相對偏移地址,實 際M=683? 0.0440=30o),A 相可逆計數(shù)器首先從地址“01010101011”處先遞增計算,遞增 到“11111111111”處就開始遞減計算,計算到地址“00000000000”處再遞增計算,在時鐘 的作用下往復(fù)計算。B 相可逆計數(shù)器從地址1365+683 處(1365 為60° 地址)遞減計數(shù);同理C 相可逆計數(shù)器從1365+683 處遞增計數(shù)。這樣輸出的正弦信號比參考信號超前30°。同 理.發(fā)出滯后電網(wǎng)電壓信號的正弦信號只需采用與超前相反的方法。由于在正弦函數(shù)ROM 表 中存儲了(0°-90°)的正弦函數(shù)值,共2048 個離散點,M 的調(diào)節(jié)范圍在(-90 °—+90 °)之 間,相位分辨率為0.044°。

4 實驗結(jié)果

將編譯好的配置文件下載到 FPGA 芯片中,用示波器來觀測輸出波形。為A 相與B 相LPF 濾波后的波形圖圖4,可以看出A 相與B 相彼此相位保持120o 的相位關(guān)系,證明輸出三相波 形的相位是正確的。

在實際應(yīng)用中,通過改變頻率控制字的大小就可以改變輸出頻率。本文利用FLEX10K 器件,設(shè)計了相應(yīng)的三相正弦DDS 電路,對實驗電路進(jìn)行了全面檢驗。實驗結(jié)果表明:①整 體邏輯設(shè)計是正確的;②輸出的三相波形相位符合設(shè)計要求的控制。

5.結(jié)束語

本文根據(jù)實際需要,設(shè)計出了符合特定需要的三相正弦DDS 電路,通過實驗證明,輸出 波形達(dá)到了技術(shù)要求,控制靈活、性能良好。 本文作者創(chuàng)新點:本文所做的研究是利用FPGA設(shè)計出符合特定需要的三相正弦DDS電路。 實驗證明了該方法的可靠性和可行性。該方法較傳統(tǒng)方法具有良好的實用性和靈活性,有很好的推廣價值。



關(guān)鍵詞: 控制 FPGA

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉