孟雍祥,吳清收
(山東科技大學 機械電子工程學院,山東 青島 266590)
基于CPLD精確控制PWM死區(qū)時間的實現(xiàn)
孟雍祥,吳清收
(山東科技大學 機械電子工程學院,山東 青島 266590)
針對采用分立元件邏輯電路生成的PWM死區(qū)時間的不精確和修改時不便利的缺點,文章介紹了一種基于可編程邏輯器件精確控制死區(qū)時間的設計實現(xiàn)方案。輸入信號可由外部提供也可以由有源晶振分頻獲得,采用VHDL硬件描述語言可在線編程,輸出兩路互補帶死區(qū)的PWM信號。該方案具有硬件電路結構簡單,延時控制準確,抗干擾能力強的優(yōu)勢,很好地滿足了實際工作的應用需求。
可編程邏輯器件;硬件描述語言;分頻;PWM死區(qū)時間
脈沖寬度調制技術(Pulse Width Modulation,PWM),即通過對一系列脈沖的寬度進行調制,來等效地獲得所需要波形的一種技術。作為一種利用數(shù)字輸出對模擬電路進行控制的非常有效的方法,PWM在測量、通信、功率變換等諸多領域中已經得到了廣泛的應用。而在電力電子技術的整流和逆變中,帶死區(qū)的PWM可以防止兩個IGBT不會因為開關速度問題導致同時導通,避免了半橋元件因為沒有及時關斷而造成的功率元件燒毀。
在之前的PWM死區(qū)時間設計中,應用多個數(shù)字芯片的組合電路來輸出帶死區(qū)的PWM,通過調節(jié)電位器手動控制死區(qū)時間的長短。盡管控制方式直觀簡單,但硬件電路結構復雜,抗干擾能力差,保密性差,功耗高,且不能精確控制PWM死區(qū)時間。所以本研究采用Altera公司的MAX3000A系列的CPLD芯片(EPM3032ATC44-7)來實現(xiàn)對死區(qū)時間的精確控制。通過VHDL對不同的功能模塊進行描述,修改程序可方便的修改死區(qū)時長,最終獲得兩路帶死區(qū)的互補PWM輸出。
本設計使用的軟件是Altera公司的Quartus II ,內嵌自有的綜合器以及仿真器,可以完成從設計輸入到硬件配置的完整設計流程。
CPLD芯片內部邏輯總框圖如圖1所示。因為本設計的PWM死區(qū)控制有著不同的應用場合,所以設置了兩種輸入方式:一種是由外部輸入的PWM_IN,用在有硬件電路板間級連的場合。另一種是外部48 MHz有源晶振通過CPLD內部分頻模塊(frequency)得到輸入信號。48 MHz有源晶振同時作為芯片的外部時鐘。硬件電路上設有上拉和下拉電阻控制選擇模塊(21mux)選擇輸入方式。rST為芯片使能引腳。死區(qū)控制模塊(deadzone)應用VHDL硬件描述語言實現(xiàn)對輸入的方波信號進行延時操作,最后輸出帶死區(qū)的兩路互補PWM輸出信號。若要改變輸入信號的頻率或者死區(qū)時長,只需修改分頻模塊和死區(qū)控制模塊中的程序參數(shù)即可。
圖1 CPLD內部邏輯
3.1 輸入選擇模塊
在輸入選擇模塊21mux中,A,B為兩路輸入,S為選擇控制端。當S端電平置高,即CPLD芯片外接上拉電阻時輸出Y=A,選擇PWM_IN作為輸入。當S端為低電平,即CPLD芯片外接下拉電阻時輸出Y=B,選擇有源晶振分頻方式輸入。
3.2 分頻模塊
分頻模塊即圖1的frequency模塊。在分頻得到PWM輸入的設計中,本研究采用十一位計數(shù)器,外接有源晶振為48 MHz。本研究應用場合需要的是12 kHz的PWM信號,所以對48 MHz有源晶振進行4 000分頻。分頻功能模塊將會由調試成功后的VHDL程序通過軟件生成。修改countq_temp的值便可更改輸入信號的頻率。
分頻模塊的VHDL程序設計如下所示:
architecture fen of frequency is
signal countq_temp: std_logic_vector(10 downto 0);
3.3 死區(qū)控制模塊
兩個死區(qū)控制模塊即圖1中的deadzone模塊,模塊輸入為完全互補的PWM信號。在死區(qū)控制模塊中,對輸入信號wave上升沿延時輸出,下降沿不進行操作。采用8位計數(shù)器,因為外部時鐘為48 MHz,所以最長延時5.33 μs,即最大死區(qū)時長為5.33 μs,這樣便得到了帶死區(qū)的兩路互補PWM信號。同樣修改countq_temp的參數(shù)值便可得到不同的死區(qū)時長。
死區(qū)控制模塊的VHDL程序設計如下所示:
4.1 軟件仿真
完成上述設計過程后,使用Quartus II自帶的仿真器進行功能仿真。仿真結果如圖2所示。
圖2 軟件仿真結果
本次仿真中,控制使能端rST取100 Hz方波,選擇模塊控制端CTR取1 kHz方波,PWM_IN輸入為12 kHz方波,時鐘CLK為48 MHz有源晶振。當使能端rST由高電平跳變到低電平,兩路輸出(PWM1_dead和PWM2_dead)均變?yōu)榱?。CTR控制著輸入方式的選擇。經過測量,生成的兩路互補PWM的死區(qū)時長為5.3 μs。仿真結果和設計結果一致。
4.2 硬件實現(xiàn)
對PWM死區(qū)生成部分進行硬件電路焊接。首先在硬件電路上焊接上拉電阻,選擇PWM_IN作為信號輸入并觀察兩路輸出信號波形,再換為下拉電阻選擇有源晶振輸入方式進行同樣的波形觀察。示波器的輸出波形分別如圖3—4所示,圖3為PWM_IN作為輸入的波形情況,圖4為有源晶振分頻作為輸入的波形情況。
在圖3—4的波形圖中,CH1和CH2兩通道為兩路輸出波形,紫色的CH3為所加的使能端rST波形。在圖中下半部分每格代表1 μs,經測量死區(qū)時長為5.3 μs,與設計及仿真結果一致。
本文通過理論設計,Quartus II仿真分析和硬件實現(xiàn)說明了基于CPLD芯片精確控制PWM死區(qū)時間的可行性。整個方案實現(xiàn)簡單,死區(qū)時長控制精確,抗干擾能力強,達到了設計初期預想的效果。此方法可以針對不同的應用場合適時的調整CPLD的內部邏輯和VHDL語言控制來達到很好的應用效果,可以廣泛運用在電力電子的整流、逆變過程和其他的場合中。
圖3 PWM_IN輸入,rST=100 Hz時的輸出波形
圖4 有源晶振作輸入 rST=100 Hz時的輸出波形
[1]王千文.EDA技術與VHDL程序開發(fā)教程 [M].北京:清華大學出版社,2014.
[2]周潤景.VHDL數(shù)字電路設計實用教程[M].北京:北京航空航天大學出版社,2014.
[3]代金龍.基于VHDL語言和FPGA的電子密碼鎖[D].內蒙古:內蒙古大學,2015.
[4]趙魯,李耀華,葛瓊璇,等.單相PWM整流器死區(qū)補償方法[J].電機與控制學報,2015(6):6-13.
[5]周俊鵬,李焱.機載平臺下功率級驅動及PWM死區(qū)控制的研究[J].微特電機,2014(10):35-38.
[6]田生宏,田培成.可編程邏輯器件CPLD和FPGA的特點和應用[J].科技視界,2015(18):134-134.
[7]黃招彬,游林儒,汪兆棟等.一種考慮死區(qū)與最小脈寬限制的IPWM算法[J].電工技術學報,2014(12):11-18.
[8]孫保良.基于DSP2812和SVPWM控制的三相整流器研究[J].儀表技術,2015(1):48-50.
[9]龐佑兵,呂果,馬朝驥.脈寬調制放大器死區(qū)技術研究[J].微電子學,2014(4):459-462.
[10]張明,肖波.基于CPLD的分頻器設計與實現(xiàn)[J].工業(yè)控制計算機,2015(6):175-176.
Implementation of precisely controlling PWM dead-time based on CPLD
Meng Yongxiang, Wu Qingshou
(College of Mechanical and Electronic Engineering, Shandong University of Science and Technology, Qingdao 266590, China)
Focusing on the shortcomings:not accurate and not convenient of the PWM dead time generated by discrete components of the logic circuit,this article introduces an implementation of the design based on the programmable logic device’s precise control of dead time.The input signals can be provided by an external source or be obtained by dividing the crystal.And the description language of VHDL hardware can be online programming, outputting the PWM signals in two complementary dead zones. This scheme has a simple hardware circuit, accurate delay control and strong antiinterference ability which better meet the application requirements of the actual work.
programmable logic device; hardware description language; frequency division; PWM dead time
孟雍祥(1990— ),男,山東淄博,碩士研究生;研究方向:測試計量技術及儀器。
*通訊作者:吳清收(1969— ),男,山東臨沂,副教授,碩士生導師;研究方向:測控技術。