吳 進(jìn)
(西安郵電學(xué)院電子工程學(xué)院,西安 710121)
直接數(shù)字頻率合成器(Direct Digital Synthesizer,DDS)與數(shù)字信號處理器(DSP)一樣,是一項關(guān)鍵的數(shù)字化技術(shù)。與傳統(tǒng)的頻率合成器相比,DDS具有低成本、低功耗、高分辨率和快速轉(zhuǎn)換時間等優(yōu)點,廣泛應(yīng)用在電信與電子儀器領(lǐng)域,是實現(xiàn)設(shè)備數(shù)字化的一個關(guān)鍵技術(shù)。目前,各大芯片廠商都相繼推出了高性能和多功能的DDS芯片,內(nèi)部數(shù)字信號抖動很小,輸出信號的質(zhì)量較高。但是在某些場合,由于專用的DDS芯片的控制方式是固定的,故在工作方式、頻率控制等方面與系統(tǒng)的要求差距很大,數(shù)字控制器接口不便,難以滿足復(fù)雜要求,對處理速度要求較高,從而也限制了頻率進(jìn)一步的提高,同時微處理器的處理任務(wù)也更加繁重[1,2]。FPGA以其可靠性高、功耗低、保密性強等特點,在電子產(chǎn)品設(shè)計中得到了廣泛的應(yīng)用[3]。
本文根據(jù)實際需要,設(shè)計出符合特定需要的三相正弦DDS電路,通過實驗證明,利用FPGA合成DDS是一個較好的解決方法,具有良好的實用性和靈活性。
合成器由頻率控制字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所示。
圖1 三相數(shù)字頻率合成器結(jié)構(gòu)Fig.1 Three-phase DDS structure
在傳統(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~π/2共2048個離散點,其中相位分辨率為 0.044°。將N作為正弦離散值的地址線,離散點的計算按公式(1)計算:
其中正弦表的內(nèi)部結(jié)構(gòu)如表1所示。
表1 正弦函數(shù)表內(nèi)部結(jié)構(gòu)表Table 1 Internal structure of sine function
由于在設(shè)計中采用了一個正弦表,而需要產(chǎn)生三相正弦信號則成為邏輯設(shè)計的一個難點與關(guān)鍵點。傳統(tǒng)的設(shè)計中需要在FPGA內(nèi)部存儲3個正弦函數(shù)表,非常浪費芯片的邏輯資源[6]。因此,本文產(chǎn)生三相正弦信號利用了三相分時原理設(shè)計。在設(shè)計中采用3個可逆計數(shù)器,分別在時鐘信號的作用下同時進(jìn)行計數(shù),其計數(shù)值作為三相正弦信號在ROM表中的地址。由于產(chǎn)生的三相正弦信號彼此的初相位不同,所以在可逆計數(shù)器的作用下,3個可逆計數(shù)器的查表方向?qū)τ贏、B、C三相就各有所不同。其查正弦函數(shù)表原理如圖2所示。
圖2 查正弦函數(shù)表原理圖Fig.2 The principle figure of finding sine function table
例如,在設(shè)計中產(chǎn)生3個初相位為零、相位互差120°的三相正弦信號[7],如圖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ù)表的地址60°開始累加讀起,在B相可逆計數(shù)器的控制下,就可以得到周期為π,初相位滯后C相60°的單向半波正弦信號。這樣,通過一個π/2周期的正弦函數(shù)表就可以發(fā)出3個相位互差60°周期為π的單向半波正弦信號。
正弦函數(shù)表中讀取對應(yīng)的正弦幅值采用分時的方法。其中分時時鐘非常小,在不影響正常三相正弦信號的相位關(guān)系下,分相邏輯產(chǎn)生器產(chǎn)生的時序如圖3所示,其中CLK為輸入系統(tǒng)時鐘,分相邏輯產(chǎn)生器輸出 A、B、C 3個依次滯后的時序[8]。當(dāng) A為高電平時讀取從正弦函數(shù)表內(nèi)讀取出A相的正弦幅值;B當(dāng)為高電平時,讀取B相的正弦幅值;C為高電平時,讀取C相的正弦幅值。這樣,在三相分時邏輯控制器的作用下,將查出的3個單相半波正弦信號送給正弦信號幅值調(diào)節(jié)器。
圖3 三相分時邏輯時序圖Fig.3 The logic time sequence figure of three-phase time-sharing
將3個單相半波正弦信號調(diào)整為周期為2π的正弦信號,利用公式(2)和公式(3)就可以調(diào)節(jié)為正常的正弦信號:
這樣,3個單相半波正弦信號就調(diào)整為成為相位彼此互差120°的三相正弦信號。
M作為相位控制字輸入信號,將輸入信號M作為正弦函數(shù)ROM表的偏移地址。當(dāng)系統(tǒng)要求發(fā)出超前參考信號的角度時,首先超前與滯后標(biāo)志位變?yōu)椤?”??赡嬗嫈?shù)器查表地址從初始位置對應(yīng)偏移到ROM表地址[9]。如果M=“01010101011”(即 δ=683為相對偏移地址,實際 M=683×0.044°=30°),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°。
將編譯好的配置文件下載到FPGA芯片中,用示波器來觀測輸出波形。圖4為A相與B相LPF濾波后的波形圖,可以看出A相與B相彼此相位保持120°的相位關(guān)系,證明輸出三相波形的相位是正確的。
圖4 兩相輸出120°波形圖Fig.4 The 120°waveform figure of two-phase output
在實際應(yīng)用中,通過改變頻率控制字的大小就可以改變輸出頻率[10]。本文利用FLEX10K器件設(shè)計了相應(yīng)的三相正弦DDS電路,對實驗電路進(jìn)行了全面檢驗。實驗結(jié)果表明,整體邏輯設(shè)計是正確的,輸出的三相波形相位符合設(shè)計要求的控制。
本文根據(jù)實際需要,設(shè)計出了符合特定需要的三相正弦DDS電路,通過實驗證明,輸出波形達(dá)到了技術(shù)要求,控制靈活,性能良好。該方法較傳統(tǒng)方法具有良好的實用性和靈活性,有很好的推廣價值。本文下一步的工作是利用FPGA設(shè)計并實現(xiàn)出符合特定需要的方波或三角波DDS電路,并且頻率可調(diào)節(jié)。
[1]Zbigniew Bielewicz,Leszek Debowski.A DSP and FPGA Based Integrated Controller Development Solutions for High Performance Electric Drives[J].Proceedings of the IEEE,2009,16(2):679-684.
[2]Shih-Liang Jung,Meng-Yueh Chang.Design and Implementation of a FPGA-Based Control IC for AC-Voltage Regulation[J].IEEE Transactions on Power Electronics,2009,14(3):522-532.
[3]侯波亨,顧新.VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計[M].西安:西安電子科技大學(xué)出版社,2010.HOU Bo-heng,GU Xin.VHDL and digital logic circuit design[M].Xi′an:Xidian University Press,2010.(in Chinese)
[4]Vankka J.Methods of mapping from phase to sine amplitude in direct digital synthesis[C]//Proceedings of the 1996 IEEE International Frequency Control Symposium.Honolulu,HI,USA:IEEE,1996:942-950.
[5]劉薇,王建立.基于FPGA與單片機的波形發(fā)生器設(shè)計[J].微計算機信息,2008,64(15):198-199.LIU Wei,WANG Jian-li.Design of waveform generator based on FPGA and single chip[J].Microcomputer information,2008,64(15):198-199.(in Chinese)
[6]劉詩華,王德石,謝邦勇.基于DDS的混沌調(diào)相信號生成方案[J].系統(tǒng)工程與電子技術(shù),2009,55(4):26-28.LIU Shi-hua,WANG De-shi,XIE Bang-yong.Scheme of chaos phase modulation signal Generation base on DDS[J].Systems Engineering and Electronics,2009,55(4):26-28.(in Chinese)
[7]曹群,顏德田.基于DDS的中功率低頻信號源的設(shè)計[J].電子測量技術(shù),2009,38(5):14-16.CAO Qun,YAN De-tian.Design of middle power lowfrequency signal source based on DDS[J].Electronic Measurement Technology,2009,38(5):14-16.(in Chinese)
[8]馮源,樊祥,胡濤濤,等.基于DDS技術(shù)的通信激勵器設(shè)計[J].通信技術(shù),2010,34(11):126-128.FENG Yuan,FAN Xiang,HU Tao-tao,et al.Designof communication prompting source based on DDS technology[J].Communication Technology,2010,34(11):126-128.(in Chinese)
[9]袁縱橫,魏常偉.基于DDS的高功率超聲波電源的設(shè)計[J].電力電子技術(shù),2010,26(11):46-49.YUAN Zong-heng,WEI Chang-wei.Designof high power ultrasonic wave supply based on DDS[J].Power Electronics Technology,2010,26(11):46-49.(in Chinese)
[10]楊蕾.基于DDS的高碼速率遙感衛(wèi)星模擬信號頻綜源設(shè)計與實現(xiàn)[J].電子器件,2009,56(12):66-69.YANG Lei.Design and implement of high bit rate remote sensing satellites analog signal source based on DDS[J].Electronic Devices,2009,56(12):66-69.(in Chinese)