模擬工程師以前在設(shè)計(jì)需要具有多路輸出,、動態(tài)負(fù)載共享,、熱插拔或廣泛故障處理能力的電源時(shí),往往需要與復(fù)雜性抗?fàn)?。利用模擬電路來實(shí)現(xiàn)系統(tǒng)控制功能并非總是經(jīng)濟(jì)有效或靈活的。采用模擬技術(shù)設(shè)計(jì)電源需要使用“過大的”元件來解決元件變化和元件漂移的問題,。即使是在克服了這些設(shè)計(jì)難點(diǎn)之后,,這些電源在生產(chǎn)線末端還需要進(jìn)行人工調(diào)整。
那么,,模擬工程師應(yīng)該選擇什么來設(shè)計(jì)電源呢,?工程學(xué)對這個(gè)問題的回答是利用功率轉(zhuǎn)換反饋環(huán)路的智能數(shù)字控制來實(shí)現(xiàn)上述功能。單片機(jī)已使模擬設(shè)計(jì)人員能夠?qū)崿F(xiàn)監(jiān)控,、控制,、通信甚至確定性功能(如電源中的上電時(shí)序、軟啟動和拓?fù)浣Y(jié)構(gòu)控制等),。不過,,由于缺乏經(jīng)濟(jì)有效的高性能技術(shù),以數(shù)字方式控制整個(gè)功率轉(zhuǎn)換環(huán)路還不太現(xiàn)實(shí),。
開關(guān)電源中的DSC設(shè)計(jì)
現(xiàn)在,,一種新型數(shù)字信號控制器(DSC)的問世使具有智能電源外設(shè)等功能的數(shù)字轉(zhuǎn)換成為可能,因?yàn)檫@種器件采用基于計(jì)數(shù)器的脈沖寬度調(diào)制(PWM)模塊,、基于模擬比較器的反饋和協(xié)調(diào)模數(shù)轉(zhuǎn)換器(ADC)采樣,,可以在一個(gè)單時(shí)鐘周期內(nèi)進(jìn)行快速乘法。這些特性的組合有助于DSC處理控制環(huán)路軟件所需的較高執(zhí)行速度,。
在開始進(jìn)行電源設(shè)計(jì)之前,,需要做出以下決擇。
1. 選擇一種適合應(yīng)用需要的拓?fù)浣Y(jié)構(gòu):升壓型還是降壓型(Boost還是Buck),,隔離式(正向,、半橋還是全橋),。
2. 選擇一種開關(guān)技術(shù): 硬開關(guān)還是軟開關(guān)。軟開關(guān)技術(shù)(如諧振模式或準(zhǔn)諧振模式),,以增加電路和控制的復(fù)雜程度為代價(jià),,換取較少的開關(guān)損耗。
3. 選擇一種控制方法:電壓模式還是電流模式,。
電壓模式控制和電流模式控制是基于傳統(tǒng)模擬開關(guān)電源(SMPS)控制技術(shù)的兩種控制方法,。在電壓模式條件下,利用期望的輸出電壓和實(shí)際的輸出電壓之間的差值(誤差)來控制電源電壓施加在電感器上的時(shí)間,,進(jìn)而間接地控制電感器中的電流,。在電流模式控制條件下,利用期望的輸出電壓和實(shí)際的輸出電壓之間的差值(誤差)為模擬比較器創(chuàng)建一個(gè)門限值來設(shè)置峰值電感電流,,從而控制平均電感電流,。電壓模式可以在噪聲環(huán)境中或?qū)捁ぷ鞣秶鷹l件下提供更高的穩(wěn)定性;電流模式控制可以實(shí)現(xiàn)逐周期的電流限制和更快的瞬態(tài)響應(yīng),,它還可防止可能導(dǎo)致電感器飽和并引起災(zāi)難性MOSFET故障的“逐步增加的電感電流”,。
4. 選擇PWM工作頻率。高頻PWM有助于使用更小的電感器和電容器,,但是需要額外付出開關(guān)損耗為代價(jià),。
5. 確定需要的控制帶寬。這在很大程度上取決于應(yīng)用所期待的負(fù)載瞬態(tài)響應(yīng),。
6.根據(jù)估計(jì)的控制帶寬需求來分配處理器資源,。雖然有多種控制算法,但是常用的技術(shù)仍是比例,、積分和微分(PID)方法,。使用常用PID算法,控制環(huán)路將需要以所需控制系統(tǒng)帶寬的八倍速度運(yùn)行,,以保證足夠的相位容限,。在估計(jì)控制環(huán)路的延遲時(shí),控制環(huán)路內(nèi)的所有延遲都必須考慮到(參見“計(jì)算控制環(huán)路的延遲”部分),。
接著,,選擇一個(gè)可以滿足您所有或大多數(shù)設(shè)計(jì)需求的DSC。
選擇采用Microchip的SMPS dsPIC DSC——dsPIC30F2020來設(shè)計(jì)一個(gè)同步降壓式轉(zhuǎn)換器,。這種DSC有一個(gè)硬開關(guān),,可提供互補(bǔ)PWM模式的電壓控制模式。這種降壓式轉(zhuǎn)換器(見圖1)采用同步開關(guān),,用一個(gè)MOSFET取代了電路中的整流器,,因?yàn)樗葮?biāo)準(zhǔn)整流器有低得多的正向電壓降。通過降低電壓降,,這種降壓式轉(zhuǎn)換器的整個(gè)效率可以提高5%~10%,。同步開關(guān)與Q2需要一個(gè)次級PWM信號來補(bǔ)充初級PWM信號,。當(dāng)Q1關(guān)斷時(shí),Q2接通,,反之亦然,。此外,在PWM信號的上升沿和下降沿期間,,需要利用“死區(qū)”控制來防止Q1和Q2同時(shí)導(dǎo)通,。
圖1 同步降壓式轉(zhuǎn)換器
降壓式轉(zhuǎn)換器的輸入與輸出電壓的關(guān)系可以表示為:
VOUT = VIN ( D,其中 D = PWM占空比 = TON /(TON + TOFF)
一個(gè)降壓式轉(zhuǎn)換器理想的輸出電壓是輸入電壓與晶體管占空比的乘積,。通過檢測(見圖1),,如果晶體管Q1是常通的,輸出電壓將等于輸入電壓,。如果Q1是常斷的,,那么輸出電壓將為零。實(shí)際上,,當(dāng)負(fù)載電流增加時(shí),,晶體管和電感器兩端存在的電壓降將會增加。圖2給出了如何使用DSC設(shè)計(jì)數(shù)字SMPS控制系統(tǒng),。
圖2 用于同步降壓式轉(zhuǎn)換器的典型SMPS控制系統(tǒng)
采樣保持(S/H)電路通常每2~10ms進(jìn)行一次采樣,,ADC需要大約500ns將模擬反饋信號轉(zhuǎn)換成為數(shù)字值。PID控制器是一種運(yùn)行于DSC的程序,,有大約1~2ms的計(jì)算延遲。該控制器輸出可以轉(zhuǎn)換為一個(gè)PWM信號,,由它來驅(qū)動開關(guān)電路,。當(dāng)進(jìn)入新的占空比時(shí),如果PWM發(fā)生器不能立即更新其輸出,,就可能出現(xiàn)明顯的延遲,。晶體管驅(qū)動器和相關(guān)的晶體管也會引入大約50ns到1微秒的延遲,其長短因使用的器件和電路設(shè)計(jì)而異,。
計(jì)算控制環(huán)路的延遲
總控制環(huán)路延遲是ADC采樣與轉(zhuǎn)換時(shí)間(500ns),、PID計(jì)算時(shí)間(1μs)、PWM輸出延遲(0),、晶體管切換時(shí)間(50ns)和PID執(zhí)行速度時(shí)期(2μs)之和,。這個(gè)例子中的總環(huán)路延遲是3.65μs,這意味著最大有效控制環(huán)路的采樣率為274 kHz,。雖然尼奎斯特定理需要2倍的采樣率來重建一個(gè)信號,,數(shù)字控制環(huán)路仍必須以6倍至10倍采樣率進(jìn)行采樣。這樣做的原因是只使用2倍的采樣率,,相位滯后將180度,。利用2倍采樣率,,我們已經(jīng)用完了180度的相位滯后“預(yù)算”,而沒有考慮系統(tǒng)中任何其他的延遲,。一個(gè)采用8倍采樣率的系統(tǒng)單在采樣過程引入45度的相位滯后,,這是一個(gè)好得多的采樣率。為了有足夠的相位容限,,許多數(shù)字控制系統(tǒng)對模擬信號進(jìn)行了10倍或更高的過采樣,。假定最高有效采樣率為274 kHz,有效控制帶寬是其八分之一,,也就是大約34 kHz,。
SMPS設(shè)計(jì)中PWM的重要性
不同的電源規(guī)范推動著對不同電源拓?fù)浣Y(jié)構(gòu)的需求,這些不同的拓?fù)浣Y(jié)構(gòu)需要不同的PWM模式,,其中每一種都支持多種SMPS設(shè)計(jì),,包括標(biāo)準(zhǔn)、互補(bǔ),、推挽,、多相位、可變相位,、電流復(fù)位和電流限制PWM模式,。最基本的PWM模式是標(biāo)準(zhǔn)的邊沿對齊式PWM,其中的導(dǎo)通與關(guān)斷時(shí)間之比控制著電源電流,。每對輸出中只有一個(gè)PWM輸出被用于這些異步降壓式,、升壓式和反激式轉(zhuǎn)換器電路。同步降壓式轉(zhuǎn)換器采用互補(bǔ)PWM模式,,其中的互補(bǔ)輸出控制一個(gè)由MOSFET實(shí)現(xiàn)的 “同步開關(guān)”整流器,,而不是通常的整流器?;パa(bǔ)PWM模式還可以用于采用同步整流來改善系統(tǒng)效率的其他電路,。
推挽式轉(zhuǎn)換器通常用于DC/DC轉(zhuǎn)換器和AC/DC電源。“多相PWM”術(shù)語描述的是多PWM輸出而不是邊沿對齊的,。多相轉(zhuǎn)換器電路經(jīng)常用于必須提供大電流,、負(fù)載變化可能非常迅速的應(yīng)用的DC/DC轉(zhuǎn)換器。由于PC電源的廣泛使用,,相位變換PWM模式正變得越來越常見,。Microchip的dsPIC DSC SMPS系列可以支持當(dāng)前廣泛用于電源行業(yè)的所有已知的PWM模式。
理解PWM分辨率
電源設(shè)計(jì)人員和客戶必須正確地理解“PWM分辨率”這個(gè)術(shù)語,。PWM分辨率并不表示某個(gè)計(jì)數(shù)器有多寬,,而是表示在PWM循環(huán)時(shí)期內(nèi)可以發(fā)生多少次計(jì)數(shù)(盡可能最小的PWM時(shí)間片)。在電源行業(yè),PWM分辨率表示的是PWM占空比內(nèi)的最小時(shí)間增量,。這個(gè)分辨率經(jīng)常以ns表示,。如果一個(gè)PWM模塊沒有足夠的分辨率,控制系統(tǒng)(硬件或軟件)就會使PWM輸出發(fā)生抖動,,以實(shí)現(xiàn)期望的平均值輸出,。在電源應(yīng)用中,PWM抖動可以引起紋波電流的問題,,并使控制進(jìn)入所謂“極限循環(huán)期(Limit Cycling)”的不良運(yùn)行模式,。
例如,假設(shè)控制環(huán)路的輸出需要3.25的值,,而PWM可以輸出的值是3和4,。在這種情況下,PWM在33343334值之間抖動,。這可以容易地看到——許多DSC都采用運(yùn)行于40至150 MHz范圍之間的PWM計(jì)數(shù)器,,可以產(chǎn)生6至25ns的PWM分辨率。SMPS dsPIC DSC系列具有1ns的占空比分辨率,。在一個(gè)控制環(huán)路中,,在PWM輸出一個(gè)新的占空比值之前,來自電壓和電流測量的采集時(shí)間被稱為“延遲”,。當(dāng)延遲下降時(shí),,控制環(huán)路變得更穩(wěn)定和更具有響應(yīng)能力。一些DSC配備了PWM模塊,,只在PWM周期到周期的基礎(chǔ)上接收新的占空比數(shù)據(jù),。在PWM模塊接收數(shù)據(jù)之前,軟件計(jì)算新的占空比值的時(shí)間滯后會增加控制環(huán)路延遲,,并使其穩(wěn)定性下降,。因此,最好采用有PWM模塊的DSC,,以便及時(shí)接收和處理新的占空比數(shù)據(jù)。
SMPS ADC的需求
您可以將您的模擬知識運(yùn)用于采用DSC的智能電源設(shè)計(jì),。片上ADC可以為控制環(huán)路提供系統(tǒng)狀態(tài)(反饋),。傳統(tǒng)的ADC是基于ADC值以“組”的方式進(jìn)行采集和處理的假設(shè)而設(shè)計(jì)的。音頻處理和工業(yè)控制系統(tǒng)的ADC通常都是以這種方式發(fā)揮作用,。組采樣可使處理器工作量達(dá)到組中的峰值,,這將增加控制環(huán)路的延遲。
在SMPS電路中,,通常不存在要被采樣和轉(zhuǎn)換的模擬信號,,或者這樣的信號不會在任何時(shí)候都那么明顯。這樣的信號可能在PWM周期的某一刻才比較明顯,。因此,,由于不精確的采樣定時(shí),,標(biāo)準(zhǔn)的ADC模塊可能錯(cuò)過希望得到的數(shù)據(jù)。
圖3給出了一個(gè)用于監(jiān)測電流的電流檢測電阻器的實(shí)例電路,。在這個(gè)電路中,,只有當(dāng)晶體管導(dǎo)通時(shí),才能檢測到電流,。典型的ADC模塊不能精確地使采樣保持電路在適當(dāng)?shù)臅r(shí)間進(jìn)行一次采樣,。如果應(yīng)用需要多個(gè)電路進(jìn)行檢測,那么這個(gè)ADC就不理想,。SMPS dsPIC DSC的片上ADC模塊可提供獨(dú)立的采樣保持電路,,可以進(jìn)行彼此獨(dú)立的采樣。因此,,它可以在準(zhǔn)確的時(shí)刻監(jiān)控電壓或電流,,有助于實(shí)現(xiàn)事件瞬時(shí)(event transitory)信號的采樣,并降低系統(tǒng)成本,。此外,,SMPS dsPIC器件的片上ADC可以進(jìn)行異步采樣,有助于支持PFC(70 kHz)和DC/DC(250 kHz)等不同頻率的多控制環(huán)路運(yùn)行,。
圖3 帶有具體采樣保持(S/H)功能的ADC的重要意義
模擬比較器改進(jìn)數(shù)字SMPS設(shè)計(jì)
因?yàn)锳DC不能繼續(xù)不斷地監(jiān)控信號,,所以只能以高達(dá)每秒兆次采樣(MSPS)的量級進(jìn)行采樣。一些DSC具有模擬比較器,,可以解放處理器和ADC以完成其他重要的任務(wù),。例如,模擬比較器可以利用與傳統(tǒng)線性電源控制器直接控制PWM占空比類似的方式進(jìn)行電流控制,。模擬比較器還能夠提供對過壓或過流狀況的獨(dú)立監(jiān)測,。Microchip的SMPS dsPIC DSC的參考DAC和模擬比較器可以實(shí)現(xiàn)從電流測量到PWM更新的大約25ns的延遲。通常,,從檢測到模擬電壓,,直到由比較器對PWM輸出進(jìn)行修改,大約需要25ns的時(shí)間,。與其他必須使用“輪詢”技術(shù)的ADC以及利用處理器修改PWM輸出來響應(yīng)變化條件的其他DSC相比,,這個(gè)響應(yīng)時(shí)間是非常迅速的。事實(shí)上,,這正是DSC實(shí)現(xiàn)逐周期電流限制的方法,,屬于電流模式控制。由于連接模擬比較器的參考DAC也是16位的,,PWM分辨率也是相同的,,因此同樣的控制分辨率對電壓和電流模式都是有效的。
PID算法
使用PID算法,將實(shí)際與期望輸出電壓之間的誤差進(jìn)行比例,、積分和微分計(jì)算,,然后將這三項(xiàng)合起來,實(shí)現(xiàn)對PWM占空比的控制,。PID算法可以用于采用電壓和電流模式的控制環(huán)路,。處理Microchip的DSC不需要DSP技巧(見圖5的代碼列表),控制軟件(圖4)的主要“核心”是PID環(huán)路,。PID軟件通常很小,,但是其執(zhí)行速度非常快,,通常每秒可以反復(fù)幾十萬次,。這么高的反復(fù)率需要PID軟件程序盡可能有效地發(fā)揮最佳性能。使用匯編程序是保證“嚴(yán)緊代碼”的一種很好的方法,。
PID控制環(huán)路是定期由ADC進(jìn)行中斷驅(qū)動,,任何系統(tǒng)功能都能在“空閑環(huán)路”中執(zhí)行,以便減少PID控制軟件內(nèi)不必要的工作量,。諸如電壓上升/下降,、錯(cuò)誤檢測、前饋計(jì)算和通信支持程序功能都是空閑環(huán)路可以執(zhí)行的,,其他中斷驅(qū)動進(jìn)程的優(yōu)先級都必須比PID環(huán)路低,。
空閑環(huán)路在完成系統(tǒng)和外設(shè)的初始化任務(wù)之后啟動。通常,,空閑環(huán)路監(jiān)控溫度,,計(jì)算“前饋”條件,并檢查故障狀況,。SMPS軟件可執(zhí)行該控制算法,,將ADC中斷驅(qū)動的PID環(huán)路作為其與時(shí)間關(guān)系最密切的部分。PID軟件不應(yīng)該使用超過可用處理器大約66%的帶寬,,以便計(jì)算資源的其余部分能夠分配給空閑環(huán)路軟件,。
假設(shè)以30 MIPS運(yùn)行PID環(huán)路(包括30條指令),執(zhí)行時(shí)間大約為1μs,。如果反復(fù)率是500 kHz(2μs),,那么PID工作量需要消耗一半可用的處理器帶寬,也就是15 MIPS,。
用于數(shù)字式降壓式轉(zhuǎn)換器的PID軟件的實(shí)例代碼列表:
CALCULATE_PID:
push.s ; Save SR and W0-W3
bclr.b IFS0+1, #3 ; Clr IRQ flag in interrupt controller
#PID_REG_BASE, w8 ; Init pointer to PID register block
mov #PID_GAIN_REG_BASE, w10 ; Init pointer to PID gain register block
mov ADBUF1, w0 ; Read ADC to get voltage measurement
mov COMMANDED_VOLTAGE, w1 ; Get commanded output voltage
sub w1, w0, w0 ; W0 = proportional voltage error
mov PROPORTIONAL_ERROR, w1 ; Get previous voltage error
sub w0, w1, w2 ; diff error = new verr - old verr
mov w0, PROPORTIONAL_ERROR ; Store New Proportional Voltage Error
mov w0, PREINTEGRAL_TERM ; Store copy PERR as pre integral term
mov w2, DERIVATIVE_ERROR ; Store new Derivative Error
; These registers are reserved for PID calculations
; w6, w7 = contains data for MAC operations
; w8, w10 = pointers to error terms, and gain coefficients
SUM_PID_TERMS:
clr A, [w8]+=2, w6, [w10]+=2, w7 ; clr A, prefetch w6, w7
mac w6*w7, A, [w8]+=2, w6, [w10]+=2, w7 ; MAC proportional term and gain
mac w6*w7, A, [w8]+=2, w6, [w10]+=2, w7 ; MAC derivative term and gain
mac w6*w7, B, [w8]+=2, w6, [w10]+=2, w7 ; Update Integrator
add ACCA ; Add ACCB (Integrator) to ACCA
sftac A, -#8 ; scale accumulator (shift)
mov ACCAH,w0 ; Read MSW of acca (result)
btst ACCAU,#7 ; Check sign bit of ACCA
bra z, OUTPUT_PWM ; Branch if acca PWM value is positive
clr w0 ; Clear negative PWM values
OUTPUT_PWM:
mov w0, DC1 ; Output new duty cycle value
pop.s ; Restore SR, w0-w3
retfie ; Return from Interrupt
評估板有助于設(shè)計(jì)人員測試和修改SMPS控制軟件,,并理解SMPS的設(shè)計(jì)原理,。在這種情況下,,您可以考慮使用Microchip的dsPICDEM SMPS降壓型開發(fā)板——卓越的低功耗DC/DC降壓式轉(zhuǎn)換器來評估DSC器件和控制軟件。該板可通過標(biāo)準(zhǔn)AC/DC 9V,0.75A電源獲得其輸入電源,。板上有兩個(gè)獨(dú)立的降壓式轉(zhuǎn)換器,,演示軟件設(shè)置可提供高達(dá)+5V和+3.3V的輸出。
圖4 控制軟件的結(jié)構(gòu)
這個(gè)開發(fā)板的輸入電壓范圍為8-14V DC,。每個(gè)輸出負(fù)載應(yīng)該限制在0.75A,,而輸入電源可以通過同軸輸入電源連接器J2或測試夾連接P1和P2提供。該板也可為+5V輸出提供一個(gè)動態(tài)負(fù)載,。這個(gè)負(fù)載是通過1 kHz方波信號驅(qū)動的,,該信號是由輸出比較模塊產(chǎn)生的。板上動態(tài)負(fù)載使用一個(gè)FET將電阻器負(fù)載連接到轉(zhuǎn)換器對地輸出,,實(shí)現(xiàn)轉(zhuǎn)換器激勵(lì),,以便可以測量轉(zhuǎn)換器的動態(tài)行為。動態(tài)負(fù)載的使用可通過跳線模塊和/或軟件由用戶自行選擇,。
用戶可以選擇通過跳線設(shè)置,,像標(biāo)準(zhǔn)降壓式轉(zhuǎn)換器或同步降壓式轉(zhuǎn)換器那樣運(yùn)行開發(fā)板。所提供的軟件能夠以電壓控制模式運(yùn)行該板,,也可以進(jìn)行電流監(jiān)控,。該板也可通過轉(zhuǎn)換器輸出端的一個(gè)檢測電阻器測量電流,而電壓則被放大并送到dsPIC30F2020器件的ADC輸入端,。該板還可提供通過ADC輸入可讀取的三個(gè)備用可變電阻器,。這些“電位器”可用于在原型設(shè)計(jì)中的模擬所需的信號。
結(jié)語
通過專用于數(shù)字回路控制的新款DSC,,電源設(shè)計(jì)人員可以容易地在他們的設(shè)計(jì)中加入新的功能和能力,。要做到這一點(diǎn),無需學(xué)習(xí)復(fù)雜的數(shù)字信號處理器(DSP)處理技巧,,使用熟悉的模擬元件和軟件,,設(shè)計(jì)人員就能夠迅速而經(jīng)濟(jì)地使用DSC開發(fā)具有更高智能的電源。