0 引言
電源的信號測控部分由DDS信號發(fā)生和信號測量組成,。DDS 在電源設計中的應用早已存在,。在早期的DDS 設計中,硬件組成由計數(shù)器,、觸發(fā)器等多種多個分立邏輯元件組成,; 而在出現(xiàn)可編程邏輯器件CPLD、FPGA 后,,DDS 的硬件構成簡化了許多,。電源的信號測量,分為頻率,、幅值及相位的測量,。頻率的測量采用脈沖填充法; 幅值測量則隨著A/D 轉換器的采樣速度及處理器速度的提高,,由原來的有較大延遲的真有效值轉換發(fā)展為周期實時采樣計算,;相位測量則在幅值測量的基礎上,由原來的間相脈沖填充法發(fā)展為乘法器矢量測量,。
DSP 的高速處理能力,,使其可以實現(xiàn)DDS 中的CPLD 或FPGA 及測量電路中的模擬數(shù)字混合乘法器的功能,從而使電源的信號發(fā)生及測量的硬件設計更簡單,。
1 設計方案
方案設計如圖1 所示,。DSP 以等時間間隔快速、連續(xù)讀取擴展程序存儲器中的波形數(shù)據(jù),,送入并行高速D/A,并行高速D/A 即可輸出預設信號波形,。
輸出信號幅值的調整不如波形數(shù)據(jù)讀取操作那么頻繁,且對操作完成時間的長短,、精度要求也不如波形數(shù)據(jù)讀取高,,所以選擇串行多通道D/A.這樣既可以降低成本,又可以簡化部分硬件設計,。以N 個波形讀取時間間隔為計時基礎,,DSP 通過并行高速A/D 對經信號處理后的被測信號進行連續(xù)采樣,通過計算,,可得出被測信號有效值及相位,。
2 DDS 的DSP 實現(xiàn)
2.1 DDS 原理
DDS 是利用相位累加原理直接合成所需波形的一種頻率合成技術,典型的DDS 模型由W 位相位累加器,、移相加法器,、波形存儲器ROM 查找表( LUT) 、D/A 轉換器( DAC) 以及低通濾波器( LPF) 構成,。其中相位累加器由W 位加法器與W 位累加寄存器級聯(lián)構成,。
DDS 工作時,每來一個時鐘脈沖p,加法器將相位步進值Δθ 與累加寄存器輸出的累加相位數(shù)據(jù)相加,,把相加后的結果送至累加寄存器的數(shù)據(jù)輸入端,。
累加寄存器將加法器在上一個時鐘脈沖作用后所產生的新相位數(shù)據(jù)反饋到加法器的輸入端,以使加法器在下一個時鐘脈沖的作用下繼續(xù)與頻率控制字相加,。相位累加器輸出的數(shù)據(jù)作為查表地址,,從波形存儲器( ROM) 中提取對應的波形抽樣值( 二進制編碼) ,送入D/A 轉換器C 中。在相位累加器的數(shù)據(jù)輸出范圍0 ~ 2W – 1,與波形存儲器中一個完整周期波形的地址,,按照特定的函數(shù)關系對應起來的前提下,,相位累加器的每次溢出,DDS 就相應的輸出了一個周期的波形,。因此,,相位累加器的溢出頻率就是DDS 輸出的信號頻率。由此可推導出DDS 輸出的信號頻率公式:fout = fclk × Δθ /2W
式中fout為DDS 輸出頻率,; fclk為標準時鐘脈沖,,固定值; Δθ 為相位步進值,,無符號整數(shù),,無單位; W 為相位累加器寬度,。
從公式( 1) 可以看出,,在相位累加器寬度W 為定值,、相位步進值Δθ 為1 時,可得出DDS 的最小輸出頻率,,即DDS 的頻率分辨率fr.因此,,只需要調整相位步進值Δθ,就可以使DDS 的頻率以fr的整數(shù)倍輸出,。
2. 2 DDS 工作模式選擇
根據(jù)公式( 1) 可以看出,,在相位累加器寬度W 為定值的前提下,DDS 的輸出頻率,,取決于Δθ 和fclk.
Δθ 取值為DDS 的相位分辨率時,,DDS 輸出信號的每個周期由固定點數(shù)組成,此時fout與fclk成比例關系,,DDS 為調頻模式,; fclk為定值時,DDS 輸出信號在單位時間內由固定點數(shù)組成,,此時fout與Δθ 成比例關系,,DDS 為調相模式。
調頻模式,,其關鍵點為采用鎖相環(huán)技術對預置輸出頻率進行倍頻[3 - 4].與調相模式相比,,調頻模式不僅要多出鎖相環(huán)及相應倍頻邏輯電路的設計,且在進行頻率調整時,,信號會有短時間的失鎖,,造成輸出信號的振蕩。因此,,調相模式是本設計中DDS 的最佳選擇,。
2. 3 DSP 實現(xiàn)DDS 的優(yōu)勢
無論是用分立邏輯器件還是CPLD 或FPGA 設計DDS,其目的都是為了將相位累加器的累加、輸出,、波形數(shù)據(jù)查表等這些運算處理通過硬件電路高速實現(xiàn),。唯一的區(qū)別就是應用CPLD 或FPGA 設計DDS,可以將諸多分立器件實現(xiàn)的邏輯電路,通過VHDL 等編程語言編程固化在單一芯片上,,從而達到簡化硬件電路設計目的,。而采用DSP 設計DDS,則完全可以利用其高速運算能力,通過軟件編程來完成相位累加器的累加,、輸出,、波形數(shù)據(jù)查表等運算。因此,,相比于采用CPLD 或FPGA,采用DSP設計DDS 更靈活高效,。
2. 4 基于DSP 的DDS 的參數(shù)設計
2. 4. 1 標準時鐘脈沖fclk
的設計從公式( 1) 可以看出,在相位累加器寬度W 為定值、相位步進值Δθ 為1 時,,可得出DDS 的最小輸出頻率,,即DDS 的頻率分辨率fr.因此,只需要調整相位步進值Δθ,,就可以使DDS 的頻率以fr的整數(shù)倍輸出,。
P = 2W ÷ Δθ
式中P 為DDS 輸出信號的每個周期的組成點數(shù)。
將式( 2) 代入式( 1) ,可得:
fclk = fout × P
在P 足夠多且每點波形數(shù)據(jù)分辨率與P 匹配的前提下,,即可忽略DDS 信號輸出的高頻諧波含量,從而省略硬件設計中的濾波器環(huán)節(jié),,避免了由濾波器產生的相位偏移,。當P = 10000 時,完全可以滿足要求,。如設計最大輸出頻率65Hz,可得fclk = 0. 65MHz.
fclk可利用DSP 計數(shù)器的中斷產生,。考慮到DSP 的工作頻率均為MHz 的整數(shù)倍,,所以fclk取值1MHz,更加便于中斷的準確產生,。
2. 4. 2 相位累加器寬度W 的選取
P = 10000 時,W 取值27 即可滿足設計頻率調節(jié)細度≤0. 01Hz 的要求,。但相位累加值θ 在DSP 中定義為4 字節(jié)的操作數(shù),,W 取值27 時,DSP 需對相位累加值進行上限判斷處理后再提取波形數(shù)據(jù),,從而產生細小的波形畸變并增加一定的運算量,。考慮到可利用操作數(shù)的自然溢出來減少DSP 的判斷及運算操作,,所以W 取值32.
2. 4. 3 周期波形點數(shù)P 的選取
在不考慮四舍五入取值的前提下,,相位累加器的輸出值與波形數(shù)據(jù)表數(shù)組下標的函數(shù)關系如下:
A = P × θ ÷ 2W
式中A 為波形數(shù)據(jù)數(shù)組下標; P 為波形數(shù)據(jù)點數(shù),; θ為相位累加器輸出值,。
由于DSP 中沒有現(xiàn)成的除法指令,除法是靠被除數(shù)與除數(shù)之間的移位相減來實現(xiàn)的,,采用該函數(shù)的算法將增加DSP 的運算量,。因此,可以通過事先將P ÷ 2W 作為系數(shù),,減少求數(shù)組下標運算步驟,。但P ÷ 2W 可能為小數(shù),如果取整計算,,將使下標出現(xiàn)跳躍性變化,,導致輸出波形畸變增大。不取整計算時,如使用定點DSP,雖然價格便宜且運算速度較快,,但會增加系統(tǒng)運算量,。而使用浮點DSP,運算速度較慢且硬件費用會有相對提高??紤]到DSP 要進行多線程的任務工作,,需要較快的運算速度,因此選用定點DSP,并對波形數(shù)據(jù)數(shù)組下標的算法進行進一步的改進,。
將公式( 4) 中P 的點數(shù)由相位調節(jié)細度要求的最低點數(shù)Pmin調整至大于Pmin的最小的2 的X 次冪,。
將P 代入公式( 4) ,簡化得:
A = θ /2W-X
在DSP 中,所有的值都用二進制來表示,。所以,,在公式( 5) 里所有變量的取值均為無符號整數(shù)的前提下,A 的獲得就簡化成了對θ 進行( W – X) 次的右移,。
從而大大降低DSP 的運算量,。以相位分辨率≤0. 03°為例,P 取值16384 =214,A 的表達式即簡化為θ /218.
3 信號測量
信號需要測量頻率,、有效值,、相位三個參量。信號處理電路采用傳統(tǒng)的互感器采樣加低通濾波,。電壓信號處理電路比電流信號處理電路,,多設置一過零比較的波形變換功能單元,其作用是將電壓被測信號由正弦波變換為方波,,為信號測量提供周期信號,。
3. 1 頻率測量
頻率測量相對簡單,采用傳統(tǒng)的脈沖填充法,,即DSP 利用周期方波作為中斷信號,,用DSP 的計數(shù)脈沖的頻率除以中斷間隔內計數(shù)器的計數(shù)脈沖數(shù),就可獲得輸出信號的頻率,。
3. 2 有效值測量
有效值測量即對被測信號進行區(qū)域內積分后取平均值,。通過RC 電路實現(xiàn)硬件積分,響應速度慢,,且增加相應的硬件開銷,。而利用DSP 的高速計算能力,通過相應計算即可得出有效值,,可提高相應速度,,節(jié)省硬件開銷。
正弦波有效值的計算公式:
式中Vm為有效值,; T 為采樣周期,; Um為被測正弦波峰值;ω 為被測正弦波角頻率; φ 為被測正弦波初始相位,。
積分的計算過程,,等價于在積分區(qū)間內對被測信號進行足夠多的、等間隔采樣,,并進行累加求和計算,。因此,公式( 6) 可變換為:
式中N 為測量周期內的采樣次數(shù),; Un為采樣值,。
為保證測量值的準確,被測信號每個周期內的采樣次數(shù)應≥100.因此,,在以標準時鐘脈沖fclk( 1MHz) 為計時基準,、被測信號最高頻率65Hz 時,每次采樣間隔應≤153 個標準時鐘脈沖,。
3. 3 相位測量
相位的測量,借鑒了模擬數(shù)字混合乘法器進行矢量測量的原理,。模擬數(shù)字混合乘法器進行矢量測量的原理如下:
對于正弦信號,,矢量測量就是測量相對于標準正弦信號的相位和幅值。如圖2 所示,,設被測信號V( t) = U( t) sin( ωt + φ) ,兩片Rom 中分別存有正弦和余弦函數(shù)表,,鎖相環(huán)實現(xiàn)數(shù)字sin^( ωt) ,cos^( ωt) 與V( t) 同頻同步。模擬信號V( t) 輸入到乘法型D/A 的參考電壓端,,與數(shù)字量sin^( ωt) ,cos^( ωt) 在D/A 轉換器實現(xiàn)模擬數(shù)字混合乘法運算,,低通濾波器完成積分求平均值運算,低通濾波輸出的是直流信號,。
被測信號的幅值和相角分別為:
綜上所述,,模擬數(shù)字混合乘法器矢量測量的原理可簡述為,將被測信號幅值與標準正弦,、余弦分別相乘并計算其有效值,,然后通過對兩有效值進行反正切運算即可獲得被測信號與標準信號的相位差。
從公式( 8) ,、( 9) 可以看出,,被測信號的采樣值,在相位測量中可被重復利用,。因此相位測量也可以采用與有效值測量相同的時鐘脈沖及采樣間隔,。從圖2 中可以看出,被測信號與標準正弦D/A,、余弦D/A 的相乘,,其實質是被測信號采樣值與標準正弦、余弦查表值相乘。由于相位測量的采樣以標準時鐘脈沖fclk為計時基準,,每次采樣前必有一個剛被查表取出的電壓正弦波數(shù)據(jù)值被送至D/A 輸出,,該數(shù)據(jù)值對應相位累加器輸出值θ .根據(jù)正弦與余弦的函數(shù)關系式cosa =sin( a + 90°) ,將θ 偏移2W-2 ( 此操作等價于移相90°后查表獲得余弦數(shù)據(jù)值。因此,,模擬數(shù)字混合乘法器矢量測量相位,,完全可以通過DDS 的查表功能與有效值測量功能相結合,利用軟件來實現(xiàn),。
4 結束語
通過對DDS 和模擬數(shù)字混合乘法器矢量測量原理的分析,,提出了以DSP 嵌入式系統(tǒng)為硬件基礎,利用軟件編程實現(xiàn)DDS 相位邏輯運算,、積分運算,、矢量的模擬數(shù)字混合乘法的設計思路。采用該設計思路進行電源,,可大大簡化硬件設計,,節(jié)省硬件成本,縮短開發(fā)時間,。