




摘要:本文提出了一種采用VHDL硬件描述語言設計新型三相正弦脈寬調制(SPWM)波形發生器的方法。該方法以直接數字頻率合成技術(DDS)為核心產生三相SPWM信號。并且利用VHDL設計了死區時間可調的死區時間控制器,解決了傳統的模塊電路等待方法很難產生帶精確死區時間控制的SPWM信號的問題。該方法在QuartusII9.1環境平臺下進行了仿真驗證,并將設計程序下載到DE2-70實驗板進行實驗測試,用示波器測試得到了死區時間可控制的SPWM波形。本文網絡版地址:http://www.eepw.com.cn/article/273272.htm
關鍵字:VHDL;SPWM;直接數字頻率合成技術;死區時間;DOI:10.3969/j.issn.1005-5517.2015.4.013
引言
三相正弦脈寬調制( SPWM)技術在三相逆變電源系統、交流電機調速系統等領域有著廣泛的應用,并且發揮著核心的作用。SPWM發生器是應用系統設計中的一個難點、目前SPWM波形發生器的設計方法有以下幾種:(1)采用模擬電路的方法,用分立元件構成三角波、正弦波信號發生器,再通過LM311等比較器進行自然采樣后輸出SPWM波形。該方法對元件參數穩定性和電路可靠性要求過高,且輸出信號的精度不高。(2)采用專門的SPWM波形發生器集成電路芯片,如SLE4520、SA4828等,但這些專用芯片的功能單一,使用不靈活。(3)隨著數字芯片的發展,復雜可編程邏輯器件(CPLD)、現場可編程門陣列(FPGA)等器件得到廣泛的應用。因此設計基于CPLD/FPGA器件的波形發生器是目前流行的方法。在SPWM信號發生器的設計中,產生死區時間可任意調節的SPWM信號一直是一個難點。本文利用VHDL語言設計了死區時間控制器、使得輸出的兩路SPWM信號的死區時間可以任意調節。本文在Quartus119.1平臺下,采用VHDL語言與DDS技術相結合設計了一種帶死區時間控制器的三相SPWM波形發生器,并在DE2-70實驗平臺下進行了驗證。
1 方案設計
采用三角波為載波,對正弦波進行自然采樣比較的方法輸出SPWM,其采樣的原理如圖1所示。
本文設計思想為在FPGA/CPLD內存中分別存儲了離散的三角波數據、正弦波數據,再利用DDS技術輸出三角波數據和正弦波數據,設計一個數據比較器對以上兩種波形數據進行實時比較,如果正弦波數據大于三角波數據,SPWM信號輸出高電平,反之則輸出低電平。根據以上原理,利用DDS技術產生相位差為120。的三相正弦信號分別與三角波信號進行比較,就能輸出三相SPWM波形。
系統的總體框圖如圖2所示。信號a、b、c為三相正弦波數據,分別與信號d三角波數據進行比較后輸出sa、 sb、se為三相SPWM波,再經過死區時間控制器后,最終得到6路SPWM波形輸出。其中sa與nsa波形為反向,sb與nsb波形為反向,se與nsc波形為反向。
2 三相正弦波發生器模塊
三相正弦波發生模塊如圖3所示,該模塊根據傳統的DDS模塊框圖進行優化與改進。其原理是由時鐘信號fclk控制累加器模塊按順序生成ROM的地址,將存儲在ROM中的正弦波形數據逐個輸出。
本設計中地址累加器模塊地址寬度N為二進制16位,該累加器主要完成頻率控制字的累加功能,從而得到ROM的尋址地址:正弦波ROM的數字位寬為8位,存儲深度為256;相位控制器設置模塊主要完成設置三個正弦波a、b、c的初相位差為120。的功能。由于正弦波ROM的地址線寬度為8位,而地址累加器地址寬度為16位,所以本文取地址累加器的高8位與正弦波ROM的地址線相連接。
本文設置正弦波a、b、c的輸出頻率fout為工頻信號頻率50Hz,令時鐘信號fclk為lOkHz,頻率控制字M由以下公式計算。
因此,根據已知三相正弦波初相O分別為O。、120。、240。、代入公式(3),可求得對應的相位控制字取整數后分別為O、85、171。
3 三角波發生器模塊
三角波發生器模塊的設計通常有兩種方法完成:(1)采用計數器方法,利用VHDL語言設計一個向上向下計數器,從O開始計數,當計數到256后再向下計數,當計數為O時,再重復以上過程。將計數器的數據輸出就得到三角波數據輸出,這種方法得到的三角波頻率由計數器時鐘決定。(2)采用DDS原理方法,具體的實現與正弦波發生器實現的原理一樣,區別在于將正弦波原理框圖中ROM的正弦波數據換成三角波數據。三角波頻率的選擇可以根據實際電路設計需要來確定,本設計中設置了三角波輸出頻率為3KHz,三角波頻率越大,對正弦波的采樣率越高,使輸出的SPWM波形經過LC濾波還原為正弦波時諧波越小。
4 數據比較器模塊
數據比較器模塊主要完成將正弦波數據與三角波數據進行比較,輸出SPWM波形。數據比較器的位寬為8位。
5 死區時間控制模塊
為了防止后級H橋上下開關功率管同時閉合而造成功率管或者其它器件損壞,需要在SPWM與反向NSPWM的輸出端加一個死區時間控制器,提高了后級電路的可靠性。
死區時間控制器的設計思想是當SPWM信號由高電平跳變為低電平時,NSPWM不是立刻由低變高,而是延時一段時間后再變為高電平。同理,SPWM信號由低變高時SPWM信號的輸出也不能立刻輸出,而是先讓NSPWM由高變低,延時一小段時間后再讓SPWM變為高電平。這一小段延時時間稱為死區時間。死區時間的長短應根據開關管的開關速度來選擇。本設計中設置死區時間為luS。死區時間控制器模塊在Quartus 119.1環境的仿真如圖4所示,其中a為輸入的方波信號,b、c為輸出反向帶死區時間的控制信號輸出。
6 測試
本設計使用了臺灣友晶公司生產的FPGA實驗板(型號為DE2-70)進行驗證。實驗表明該方法能夠很方便地產生三相SPWM波形,并且載波與調制波信號均可任意調節。圖5上部分為示波器測試其中1路的SPWM與NSPWM信號的示波器波形,下部分為示波器測量SPWM與NSPWM信號死區時間為luS時的信號。
7 結束謂
設計了一種基于數字系統的三相SPWM波形發生器的方法。結合DDS技術原理與VHDL語言可對SPWM的載波頻率、調制波頻率進行調節。并且設計了死區時間控制器,利用FPGA設計了死區時間可精確調節的SPWM信號發生器,解決了傳統器件在設計SPWM信號發生器時對死區時間控制不精確、不穩定等問題,本設計在Quartus 119.1環境進行了仿真,并最終下載到DE2-70實驗平臺進行了實驗測試驗證了該方法的可行性,并且該信號發生器輸出SPWM波形穩定,可根據后級選用的開關管參數來精確調節輸出信號的死區時間,可降低開關管的損耗。