軟開(kāi)關(guān)技術(shù)近年來(lái)已經(jīng)得到了深入,廣泛的研究并且發(fā)展迅速。但在各種軟開(kāi)關(guān)電路中,使開(kāi)關(guān)管實(shí)現軟開(kāi)關(guān)的觸發(fā)脈沖比較特殊:例如在典型的Boost ZCT—PWM電路中,主開(kāi)關(guān)管的觸發(fā)脈沖超前于輔助開(kāi)關(guān)管的觸發(fā)脈沖,兩者雖然頻率相同,但占空比不同。在實(shí)驗中發(fā)現,利用Cvgnal公司的C8051F系列單片機可以方便地產(chǎn)生此種軟開(kāi)關(guān)用的、多路占空比不等的移相PWM脈沖。 1 C805lF系列單片機可編程計數器陣列PCA簡(jiǎn)介 圖1為PCA原理框圖,以C8051F040為例,PCA包含1個(gè)專(zhuān)用的16位計數器/定時(shí)器和6個(gè)16位捕捉/比較模塊。從圖1中可見(jiàn),16位PCA專(zhuān)用計數器/定時(shí)器的時(shí)基信號可有多種選擇,可通過(guò)配置相關(guān)的系統控制器的特殊功能寄存器(SFR)來(lái)實(shí)現。每個(gè)捕捉/比較模塊有自己的I/O線(xiàn)CEXn,可通過(guò)配制交叉開(kāi)關(guān)寄存器(XBR。)將每個(gè)模塊的I/O線(xiàn)連接到端口I/0;每個(gè)模塊都可配制為獨立工作,有4種工作方式:邊沿觸發(fā)捕捉方式、軟件定時(shí)器比較方式、高速輸出和脈寬調制器。本文中產(chǎn)生多路占空比不等的移相PWM是使用了捕捉/比較模塊的高速輸出工作方式,其原理如圖2所示。 PCAOL和PCAOH分別為系統16位PCA計數器/定時(shí)器的低8位和高8位,PCAOCPLn和PCAOCPHn分別為捕捉/比較模塊寄存器低8位和高8位。在高速輸出方式下,配制模塊工作方式的寄存器PCA0CPM值如圖2中所示。當系統PCA計數器/定時(shí)器與模塊寄存器值發(fā)生匹配時(shí),模塊的CEXn引腳上的邏輯電平將發(fā)生變化,如果將相應模塊的I/0線(xiàn)CEXn連接到端口I/0,單片機相應端口輸出電平即發(fā)生變化,這就可實(shí)現PWM脈沖的高、低電平輸出。每個(gè)模塊的工作是單獨進(jìn)行的,需要的CPU干預較少,這就可同時(shí)輸出多路PWM。 控制寄存器PCAOCN中,CF是當PCA計數器/定時(shí)器溢出時(shí),由硬件置位,如CF中斷被允許則此時(shí)CPU轉向CF中斷服務(wù)程序,該位只能由軟件清零。CR置1是允許PCA計數器/定時(shí)器工作,置O是禁止。CCF0~CCF5是模塊捕捉比較標志,當匹配發(fā)生時(shí),該位由硬件置位,如CCF中斷被允許則此時(shí)CPU轉向相應CCF中斷服務(wù)程序,該位只能由軟件清零。 可見(jiàn)要產(chǎn)生多路移相PWM,可允許多個(gè)捕捉/比較模塊同時(shí)工作,當發(fā)生匹配即電平轉換時(shí),允許CPU轉向CCF中斷服務(wù)程序,在中斷服務(wù)程序中,將相應的數值偏移量與寄存器PCAOCPLn和PCAOCPHn值相加,這一數值偏移量便決定了下一次匹配的時(shí)間,PWM的高、低電平脈寬便由各自相應的數值偏移量決定。 2 軟件系統設計及編程語(yǔ)言的選擇 系統主程序框圖如圖3所示。 在針對具體電路應用時(shí),須加入主開(kāi)關(guān)管PWM觸發(fā)脈沖調節子程序,根據輸出電壓采樣反饋來(lái)調節其占空比以保證輸出電壓穩定。在選擇編程語(yǔ)言時(shí),同時(shí)用C51和匯編語(yǔ)言來(lái)產(chǎn)生2路移相PWM,并作了比較。比較如下:設定開(kāi)關(guān)頻率為20kHz,主開(kāi)關(guān)管觸發(fā)脈沖占空比為50%,輔助管為20%并滯后于主開(kāi)關(guān)管2lμs開(kāi)通。進(jìn)入CCF中斷服務(wù)程序后,CPU進(jìn)行捕捉/比較模塊寄存器偏移量計算時(shí),以模塊0計算主開(kāi)關(guān)管高電壓脈寬偏移量為例,C51語(yǔ)句為: tempI=(PCA0CPH0《8)lPCA0CPLO;//取寄存器當前值 temp1+=0x0271: //上升沿,加上高電壓脈寬 PCA0CPLO=(0Xff%26;amp;(temp1); PCAOCPH0=[0xff%26;amp;(temp》8)];//計算結果返回寄存器 編譯后的語(yǔ)句執行過(guò)程為: MOV R7,FCH MOV A,R7 MOV R3,FBH MOV 0CH,A MOV A,R3 MOV 0DH,A ADD A,#7lH MOV 0DH,A MOk A,#02H ADDC A,OCH//以上取害存器當前值,并加上高電壓脈寬計算 MOV OCH,A MOV A,0DH MOV FBH,A M0V A,OCH MOV FCH,A//計算結果返回寄存器 直接使用匯編語(yǔ)言實(shí)現相同功能時(shí),匯編語(yǔ)句為 mllV A,R0 add A,#071h mov R0,A clr A addc A,Rl add A,#02h mov R1,A mov PCAOCPLO,R0 mov PCAOCPHO,Rl 編譯后的語(yǔ)句執行過(guò)程為 MOV A,RO ADD A,#71H MOV R0,A CLR A AkDDC A,Rl ADD A,#02H MOV R1,A MOV FBH,R0 MOV FCH,Rl 通過(guò)比較中斷服務(wù)程序處理過(guò)程可見(jiàn),C51的執行過(guò)程中有些地址只是作為數據存取的中轉,另外,還有大量的堆棧操作未在文中給出,這增加了CPU處理CCF中斷的時(shí)鐘周期,如果幾個(gè)中斷優(yōu)先級相同的CCF中斷發(fā)生的時(shí)間間隔過(guò)短,就會(huì )造成程序跑飛。使用匯編語(yǔ)言編程,在單片機時(shí)鐘頻率為24.5MHz時(shí),其中斷服務(wù)程序最少用時(shí)約為35個(gè)時(shí)鐘周期,而C51用時(shí)大概為其2倍。因此,用匯編語(yǔ)言編程可實(shí)現的PWM頻率和移相范圍都要高于C51。 3 實(shí)驗結果 1)針對主、輔開(kāi)關(guān)管均實(shí)現軟開(kāi)關(guān)的新型Boost ZCT—PWM電路[圖4(a)]需要的兩路移相PWM觸發(fā)脈沖,用C8051單片機產(chǎn)生了所需觸發(fā)脈沖[圖4(b)],并對此Boost電路作了實(shí)驗。單片機端口J/0為低電平有效,故圖4(b)所示是經(jīng)非門(mén)反相后的信號。實(shí)驗電路參數:Vin=24V,Vo=48V,輸出功率100W,Lf=5mH,L1=4μH,La=6μH,Ca=1μF,Cf200μF。實(shí)驗結果如圖5所示。 從圖5實(shí)驗結果可見(jiàn),主、輔開(kāi)關(guān)管均實(shí)現了零電流開(kāi)通和關(guān)斷,表明單片機產(chǎn)生的移相PWM觸發(fā)脈沖能保證電路實(shí)現預期的全軟開(kāi)關(guān)效果。 2)專(zhuān)用移相控制芯片如UC3879,在軟開(kāi)關(guān)全橋PWM變換器(如圖6所示)中有很廣泛的應用。本實(shí)驗實(shí)現單片機輸出4路PWM脈沖,頻率為50kHz,每路占空比為40%,同一橋臂開(kāi)關(guān)管死區時(shí)間設定為2μs,橋臂S1、S4為一組,S2、S3為一組,實(shí)驗結果如圖7所示。 從以上實(shí)驗結果可見(jiàn),所產(chǎn)生的PWM脈沖波形頻率和相移精確度高,波形理想。 4 結語(yǔ) 通過(guò)C805l單片機的可編程計數器列陣PCA產(chǎn)生移相PWM脈沖,可根據實(shí)際應用所需產(chǎn)生相應脈沖路數,頻率高,移相范圍廣,精確可靠,可應用于多種軟開(kāi)關(guān)實(shí)驗或者實(shí)際電路中。 |