《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 電源技術(shù) > 設(shè)計(jì)應(yīng)用 > DSP 在電源設(shè)計(jì)中的應(yīng)用
DSP 在電源設(shè)計(jì)中的應(yīng)用
摘要: 采用分立元件或CPLD、FPGA 進(jìn)行電源的信號(hào)發(fā)生和測(cè)量的設(shè)計(jì),會(huì)增加硬件設(shè)計(jì)復(fù)雜程度,延長開發(fā)周期。為了簡化電源信號(hào)發(fā)生及測(cè)量的硬件設(shè)計(jì),縮短開發(fā)周期,本文提出一種基于DSP 的嵌入式操作平臺(tái),采用DDS( 直接數(shù)字式頻率合成器) 及乘法器矢量測(cè)量技術(shù)的設(shè)計(jì)方案。該方案利用DSP 的高速運(yùn)算能力,通過實(shí)時(shí)計(jì)算來實(shí)現(xiàn)分立元件或CPLD、FPGA 的硬件邏輯功能。實(shí)驗(yàn)結(jié)果表明該方案切實(shí)可行。
關(guān)鍵詞: 相位累加器 時(shí)鐘脈沖 D/A
Abstract:
Key words :

  0 引言

  電源的信號(hào)測(cè)控部分由DDS信號(hào)發(fā)生和信號(hào)測(cè)量組成。DDS 在電源設(shè)計(jì)中的應(yīng)用早已存在。在早期的DDS 設(shè)計(jì)中,硬件組成由計(jì)數(shù)器、觸發(fā)器等多種多個(gè)分立邏輯元件組成; 而在出現(xiàn)可編程邏輯器件CPLD、FPGA 后,DDS 的硬件構(gòu)成簡化了許多。電源的信號(hào)測(cè)量,分為頻率、幅值及相位的測(cè)量。頻率的測(cè)量采用脈沖填充法; 幅值測(cè)量則隨著A/D 轉(zhuǎn)換器的采樣速度及處理器速度的提高,由原來的有較大延遲的真有效值轉(zhuǎn)換發(fā)展為周期實(shí)時(shí)采樣計(jì)算;相位測(cè)量則在幅值測(cè)量的基礎(chǔ)上,由原來的間相脈沖填充法發(fā)展為乘法器矢量測(cè)量。

  DSP 的高速處理能力,使其可以實(shí)現(xiàn)DDS 中的CPLD 或FPGA 及測(cè)量電路中的模擬數(shù)字混合乘法器的功能,從而使電源的信號(hào)發(fā)生及測(cè)量的硬件設(shè)計(jì)更簡單。

  1 設(shè)計(jì)方案

  方案設(shè)計(jì)如圖1 所示。DSP 以等時(shí)間間隔快速、連續(xù)讀取擴(kuò)展程序存儲(chǔ)器中的波形數(shù)據(jù),送入并行高速D/A,并行高速D/A 即可輸出預(yù)設(shè)信號(hào)波形。

方案設(shè)計(jì)

  輸出信號(hào)幅值的調(diào)整不如波形數(shù)據(jù)讀取操作那么頻繁,且對(duì)操作完成時(shí)間的長短、精度要求也不如波形數(shù)據(jù)讀取高,所以選擇串行多通道D/A.這樣既可以降低成本,又可以簡化部分硬件設(shè)計(jì)。以N 個(gè)波形讀取時(shí)間間隔為計(jì)時(shí)基礎(chǔ),DSP 通過并行高速A/D 對(duì)經(jīng)信號(hào)處理后的被測(cè)信號(hào)進(jìn)行連續(xù)采樣,通過計(jì)算,可得出被測(cè)信號(hào)有效值及相位。

  2 DDS 的DSP 實(shí)現(xiàn)

  2.1 DDS 原理

  DDS 是利用相位累加原理直接合成所需波形的一種頻率合成技術(shù),典型的DDS 模型由W 位相位累加器、移相加法器、波形存儲(chǔ)器ROM 查找表( LUT) 、D/A 轉(zhuǎn)換器( DAC) 以及低通濾波器( LPF) 構(gòu)成。其中相位累加器由W 位加法器與W 位累加寄存器級(jí)聯(lián)構(gòu)成。

  DDS 工作時(shí),每來一個(gè)時(shí)鐘脈沖p,加法器將相位步進(jìn)值Δθ 與累加寄存器輸出的累加相位數(shù)據(jù)相加,把相加后的結(jié)果送至累加寄存器的數(shù)據(jù)輸入端。

  累加寄存器將加法器在上一個(gè)時(shí)鐘脈沖作用后所產(chǎn)生的新相位數(shù)據(jù)反饋到加法器的輸入端,以使加法器在下一個(gè)時(shí)鐘脈沖的作用下繼續(xù)與頻率控制字相加。相位累加器輸出的數(shù)據(jù)作為查表地址,從波形存儲(chǔ)器( ROM) 中提取對(duì)應(yīng)的波形抽樣值( 二進(jìn)制編碼) ,送入D/A 轉(zhuǎn)換器C 中。在相位累加器的數(shù)據(jù)輸出范圍0 ~ 2W – 1,與波形存儲(chǔ)器中一個(gè)完整周期波形的地址,按照特定的函數(shù)關(guān)系對(duì)應(yīng)起來的前提下,相位累加器的每次溢出,DDS 就相應(yīng)的輸出了一個(gè)周期的波形。因此,相位累加器的溢出頻率就是DDS 輸出的信號(hào)頻率。由此可推導(dǎo)出DDS 輸出的信號(hào)頻率公式:fout = fclk × Δθ /2W

  式中fout為DDS 輸出頻率; fclk為標(biāo)準(zhǔn)時(shí)鐘脈沖,固定值; Δθ 為相位步進(jìn)值,無符號(hào)整數(shù),無單位; W 為相位累加器寬度。

  從公式( 1) 可以看出,在相位累加器寬度W 為定值、相位步進(jìn)值Δθ 為1 時(shí),可得出DDS 的最小輸出頻率,即DDS 的頻率分辨率fr.因此,只需要調(diào)整相位步進(jìn)值Δθ,就可以使DDS 的頻率以fr的整數(shù)倍輸出。

  2. 2 DDS 工作模式選擇

  根據(jù)公式( 1) 可以看出,在相位累加器寬度W 為定值的前提下,DDS 的輸出頻率,取決于Δθ 和fclk.

  Δθ 取值為DDS 的相位分辨率時(shí),DDS 輸出信號(hào)的每個(gè)周期由固定點(diǎn)數(shù)組成,此時(shí)fout與fclk成比例關(guān)系,DDS 為調(diào)頻模式; fclk為定值時(shí),DDS 輸出信號(hào)在單位時(shí)間內(nèi)由固定點(diǎn)數(shù)組成,此時(shí)fout與Δθ 成比例關(guān)系,DDS 為調(diào)相模式。

  調(diào)頻模式,其關(guān)鍵點(diǎn)為采用鎖相環(huán)技術(shù)對(duì)預(yù)置輸出頻率進(jìn)行倍頻[3 - 4].與調(diào)相模式相比,調(diào)頻模式不僅要多出鎖相環(huán)及相應(yīng)倍頻邏輯電路的設(shè)計(jì),且在進(jìn)行頻率調(diào)整時(shí),信號(hào)會(huì)有短時(shí)間的失鎖,造成輸出信號(hào)的振蕩。因此,調(diào)相模式是本設(shè)計(jì)中DDS 的最佳選擇。

  2. 3 DSP 實(shí)現(xiàn)DDS 的優(yōu)勢(shì)

  無論是用分立邏輯器件還是CPLD 或FPGA 設(shè)計(jì)DDS,其目的都是為了將相位累加器的累加、輸出、波形數(shù)據(jù)查表等這些運(yùn)算處理通過硬件電路高速實(shí)現(xiàn)。唯一的區(qū)別就是應(yīng)用CPLD 或FPGA 設(shè)計(jì)DDS,可以將諸多分立器件實(shí)現(xiàn)的邏輯電路,通過VHDL 等編程語言編程固化在單一芯片上,從而達(dá)到簡化硬件電路設(shè)計(jì)目的。而采用DSP 設(shè)計(jì)DDS,則完全可以利用其高速運(yùn)算能力,通過軟件編程來完成相位累加器的累加、輸出、波形數(shù)據(jù)查表等運(yùn)算。因此,相比于采用CPLD 或FPGA,采用DSP設(shè)計(jì)DDS 更靈活高效。

  2. 4 基于DSP 的DDS 的參數(shù)設(shè)計(jì)

  2. 4. 1 標(biāo)準(zhǔn)時(shí)鐘脈沖fclk

  的設(shè)計(jì)從公式( 1) 可以看出,在相位累加器寬度W 為定值、相位步進(jìn)值Δθ 為1 時(shí),可得出DDS 的最小輸出頻率,即DDS 的頻率分辨率fr.因此,只需要調(diào)整相位步進(jìn)值Δθ,就可以使DDS 的頻率以fr的整數(shù)倍輸出。

  P = 2W ÷ Δθ

  式中P 為DDS 輸出信號(hào)的每個(gè)周期的組成點(diǎn)數(shù)。

  將式( 2) 代入式( 1) ,可得:

  fclk = fout × P

  在P 足夠多且每點(diǎn)波形數(shù)據(jù)分辨率與P 匹配的前提下,即可忽略DDS 信號(hào)輸出的高頻諧波含量,從而省略硬件設(shè)計(jì)中的濾波器環(huán)節(jié),避免了由濾波器產(chǎn)生的相位偏移。當(dāng)P = 10000 時(shí),完全可以滿足要求。如設(shè)計(jì)最大輸出頻率65Hz,可得fclk = 0. 65MHz.

  fclk可利用DSP 計(jì)數(shù)器的中斷產(chǎn)生??紤]到DSP 的工作頻率均為MHz 的整數(shù)倍,所以fclk取值1MHz,更加便于中斷的準(zhǔn)確產(chǎn)生。

  2. 4. 2 相位累加器寬度W 的選取

  P = 10000 時(shí),W 取值27 即可滿足設(shè)計(jì)頻率調(diào)節(jié)細(xì)度≤0. 01Hz 的要求。但相位累加值θ 在DSP 中定義為4 字節(jié)的操作數(shù),W 取值27 時(shí),DSP 需對(duì)相位累加值進(jìn)行上限判斷處理后再提取波形數(shù)據(jù),從而產(chǎn)生細(xì)小的波形畸變并增加一定的運(yùn)算量??紤]到可利用操作數(shù)的自然溢出來減少DSP 的判斷及運(yùn)算操作,所以W 取值32.

  2. 4. 3 周期波形點(diǎn)數(shù)P 的選取

  在不考慮四舍五入取值的前提下,相位累加器的輸出值與波形數(shù)據(jù)表數(shù)組下標(biāo)的函數(shù)關(guān)系如下:

  A = P × θ ÷ 2W

  式中A 為波形數(shù)據(jù)數(shù)組下標(biāo); P 為波形數(shù)據(jù)點(diǎn)數(shù); θ為相位累加器輸出值。

  由于DSP 中沒有現(xiàn)成的除法指令,除法是靠被除數(shù)與除數(shù)之間的移位相減來實(shí)現(xiàn)的,采用該函數(shù)的算法將增加DSP 的運(yùn)算量。因此,可以通過事先將P ÷ 2W 作為系數(shù),減少求數(shù)組下標(biāo)運(yùn)算步驟。但P ÷ 2W 可能為小數(shù),如果取整計(jì)算,將使下標(biāo)出現(xiàn)跳躍性變化,導(dǎo)致輸出波形畸變?cè)龃蟆2蝗≌?jì)算時(shí),如使用定點(diǎn)DSP,雖然價(jià)格便宜且運(yùn)算速度較快,但會(huì)增加系統(tǒng)運(yùn)算量。而使用浮點(diǎn)DSP,運(yùn)算速度較慢且硬件費(fèi)用會(huì)有相對(duì)提高。考慮到DSP 要進(jìn)行多線程的任務(wù)工作,需要較快的運(yùn)算速度,因此選用定點(diǎn)DSP,并對(duì)波形數(shù)據(jù)數(shù)組下標(biāo)的算法進(jìn)行進(jìn)一步的改進(jìn)。

  將公式( 4) 中P 的點(diǎn)數(shù)由相位調(diào)節(jié)細(xì)度要求的最低點(diǎn)數(shù)Pmin調(diào)整至大于Pmin的最小的2 的X 次冪。

  將P 代入公式( 4) ,簡化得:

  A = θ /2W-X

  在DSP 中,所有的值都用二進(jìn)制來表示。所以,在公式( 5) 里所有變量的取值均為無符號(hào)整數(shù)的前提下,A 的獲得就簡化成了對(duì)θ 進(jìn)行( W – X) 次的右移。

  從而大大降低DSP 的運(yùn)算量。以相位分辨率≤0. 03°為例,P 取值16384 =214,A 的表達(dá)式即簡化為θ /218.

  3 信號(hào)測(cè)量

  信號(hào)需要測(cè)量頻率、有效值、相位三個(gè)參量。信號(hào)處理電路采用傳統(tǒng)的互感器采樣加低通濾波。電壓信號(hào)處理電路比電流信號(hào)處理電路,多設(shè)置一過零比較的波形變換功能單元,其作用是將電壓被測(cè)信號(hào)由正弦波變換為方波,為信號(hào)測(cè)量提供周期信號(hào)。

  3. 1 頻率測(cè)量

  頻率測(cè)量相對(duì)簡單,采用傳統(tǒng)的脈沖填充法,即DSP 利用周期方波作為中斷信號(hào),用DSP 的計(jì)數(shù)脈沖的頻率除以中斷間隔內(nèi)計(jì)數(shù)器的計(jì)數(shù)脈沖數(shù),就可獲得輸出信號(hào)的頻率。

  3. 2 有效值測(cè)量

  有效值測(cè)量即對(duì)被測(cè)信號(hào)進(jìn)行區(qū)域內(nèi)積分后取平均值。通過RC 電路實(shí)現(xiàn)硬件積分,響應(yīng)速度慢,且增加相應(yīng)的硬件開銷。而利用DSP 的高速計(jì)算能力,通過相應(yīng)計(jì)算即可得出有效值,可提高相應(yīng)速度,節(jié)省硬件開銷。

  正弦波有效值的計(jì)算公式:

  式中Vm為有效值; T 為采樣周期; Um為被測(cè)正弦波峰值;ω 為被測(cè)正弦波角頻率; φ 為被測(cè)正弦波初始相位。

  積分的計(jì)算過程,等價(jià)于在積分區(qū)間內(nèi)對(duì)被測(cè)信號(hào)進(jìn)行足夠多的、等間隔采樣,并進(jìn)行累加求和計(jì)算。因此,公式( 6) 可變換為:

  式中N 為測(cè)量周期內(nèi)的采樣次數(shù); Un為采樣值。

  為保證測(cè)量值的準(zhǔn)確,被測(cè)信號(hào)每個(gè)周期內(nèi)的采樣次數(shù)應(yīng)≥100.因此,在以標(biāo)準(zhǔn)時(shí)鐘脈沖fclk( 1MHz) 為計(jì)時(shí)基準(zhǔn)、被測(cè)信號(hào)最高頻率65Hz 時(shí),每次采樣間隔應(yīng)≤153 個(gè)標(biāo)準(zhǔn)時(shí)鐘脈沖。

  3. 3 相位測(cè)量

  相位的測(cè)量,借鑒了模擬數(shù)字混合乘法器進(jìn)行矢量測(cè)量的原理。模擬數(shù)字混合乘法器進(jìn)行矢量測(cè)量的原理如下:

  對(duì)于正弦信號(hào),矢量測(cè)量就是測(cè)量相對(duì)于標(biāo)準(zhǔn)正弦信號(hào)的相位和幅值。如圖2 所示,設(shè)被測(cè)信號(hào)V( t) = U( t) sin( ωt + φ) ,兩片Rom 中分別存有正弦和余弦函數(shù)表,鎖相環(huán)實(shí)現(xiàn)數(shù)字sin^( ωt) ,cos^( ωt) 與V( t) 同頻同步。模擬信號(hào)V( t) 輸入到乘法型D/A 的參考電壓端,與數(shù)字量sin^( ωt) ,cos^( ωt) 在D/A 轉(zhuǎn)換器實(shí)現(xiàn)模擬數(shù)字混合乘法運(yùn)算,低通濾波器完成積分求平均值運(yùn)算,低通濾波輸出的是直流信號(hào)。

數(shù)字模擬混合乘法最優(yōu)濾波矢量測(cè)量原理圖

  被測(cè)信號(hào)的幅值和相角分別為:

  綜上所述,模擬數(shù)字混合乘法器矢量測(cè)量的原理可簡述為,將被測(cè)信號(hào)幅值與標(biāo)準(zhǔn)正弦、余弦分別相乘并計(jì)算其有效值,然后通過對(duì)兩有效值進(jìn)行反正切運(yùn)算即可獲得被測(cè)信號(hào)與標(biāo)準(zhǔn)信號(hào)的相位差。

  從公式( 8) 、( 9) 可以看出,被測(cè)信號(hào)的采樣值,在相位測(cè)量中可被重復(fù)利用。因此相位測(cè)量也可以采用與有效值測(cè)量相同的時(shí)鐘脈沖及采樣間隔。從圖2 中可以看出,被測(cè)信號(hào)與標(biāo)準(zhǔn)正弦D/A、余弦D/A 的相乘,其實(shí)質(zhì)是被測(cè)信號(hào)采樣值與標(biāo)準(zhǔn)正弦、余弦查表值相乘。由于相位測(cè)量的采樣以標(biāo)準(zhǔn)時(shí)鐘脈沖fclk為計(jì)時(shí)基準(zhǔn),每次采樣前必有一個(gè)剛被查表取出的電壓正弦波數(shù)據(jù)值被送至D/A 輸出,該數(shù)據(jù)值對(duì)應(yīng)相位累加器輸出值θ .根據(jù)正弦與余弦的函數(shù)關(guān)系式cosa =sin( a + 90°) ,將θ 偏移2W-2 ( 此操作等價(jià)于移相90°后查表獲得余弦數(shù)據(jù)值。因此,模擬數(shù)字混合乘法器矢量測(cè)量相位,完全可以通過DDS 的查表功能與有效值測(cè)量功能相結(jié)合,利用軟件來實(shí)現(xiàn)。

  4 結(jié)束語

 

  通過對(duì)DDS 和模擬數(shù)字混合乘法器矢量測(cè)量原理的分析,提出了以DSP 嵌入式系統(tǒng)為硬件基礎(chǔ),利用軟件編程實(shí)現(xiàn)DDS 相位邏輯運(yùn)算、積分運(yùn)算、矢量的模擬數(shù)字混合乘法的設(shè)計(jì)思路。采用該設(shè)計(jì)思路進(jìn)行電源,可大大簡化硬件設(shè)計(jì),節(jié)省硬件成本,縮短開發(fā)時(shí)間。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。