孟雍祥,吳清收
(山東科技大學(xué) 機(jī)械電子工程學(xué)院,山東 青島 266590)
基于CPLD精確控制PWM死區(qū)時(shí)間的實(shí)現(xiàn)
孟雍祥,吳清收
(山東科技大學(xué) 機(jī)械電子工程學(xué)院,山東 青島 266590)
針對(duì)采用分立元件邏輯電路生成的PWM死區(qū)時(shí)間的不精確和修改時(shí)不便利的缺點(diǎn),文章介紹了一種基于可編程邏輯器件精確控制死區(qū)時(shí)間的設(shè)計(jì)實(shí)現(xiàn)方案。輸入信號(hào)可由外部提供也可以由有源晶振分頻獲得,采用VHDL硬件描述語言可在線編程,輸出兩路互補(bǔ)帶死區(qū)的PWM信號(hào)。該方案具有硬件電路結(jié)構(gòu)簡(jiǎn)單,延時(shí)控制準(zhǔn)確,抗干擾能力強(qiáng)的優(yōu)勢(shì),很好地滿足了實(shí)際工作的應(yīng)用需求。
可編程邏輯器件;硬件描述語言;分頻;PWM死區(qū)時(shí)間
脈沖寬度調(diào)制技術(shù)(Pulse Width Modulation,PWM),即通過對(duì)一系列脈沖的寬度進(jìn)行調(diào)制,來等效地獲得所需要波形的一種技術(shù)。作為一種利用數(shù)字輸出對(duì)模擬電路進(jìn)行控制的非常有效的方法,PWM在測(cè)量、通信、功率變換等諸多領(lǐng)域中已經(jīng)得到了廣泛的應(yīng)用。而在電力電子技術(shù)的整流和逆變中,帶死區(qū)的PWM可以防止兩個(gè)IGBT不會(huì)因?yàn)殚_關(guān)速度問題導(dǎo)致同時(shí)導(dǎo)通,避免了半橋元件因?yàn)闆]有及時(shí)關(guān)斷而造成的功率元件燒毀。
在之前的PWM死區(qū)時(shí)間設(shè)計(jì)中,應(yīng)用多個(gè)數(shù)字芯片的組合電路來輸出帶死區(qū)的PWM,通過調(diào)節(jié)電位器手動(dòng)控制死區(qū)時(shí)間的長(zhǎng)短。盡管控制方式直觀簡(jiǎn)單,但硬件電路結(jié)構(gòu)復(fù)雜,抗干擾能力差,保密性差,功耗高,且不能精確控制PWM死區(qū)時(shí)間。所以本研究采用Altera公司的MAX3000A系列的CPLD芯片(EPM3032ATC44-7)來實(shí)現(xiàn)對(duì)死區(qū)時(shí)間的精確控制。通過VHDL對(duì)不同的功能模塊進(jìn)行描述,修改程序可方便的修改死區(qū)時(shí)長(zhǎng),最終獲得兩路帶死區(qū)的互補(bǔ)PWM輸出。
本設(shè)計(jì)使用的軟件是Altera公司的Quartus II ,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整設(shè)計(jì)流程。
CPLD芯片內(nèi)部邏輯總框圖如圖1所示。因?yàn)楸驹O(shè)計(jì)的PWM死區(qū)控制有著不同的應(yīng)用場(chǎng)合,所以設(shè)置了兩種輸入方式:一種是由外部輸入的PWM_IN,用在有硬件電路板間級(jí)連的場(chǎng)合。另一種是外部48 MHz有源晶振通過CPLD內(nèi)部分頻模塊(frequency)得到輸入信號(hào)。48 MHz有源晶振同時(shí)作為芯片的外部時(shí)鐘。硬件電路上設(shè)有上拉和下拉電阻控制選擇模塊(21mux)選擇輸入方式。rST為芯片使能引腳。死區(qū)控制模塊(deadzone)應(yīng)用VHDL硬件描述語言實(shí)現(xiàn)對(duì)輸入的方波信號(hào)進(jìn)行延時(shí)操作,最后輸出帶死區(qū)的兩路互補(bǔ)PWM輸出信號(hào)。若要改變輸入信號(hào)的頻率或者死區(qū)時(shí)長(zhǎng),只需修改分頻模塊和死區(qū)控制模塊中的程序參數(shù)即可。
圖1 CPLD內(nèi)部邏輯
3.1 輸入選擇模塊
在輸入選擇模塊21mux中,A,B為兩路輸入,S為選擇控制端。當(dāng)S端電平置高,即CPLD芯片外接上拉電阻時(shí)輸出Y=A,選擇PWM_IN作為輸入。當(dāng)S端為低電平,即CPLD芯片外接下拉電阻時(shí)輸出Y=B,選擇有源晶振分頻方式輸入。
3.2 分頻模塊
分頻模塊即圖1的frequency模塊。在分頻得到PWM輸入的設(shè)計(jì)中,本研究采用十一位計(jì)數(shù)器,外接有源晶振為48 MHz。本研究應(yīng)用場(chǎng)合需要的是12 kHz的PWM信號(hào),所以對(duì)48 MHz有源晶振進(jìn)行4 000分頻。分頻功能模塊將會(huì)由調(diào)試成功后的VHDL程序通過軟件生成。修改countq_temp的值便可更改輸入信號(hào)的頻率。
分頻模塊的VHDL程序設(shè)計(jì)如下所示:
architecture fen of frequency is
signal countq_temp: std_logic_vector(10 downto 0);
3.3 死區(qū)控制模塊
兩個(gè)死區(qū)控制模塊即圖1中的deadzone模塊,模塊輸入為完全互補(bǔ)的PWM信號(hào)。在死區(qū)控制模塊中,對(duì)輸入信號(hào)wave上升沿延時(shí)輸出,下降沿不進(jìn)行操作。采用8位計(jì)數(shù)器,因?yàn)橥獠繒r(shí)鐘為48 MHz,所以最長(zhǎng)延時(shí)5.33 μs,即最大死區(qū)時(shí)長(zhǎng)為5.33 μs,這樣便得到了帶死區(qū)的兩路互補(bǔ)PWM信號(hào)。同樣修改countq_temp的參數(shù)值便可得到不同的死區(qū)時(shí)長(zhǎng)。
死區(qū)控制模塊的VHDL程序設(shè)計(jì)如下所示:
4.1 軟件仿真
完成上述設(shè)計(jì)過程后,使用Quartus II自帶的仿真器進(jìn)行功能仿真。仿真結(jié)果如圖2所示。
圖2 軟件仿真結(jié)果
本次仿真中,控制使能端rST取100 Hz方波,選擇模塊控制端CTR取1 kHz方波,PWM_IN輸入為12 kHz方波,時(shí)鐘CLK為48 MHz有源晶振。當(dāng)使能端rST由高電平跳變到低電平,兩路輸出(PWM1_dead和PWM2_dead)均變?yōu)榱?。CTR控制著輸入方式的選擇。經(jīng)過測(cè)量,生成的兩路互補(bǔ)PWM的死區(qū)時(shí)長(zhǎng)為5.3 μs。仿真結(jié)果和設(shè)計(jì)結(jié)果一致。
4.2 硬件實(shí)現(xiàn)
對(duì)PWM死區(qū)生成部分進(jìn)行硬件電路焊接。首先在硬件電路上焊接上拉電阻,選擇PWM_IN作為信號(hào)輸入并觀察兩路輸出信號(hào)波形,再換為下拉電阻選擇有源晶振輸入方式進(jìn)行同樣的波形觀察。示波器的輸出波形分別如圖3—4所示,圖3為PWM_IN作為輸入的波形情況,圖4為有源晶振分頻作為輸入的波形情況。
在圖3—4的波形圖中,CH1和CH2兩通道為兩路輸出波形,紫色的CH3為所加的使能端rST波形。在圖中下半部分每格代表1 μs,經(jīng)測(cè)量死區(qū)時(shí)長(zhǎng)為5.3 μs,與設(shè)計(jì)及仿真結(jié)果一致。
本文通過理論設(shè)計(jì),Quartus II仿真分析和硬件實(shí)現(xiàn)說明了基于CPLD芯片精確控制PWM死區(qū)時(shí)間的可行性。整個(gè)方案實(shí)現(xiàn)簡(jiǎn)單,死區(qū)時(shí)長(zhǎng)控制精確,抗干擾能力強(qiáng),達(dá)到了設(shè)計(jì)初期預(yù)想的效果。此方法可以針對(duì)不同的應(yīng)用場(chǎng)合適時(shí)的調(diào)整CPLD的內(nèi)部邏輯和VHDL語言控制來達(dá)到很好的應(yīng)用效果,可以廣泛運(yùn)用在電力電子的整流、逆變過程和其他的場(chǎng)合中。
圖3 PWM_IN輸入,rST=100 Hz時(shí)的輸出波形
圖4 有源晶振作輸入 rST=100 Hz時(shí)的輸出波形
[1]王千文.EDA技術(shù)與VHDL程序開發(fā)教程 [M].北京:清華大學(xué)出版社,2014.
[2]周潤(rùn)景.VHDL數(shù)字電路設(shè)計(jì)實(shí)用教程[M].北京:北京航空航天大學(xué)出版社,2014.
[3]代金龍.基于VHDL語言和FPGA的電子密碼鎖[D].內(nèi)蒙古:內(nèi)蒙古大學(xué),2015.
[4]趙魯,李耀華,葛瓊璇,等.單相PWM整流器死區(qū)補(bǔ)償方法[J].電機(jī)與控制學(xué)報(bào),2015(6):6-13.
[5]周俊鵬,李焱.機(jī)載平臺(tái)下功率級(jí)驅(qū)動(dòng)及PWM死區(qū)控制的研究[J].微特電機(jī),2014(10):35-38.
[6]田生宏,田培成.可編程邏輯器件CPLD和FPGA的特點(diǎn)和應(yīng)用[J].科技視界,2015(18):134-134.
[7]黃招彬,游林儒,汪兆棟等.一種考慮死區(qū)與最小脈寬限制的IPWM算法[J].電工技術(shù)學(xué)報(bào),2014(12):11-18.
[8]孫保良.基于DSP2812和SVPWM控制的三相整流器研究[J].儀表技術(shù),2015(1):48-50.
[9]龐佑兵,呂果,馬朝驥.脈寬調(diào)制放大器死區(qū)技術(shù)研究[J].微電子學(xué),2014(4):459-462.
[10]張明,肖波.基于CPLD的分頻器設(shè)計(jì)與實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),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— ),男,山東淄博,碩士研究生;研究方向:測(cè)試計(jì)量技術(shù)及儀器。
*通訊作者:吳清收(1969— ),男,山東臨沂,副教授,碩士生導(dǎo)師;研究方向:測(cè)控技術(shù)。