一種新型數(shù)字SPWM信號(hào)的設(shè)計(jì)與實(shí)現(xiàn)
摘要:為了有效地降低逆變器負(fù)載的諧波,并且防止同一橋臂的功率放大管出現(xiàn)直通現(xiàn)象,設(shè)計(jì)了一種基于FPGA的新型數(shù)字SPWM波形產(chǎn)生方案。結(jié)合直接數(shù)字頻率合成技術(shù),在FPGA內(nèi)部采用硬件描述語言生成數(shù)字的正弦波和三角波,然后采用了比較的方法直接產(chǎn)生所需要的SPWM波形。創(chuàng)新性為運(yùn)用了數(shù)字正弦波或三角波的平移技術(shù)產(chǎn)生所要求的死區(qū),最后提出了數(shù)字方法產(chǎn)生SPWM波形的幾個(gè)技術(shù)難點(diǎn)的解決方法。
關(guān)鍵詞:FPGA;SPWM;直接數(shù)字頻率合成;死區(qū)產(chǎn)生
0 引言
PWM(Pulse Width Modulation)是通過調(diào)節(jié)輸出波形的脈沖寬度來改變輸出電壓大小的一種調(diào)制方法,在交流傳動(dòng)、電力拖動(dòng)系統(tǒng)和控制領(lǐng)域有著廣泛的用途,但采用PWM調(diào)制技術(shù)在負(fù)載上的電流波形是非正弦波,這就使負(fù)載上具有很多的高次諧波成份,對(duì)系統(tǒng)的指標(biāo)和穩(wěn)定性造成很大的危害。正弦型脈寬調(diào)制(Sinusoidal Pulse Width Modulation,SPWM)是一種使輸出的PWM波形按正弦的規(guī)律進(jìn)行變化的技術(shù),從而大大的提高了后級(jí)功率開關(guān)器件的穩(wěn)定性和系統(tǒng)的效率。常見的SPWM波形產(chǎn)生方法主要有兩種:一種是利用專門的SPWM產(chǎn)生芯片如TMS320 F2812來產(chǎn)生,這種方法的特點(diǎn)是一次可以產(chǎn)生6路或12路SPWM信號(hào);另一種方法利用自然采樣法的原理,采用數(shù)字或模擬方法產(chǎn)生三角波和正弦波,再使用比較器對(duì)產(chǎn)生的三角波和正弦波進(jìn)行比較而得到SPWM波,這種方法產(chǎn)生SPWM波的路數(shù)比較靈活,電路原理簡(jiǎn)單,但具體實(shí)現(xiàn)比較復(fù)雜。
1971年3月,美國(guó)學(xué)者J.Tiemcy,C.M.Rader和B.Gold提出了從相位概念出發(fā)直接合成所需波形的一種新的頻率合成原理,稱之為直接數(shù)字頻率合成器(DDS)。DDS技術(shù)是一種直接數(shù)字合成方法,不需要振蕩和鎖相環(huán)節(jié),直接將波形函數(shù)進(jìn)行離散化,以時(shí)間為地址,幅度為量化數(shù)據(jù),依次存入波形存儲(chǔ)器,使連續(xù)的數(shù)據(jù)流通過數(shù)/模轉(zhuǎn)換器產(chǎn)生需要的波形。本文利用FPGA內(nèi)部的DDS模塊產(chǎn)生離散化的正弦波和三角波,進(jìn)而產(chǎn)生數(shù)字的SPWM波形,再經(jīng)過死區(qū)產(chǎn)生、脈沖消去處理后就得到了可以驅(qū)動(dòng)后級(jí)功率放大管的驅(qū)動(dòng)信號(hào),利用該方法可以靈活的產(chǎn)生所需的任意調(diào)制比和載波比的SPWM波形,并且可以使負(fù)載上諧波含量大大減小,有效的保證了整個(gè)系統(tǒng)的穩(wěn)定性。
1 SPWM波形的FPGA實(shí)現(xiàn)
根據(jù)SPWM自然采樣法的原理,產(chǎn)生適合逆變器功率放大管所需的SPWM信號(hào)的電路主要包括正弦波產(chǎn)生模塊、三角波產(chǎn)生模塊、比較和死區(qū)產(chǎn)生模塊和脈沖消去模塊,它們之間的關(guān)系如圖1所示。
正弦波產(chǎn)生模塊根據(jù)主控制器傳來的頻率控制字從ROM表中讀出相應(yīng)的正弦波的離散值,同樣,三角波產(chǎn)生模塊根據(jù)頻率控制字從存儲(chǔ)三角波的ROM表中讀出三角波的離散值,比較器和死區(qū)產(chǎn)生模塊根據(jù)傳來的正弦波和三角波的離散值進(jìn)行比較,直接進(jìn)行比較產(chǎn)生上橋臂驅(qū)動(dòng)信號(hào),將正弦波離散值或三角波離散值加上一個(gè)特定的值或減去一個(gè)特定值再和三角波進(jìn)行比較,產(chǎn)生上橋臂對(duì)應(yīng)的下橋臂驅(qū)動(dòng)信號(hào),這時(shí)產(chǎn)生的信號(hào)已經(jīng)是帶死區(qū)的SPWM信號(hào),再經(jīng)過脈沖消去模塊,消去功率器件來不及反應(yīng)的窄的驅(qū)動(dòng)信號(hào),最后就可以得到直接驅(qū)動(dòng)逆變器的一對(duì)SPWM信號(hào)。
1.1 波形產(chǎn)生模塊
DDS技術(shù)是一種全數(shù)字的頻率合成技術(shù),是將已知的信號(hào)經(jīng)過取樣、量化,形成可供查詢的數(shù)據(jù)表存于數(shù)據(jù)ROM中,通過改變頻率控制字來改變輸出所需頻率的一種技術(shù)。如圖2所示,DDS主要由頻率控制字、累加器、相位寄存器、時(shí)鐘源、加法器、相位控制字、波形查找表、DAC和LPF等模塊組成。但因本設(shè)計(jì)不需要模擬信號(hào),直接使用其中的數(shù)字信號(hào),故不需要DAC和LPF模塊,全部在FPGA內(nèi)部數(shù)字化實(shí)現(xiàn)。數(shù)字三角波的產(chǎn)生和數(shù)字正弦波的產(chǎn)生一樣,惟一不同就是在波形表中用量化后的三角波數(shù)據(jù)代替正弦波數(shù)據(jù)。
DDS的FPGA實(shí)現(xiàn)非常簡(jiǎn)單,波形存儲(chǔ)器直接調(diào)用芯片的ROM模塊,先把正弦信號(hào)量化,為了精確,這里采用一個(gè)周期量化2 048個(gè)點(diǎn),用Madab編寫正弦波和三角波的量化程序,按照FPGA的mif文件編寫格式,處理后再?gòu)?fù)制到記事本中加上表頭和結(jié)尾,保存為mif格式后,在ROM模塊中初始化指向這個(gè)文件即可。從波形查找表中讀出的數(shù)字正弦值信號(hào)就可以作為比較器和死區(qū)產(chǎn)生模塊的輸入了。數(shù)字三角波模塊和正弦波模塊生成的方法相同,不再贅述。
1.2 比較器和死區(qū)產(chǎn)生模塊
功率放大管的價(jià)格較昂貴,為了避免同一橋臂的兩個(gè)功率放大管同時(shí)導(dǎo)通而導(dǎo)致直通故障,就要在激勵(lì)信號(hào)中設(shè)置可靠的保護(hù),一般采用在驅(qū)動(dòng)信號(hào)的開通和關(guān)斷時(shí)刻加入延遲時(shí)間來保護(hù)功率放大管,即功率放大管驅(qū)動(dòng)信號(hào)的死區(qū)時(shí)間。死區(qū)時(shí)間的時(shí)間設(shè)置與采用的功率放大管的制造工藝等有關(guān),技術(shù)越進(jìn)步,所要求的死區(qū)時(shí)間就越短,反之則需要較長(zhǎng)的死區(qū)時(shí)間才能保證功放管的安全工作。本設(shè)計(jì)采用的死區(qū)控制策略是:“提前關(guān)斷、延遲導(dǎo)通”,如圖3所示,在單相兩路的系統(tǒng)中,對(duì)于第一路是將原始脈沖的上升沿的時(shí)間推遲一段時(shí)間(死區(qū)時(shí)間),下降沿不變,而第二通道是把原始脈沖先反相,反相后的脈沖下降沿不變,而上升沿推遲一段時(shí)間(死區(qū)時(shí)間)。
軟件實(shí)現(xiàn)方法與脈沖消去方法大致相同,一般都是設(shè)計(jì)一個(gè)加減計(jì)數(shù)器,根據(jù)死區(qū)時(shí)間來確定加減計(jì)數(shù)器的最大值d,由計(jì)數(shù)器的最大值d來確定死區(qū)時(shí)間。這種實(shí)現(xiàn)方法是一般的實(shí)現(xiàn)方法,本設(shè)計(jì)提出了一種新型的死區(qū)產(chǎn)生方法,如圖4所示,實(shí)線表示正常采用自然采樣法的正弦波形和三角波形,正弦波y=Ussin x的半波的幅度為Us,三角波的幅度為Ut,根據(jù)自然采樣法的原理,這里假定正弦波大于三角波時(shí)輸出為高電平,小于時(shí)輸出為低電平,根據(jù)正弦波和三角波的交點(diǎn)及電平輸出的判斷規(guī)則可以得到SPWM脈沖的第一路波形,這時(shí)把正弦波向上平移b個(gè)單位,如圖4中的虛線,正弦波形y=Ussin x變?yōu)閥=Ussinx+6,再根據(jù)自然采樣法的原理用平移后的正弦波和三角波相交,根據(jù)交點(diǎn)判斷輸出高低電平,這樣判斷輸出的電平高低就可以得到第二路的SPWM波形,生成了SPWM波形的死區(qū),在本設(shè)計(jì)中采用的是數(shù)字方法產(chǎn)生SPWM,根據(jù)圖4,可以在程序中按原來的方法產(chǎn)生第一路信號(hào),把從ROM中取出的正弦信號(hào)加上b,再和原來的方波信號(hào)進(jìn)行比較,這樣就可以得到第二路SPWM信號(hào),同樣道理,也可以把三角波向上平移b個(gè)單位來產(chǎn)生第二路SPWM信號(hào),但不管平移正弦波或三角波,都要保證平移后的正弦波的波形幅度要小于三角波的波形幅度。也可以設(shè)計(jì)第三個(gè)ROM,在程序外把經(jīng)過向上平移后的正弦波形進(jìn)行量化,存入ROM表中,在程序中用這個(gè)表和三角波的離散值進(jìn)行比較,只是這樣設(shè)計(jì)會(huì)增加FPGA硬件資源的消耗和增大存儲(chǔ)器的存儲(chǔ)空間。
正弦信號(hào)往上偏移值b的確定是根據(jù)死區(qū)時(shí)間的值來確定的,這個(gè)值越大,則死區(qū)時(shí)間也越長(zhǎng),所以,可以調(diào)節(jié)b的值來增大或減小死區(qū)時(shí)間。一對(duì)經(jīng)過死區(qū)處理后的SPWM波形如圖5所示,從圖5中可以看出,死區(qū)時(shí)間為16μs。
1.3 脈沖消去模塊
在產(chǎn)生的SPWM脈沖中,完整的SPWM脈沖序列包含了占空為從0~100%的脈沖,因此有些脈沖的寬度可以達(dá)到非常小,而實(shí)際上,過窄的脈沖是無用的,因?yàn)樵谶@樣短的脈沖持續(xù)時(shí)間內(nèi),后級(jí)的功率放大管是不能完全導(dǎo)通或關(guān)斷,只會(huì)增加功率器件的損耗,所以必須刪除這些不良窄波;如圖4所示,第二路的SPWM波形會(huì)出現(xiàn)比第一路SPWM波形小兩倍死區(qū)時(shí)間的脈沖,如果某個(gè)脈沖已經(jīng)在臨界的寬度了,經(jīng)過死區(qū)產(chǎn)生模塊就會(huì)變成一個(gè)對(duì)后級(jí)的功率管來說過窄的脈沖,這也就是脈沖消去模塊在死區(qū)模塊后級(jí)的原因,它的作用是消去一些本來就有的和經(jīng)過死區(qū)處理后的毛刺。處理后的波形如圖6所示,圖7為處理后的一對(duì)帶死區(qū)的SPWM波形。
不論采用這種方法產(chǎn)生的SPWM波形,還是利用加減計(jì)數(shù)器的方法來產(chǎn)生SPWM波形,經(jīng)過脈沖消去模塊,都會(huì)存在輸出的兩路SPWM脈沖不對(duì)稱性問題,如圖7所示,就是有可能其中一路的波形缺失或所對(duì)應(yīng)的另一路波形出現(xiàn)缺失,但這個(gè)問題可以在脈沖消去后再加一個(gè)模塊進(jìn)行處理而避免;對(duì)于載波頻率變小時(shí)負(fù)載諧波變大的問題可以參考器件參數(shù)采用一定頻率范圍內(nèi)的動(dòng)態(tài)載波比和動(dòng)態(tài)死區(qū)時(shí)間來解決。
2 結(jié)語
本文設(shè)計(jì)了一種基于FPGA的帶死區(qū)的SPWM波形產(chǎn)生技術(shù),對(duì)于SPWM的死區(qū)產(chǎn)生,一般都是應(yīng)用加減計(jì)數(shù)器來實(shí)現(xiàn),本文提出了一個(gè)新的選擇,把死區(qū)產(chǎn)生模塊融合到了比較模塊中,利用波形平移技術(shù),巧妙的產(chǎn)生了所要求死區(qū)時(shí)間的SPWM波形。生成的SPWM波形輸出給后級(jí)的功率放大電路,檢測(cè)系統(tǒng)負(fù)載上的電壓和電流波形為較好的正弦波形,很好地滿足了設(shè)計(jì)的要求。