基于DSP的軟件鎖相環(huán)的實(shí)現
0 引言
本文引用地址:http://dyxdggzs.com/article/201702/343617.htm 準確獲取電網(wǎng)基波及諧波電壓的相位角,在變頻器、有源濾波器等電力電子裝置中具有重要的意義,通常需要采用鎖相環(huán)得以實(shí)現。傳統鎖相環(huán)
電路一般由鑒相器、環(huán)路濾波器、壓控振蕩器及分頻器組成,其工作原理是通過(guò)鑒相器將電網(wǎng)電壓和控制系統內部同步信號的相位差轉變成電壓信號,經(jīng)環(huán)路濾波器濾波后控制壓控振蕩器,從而改變系統內部同步信號的頻率和相位,使之與電網(wǎng)電壓一致。傳統鎖相環(huán)
存在硬件電路復雜、易受環(huán)境干擾及鎖相精度不高等問(wèn)題,隨著(zhù)大規模集成電路及數字信號處理器的發(fā)展,通過(guò)采用高速DSP 等可編程器件,將鎖相環(huán)
的主要功能通過(guò)軟件編程來(lái)實(shí)現。本文設計的鎖相環(huán)
控制系統采用數字處理器TMS320F2812 芯片實(shí)現對電網(wǎng)基波及特定次諧波電壓相位的跟蹤和鎖定。
1 軟件鎖相環(huán)的設計方案
1.1 工作流程
基于DSP的軟件鎖相環(huán)設計此方案的基本思路是通過(guò)采樣電壓過(guò)零點(diǎn)獲取同步信號,采用DSP 內部定時(shí)器的循環(huán)計數產(chǎn)生同步信號來(lái)實(shí)現壓控振蕩器和分頻器的功能,即通過(guò)改變定時(shí)器的周期或最大循環(huán)計數值的方法來(lái)改變同步信號的頻率和相位,同時(shí)對電壓進(jìn)行A/D 轉換及數據處理,得出基波及諧波電壓的相位與頻率,調整SPWM 正弦表格指針地址完成對基波及諧波電壓的鎖相功能,其工作流程如圖1 所示。

通常,過(guò)零信號可以通過(guò)檢測電網(wǎng)三相電壓中任一相的過(guò)零點(diǎn)獲取。在圖1 中,以檢測A相電壓過(guò)零點(diǎn)作為過(guò)零信號,將通過(guò)上升沿捕捉及軟件濾波后產(chǎn)生的中斷作為采樣周期同步信號,當DSP內部時(shí)鐘倍頻后產(chǎn)生的中斷在捕獲到輸入電壓信號在過(guò)零點(diǎn)時(shí),將發(fā)正弦信號的指針歸零,以保證輸入電壓信號過(guò)零時(shí)DSP發(fā)出的基準正弦信號也同步過(guò)零,從而實(shí)現相位同步。本文采用SPWM 觸發(fā)模式,基準正弦信號是一個(gè)正弦數據表格,控制逆變器輸出的基準點(diǎn);同時(shí)采樣電壓信號,經(jīng)DSP進(jìn)行FFT計算分析其相位和頻率、基波及諧波與A相電壓過(guò)零點(diǎn)相位差,通過(guò)修改定時(shí)器周期寄存器來(lái)改變SPWM 輸出時(shí)正弦波的頻率;以修改比較寄存器來(lái)改變SPWM 輸出時(shí)正弦波的相位,這樣完成了對基波及諧波電壓的相位鎖定。
1.2 過(guò)零檢測電路的設計
過(guò)零信號對系統相位捕捉的精準性影響較大,系統設計時(shí)采用軟硬件結合的辦法實(shí)現對過(guò)零信號的捕捉。獲取過(guò)零信號實(shí)質(zhì)上是為了給系統提供一個(gè)同步信號,即每次信號過(guò)零時(shí)啟動(dòng)A/D轉換。在本設計中,過(guò)零檢測電路采集A相電壓每個(gè)周期的過(guò)零點(diǎn)作為系統產(chǎn)生的中斷信號CAP1,使中斷服務(wù)程序開(kāi)始執行,圖2 為電壓信號過(guò)零檢測電路。

圖2 中,在比較器芯片LM339 的輸出端選擇加裝了上拉電阻,主要是考慮到整個(gè)電路對驅動(dòng)、功耗和速度的要求。電阻R7和R8構成一個(gè)滯回比較器,輸出信號通過(guò)反饋電阻R7 改變同相端的參考電壓,以消除輸入信號正反過(guò)零產(chǎn)生的抖動(dòng)。
1.3 過(guò)零捕捉的軟件實(shí)現
過(guò)零檢測主要解決的是采樣同步問(wèn)題,當檢測到的電壓信號由負到正過(guò)零時(shí),比較器芯片LM339 輸出端產(chǎn)生上升沿,將此信號輸入到DSP2812 事件管理器EVA 的引腳CAP1。引腳CAP1 在系統初始化程序中預設置為上升沿觸發(fā)中斷,因此當過(guò)零信號到來(lái)時(shí),CAP1中斷子程序開(kāi)始執行,開(kāi)啟事件管理器EVA 的TIMER 周期中斷,周期設置為駐T/128 s(每周期采樣128 個(gè)點(diǎn)),觸發(fā)A/D 模塊采樣。其中,駐T 為CAP1 捕捉到的兩個(gè)過(guò)零檢測信號上升沿的間隔時(shí)間,等于電網(wǎng)待測信號的周期T,圖3 為過(guò)零中斷程序的流程。

DSP 的捕獲單元CAP隸屬于事件管理器,它能夠捕捉到CAP 外部引腳的跳變,當捕捉到對應引腳發(fā)生特定的跳變時(shí),觸發(fā)相應的中斷,并將定時(shí)器的值存入一個(gè)兩級深的FIFO堆棧中。本方案設計每16 點(diǎn)啟動(dòng)一次數據分析,同時(shí)投出一次控制量,這個(gè)過(guò)程為一個(gè)更新周期,判斷標志ctrl 用來(lái)檢測是否進(jìn)入新的更新周期,以判斷是否需要啟動(dòng)新一輪數據分析和投出控制量。標志位dft用來(lái)判斷當前數據分析狀態(tài),為0 時(shí)表示重新初始化數據分析操作,為1 時(shí)表示數據分析操作完畢,為2 時(shí)表示允許啟動(dòng)新一輪數據分析,為3 時(shí)表示當前正在進(jìn)行數據分析。圖4 給出了捕獲單元的軟件流程。
1.4 過(guò)零信號的軟件濾波
CAP1 捕捉到的兩個(gè)過(guò)零信號上升沿的間隔時(shí)間,即兩個(gè)CAP1中斷事件的間隔時(shí)間,等于電網(wǎng)待測信號的周期T。TIMER 在系統初始化后不斷計數,然后在CAP1 的中斷服務(wù)程序中記錄兩個(gè)CAP1 中斷事件之間的TIMER 計數值N,可計算出T。同時(shí),采用軟件濾波來(lái)判斷CAP1信號是否為毛刺干擾,其過(guò)程如下:電網(wǎng)基波頻率波動(dòng)一般不超過(guò)依0.2 Hz,當產(chǎn)生CAP1中斷時(shí),可以計算本次與前次的計數差值,如果遠小于工頻周期計數差值,則認為捕獲的中斷為干擾產(chǎn)生,如該中斷非連續兩次以上出現,則中斷返回。同時(shí)對產(chǎn)生的中斷次數進(jìn)行累加,達到設定范圍時(shí)對電壓過(guò)零時(shí)刻正弦表格的指針位置進(jìn)行判斷,調整正弦表格指針地址,實(shí)現過(guò)零指針的校準。

1.5 A/D轉換及相頻計算
過(guò)零信號經(jīng)過(guò)軟件濾波及校準后,在捕獲到輸入電壓信號過(guò)零點(diǎn)時(shí),直接將發(fā)正弦信號的指針歸零,保證輸入電壓信號過(guò)零時(shí)DSP發(fā)出的基準同步過(guò)零,從而實(shí)現相位同步。A相電壓過(guò)零信號送入管腳CAP1,作為一個(gè)采樣周期的基準,該周期的128 倍頻信號作為每次ADC 啟動(dòng)基準。在系統初始化后開(kāi)啟CAP1,并設置啟動(dòng)ADC、相應的模數轉換、數據分析、控制量投出等操作,直到關(guān)機或者發(fā)生故障。由于F2812 的系統時(shí)鐘頻率非常高,為150 MHz,即中斷服務(wù)程序的響應延遲時(shí)間非常小,可以忽略。在CAP1 的中斷服務(wù)程序中,根據待測信號周期T來(lái)設置F2812 事件管理器的通用定時(shí)器TIMER,每隔駐T/128 s自動(dòng)啟動(dòng)一次A/D轉換進(jìn)行數據采集。
A/D 轉換后的信號使用滑動(dòng)窗口的FFT 算法,以滑動(dòng)窗口的DFT和Pruning-FFT為基礎,利用DFT對特定次諧波進(jìn)行選擇計算,根據滑動(dòng)窗口快速響應以及Pruning-FFT 快速計算的特點(diǎn),使DSP的處理速度達到理想值。使用FFT進(jìn)行相位和頻率分析的原理如下。
對某一單一頻率信號

通過(guò)上述分析得出初相角、頻率,將數據存入對應寄存器中,完成基波及諧波的相頻計算功能。
1.6 SPWM輸出的相頻調整
軟件鎖相輸出是由捕獲中斷和定時(shí)器中斷共同完成,捕捉中斷可以完成電壓周期和相位的計算,定時(shí)器中斷用來(lái)輸出SPWM波形。在本方案中,三角載波是利用通用定時(shí)器的連續增減計數模式產(chǎn)生的,當通用定時(shí)器有效后,開(kāi)始遞增計數,直到等于周期寄存器的值,定時(shí)器開(kāi)始遞減計數,遞減到零時(shí),重新開(kāi)始遞增計數,并重復以上過(guò)程,從而形成三角載波信號。得到三角波后,通過(guò)比較單元來(lái)控制輸出波的極性,產(chǎn)生PWM 波。
TMS320F2812 系列DSP 片內帶有比較單元,可提供6對可編程的PWM信號,這為實(shí)現上述算法提供了極大的便利。當定時(shí)器發(fā)生周期中斷時(shí),就需要重新裝載比較器的值,即此刻的正弦值。設定載波比為21(載波比應為奇數且能被3 整除),即1個(gè)正弦波的周期等于21 個(gè)載波的周期,則相鄰的兩個(gè)三角波峰值對應的正弦波相位差為360毅/21= 17.143毅,假定上一周期中斷裝載的正弦值為sin茲,則本周期中斷所需裝載的正弦值為sin(茲+17.143毅)。
例如:輸出正弦信號的頻率為250 Hz(5 次諧波)時(shí),其三角波的頻率則為5.25 kHz。三角波信號由定時(shí)器模擬產(chǎn)生,則定時(shí)器的定時(shí)周期為

5 次諧波的初相角茲是電壓經(jīng)FFT 計算得到與A相電壓過(guò)零點(diǎn)的相位差值。根據x和茲值,產(chǎn)生相應的PWM 波。因正弦值實(shí)時(shí)計算時(shí)用得較多,在確定相位分辨率后,例如1毅,會(huì )導致大量重復計算。因此,采用查表法,按順序預存一個(gè)周期為420 點(diǎn)的正弦值,相位的分辨率為360毅/420=0.857毅,因每次比較器的裝載值是上一次移相17.143毅后的正弦值,所以只需將上一次裝載值的地址加上一定的偏移量,即為本次所需的裝載值地址,該偏移量為420/21=20??梢?jiàn),將正弦計算簡(jiǎn)化為讀相應地址的存儲器值,會(huì )大大提高程序的效率。
通過(guò)讀取寄存器中基波及諧波電壓的初相角頻率以及與過(guò)零點(diǎn)相位差的值,調整對應的正弦表格初相角指針地址,通過(guò)修改定時(shí)器周期寄存器來(lái)改變正弦波的頻率,修改比較寄存器來(lái)改變正弦波的幅值和相位,在下一個(gè)過(guò)零信號過(guò)零點(diǎn)投出相位和頻率控制量,即可完成對基波及諧波電壓及SPWM 輸出時(shí)的相位鎖定。
2 實(shí)驗結果與分析
在一臺低壓有源電力濾波裝置中,采用基于TMS320F2812芯片為核心控制器的軟件鎖相環(huán)的設計方案。實(shí)驗結果驗證,該方案能夠很好地實(shí)現對基波及特定次諧波電壓相位的跟蹤和鎖定。
圖5(a)給出同步過(guò)零信號波形,電壓信號(正弦波)為A相電壓,過(guò)零信號為方波。電路設計時(shí)將電壓采樣信號幅值轉化為3.3 V,滿(mǎn)足過(guò)零信號能被管腳CAP1 識別的條件。如圖5(a)所示,過(guò)零信號與電壓采樣信號同步。
圖5(b)給出功率模塊鎖相輸出實(shí)驗波形,圖中波形1 為A相電壓采樣信號,波形2 為功率模塊輸出電流波形,控制器設定跟隨電壓采樣信號的過(guò)零點(diǎn)觸發(fā)功率模塊同步輸出。從實(shí)驗結果可以看出,功率模塊逆變輸出電流相位能夠與采樣信號過(guò)零點(diǎn)保持同步,相位偏移極小,達到對電網(wǎng)基波電壓鎖相及跟蹤輸出的目的。
圖5(c)給出功率模塊鎖相倍頻輸出實(shí)驗波形。為方便觀(guān)察諧波鎖相輸出的效果,設定5 次諧波初相角與基波過(guò)零點(diǎn)同相,控制器設定跟隨電壓采樣信號過(guò)零點(diǎn),反相輸出5 次諧波電流,電流幅值不變。圖中波形3 為采樣點(diǎn)電壓信號,波形4為控制器觸發(fā)功率模塊輸出電流波形。如圖所示,功率模塊輸出的5 次諧波電流初相角與采樣信號保持過(guò)零同步。
實(shí)驗結果表明:通過(guò)軟件鎖相環(huán)可以實(shí)現功率模塊逆變輸出電流與電壓采樣信號的同步,調整控制器程序,可以實(shí)現對諧波相位及頻率跟蹤,達到對電網(wǎng)電壓及特定次諧波電壓鎖相及跟蹤輸出的目的。


3 結語(yǔ)
本文提出了一種基于DSP2812實(shí)現對電網(wǎng)電壓軟件鎖相的技術(shù)方案。實(shí)驗結果表明,該方案能很好地實(shí)現對電壓信號周期及頻率的實(shí)時(shí)跟蹤。
采用軟件鎖相環(huán)技術(shù),只需設計過(guò)零檢測及信號調整電路,其它功能均由DSP芯片完成,減少了外界環(huán)境干擾的問(wèn)題,提高了鎖相精度。同時(shí),DSP可以實(shí)時(shí)進(jìn)行軟件修改,能實(shí)現復雜控制,提高了其可操作和可擴展性。隨著(zhù)DSP性能的不斷改進(jìn),其運算速度越來(lái)越快,將為軟件鎖相技術(shù)提供更多的發(fā)展空間。
評論