模擬工程師以前在設(shè)計(jì)需要具有多路輸出、動(dòng)態(tài)負(fù)載共享、熱插拔或廣泛故障處理能力的電源時(shí),往往需要與復(fù)雜性抗?fàn)帯@媚M電路來實(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í)序、軟啟動(dòng)和拓?fù)浣Y(jié)構(gòu)控制等)。不過,由于缺乏經(jīng)濟(jì)有效的高性能技術(shù),以數(shù)字方式控制整個(gè)功率轉(zhuǎn)換環(huán)路還不太現(xiàn)實(shí)。
模擬工程師設(shè)計(jì)數(shù)字電源轉(zhuǎn)換
1 開關(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ì)之前,需要做出以下決擇。
a 選擇一種適合應(yīng)用需要的拓?fù)浣Y(jié)構(gòu):升壓型還是降壓型(Boost還是Buck),隔離式(正向、半橋還是全橋)。
b? 選擇一種開關(guān)技術(shù): 硬開關(guān)還是軟開關(guān)。軟開關(guān)技術(shù)(如諧振模式或準(zhǔn)諧振模式),以增加電路和控制的復(fù)雜程度為代價(jià),換取較少的開關(guān)損耗。
c? 選擇一種控制方法:電壓模式還是電流模式。
電壓模式控制和電流模式控制是基于傳統(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故障的“逐步增加的電感電流”。
d? 選擇PWM工作頻率。高頻PWM有助于使用更小的電感器和電容器,但是需要額外付出開關(guān)損耗為代價(jià)。
e? 確定需要的控制帶寬。這在很大程度上取決于應(yīng)用所期待的負(fù)載瞬態(tài)響應(yīng)。
f? 根據(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)通。
?
降壓式轉(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)。
?
采樣保持(S/H)電路通常每2~10ms進(jìn)行一次采樣,ADC需要大約500ns將模擬反饋信號轉(zhuǎn)換成為數(shù)字值。PID控制器是一種運(yùn)行于DSC的程序,有大約1~2ms的計(jì)算延遲。該控制器輸出可以轉(zhuǎn)換為一個(gè)PWM信號,由它來驅(qū)動(dòng)開關(guān)電路。當(dāng)進(jìn)入新的占空比時(shí),如果PWM發(fā)生器不能立即更新其輸出,就可能出現(xiàn)明顯的延遲。晶體管驅(qū)動(dòng)器和相關(guān)的晶體管也會引入大約50ns到1微秒的延遲,其長短因使用的器件和電路設(shè)計(jì)而異。
2 計(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。
3 SMPS設(shè)計(jì)中PWM的重要性
不同的電源規(guī)范推動(dòng)著對不同電源拓?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電源?!岸嘞郟WM”術(shù)語描述的是多PWM輸出而不是邊沿對齊的。多相轉(zhuǎn)換器電路經(jīng)常用于必須提供大電流、負(fù)載變化可能非常迅速的應(yīng)用的DC/DC轉(zhuǎn)換器。由于PC電源的廣泛使用,相位變換PWM模式正變得越來越常見。Microchip的dsPIC DSC SMPS系列可以支持當(dāng)前廣泛用于電源行業(yè)的所有已知的PWM模式。
4 理解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ā)生抖動(dòng),以實(shí)現(xiàn)期望的平均值輸出。在電源應(yīng)用中,PWM抖動(dòng)可以引起紋波電流的問題,并使控制進(jìn)入所謂“極限循環(huán)期(Limit Cycling)”的不良運(yùn)行模式。
例如,假設(shè)控制環(huán)路的輸出需要3.25的值,而PWM可以輸出的值是3和4。在這種情況下,PWM在33343334值之間抖動(dòng)。這可以容易地看到--許多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ù)。
5 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)行。
?
6 模擬比較器改進(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分辨率也是相同的,因此同樣的控制分辨率對電壓和電流模式都是有效的。
7 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ū)動(dòng),任何系統(tǒng)功能都能在“空閑環(huán)路”中執(zhí)行,以便減少PID控制軟件內(nèi)不必要的工作量。諸如電壓上升/下降、錯(cuò)誤檢測、前饋計(jì)算和通信支持程序功能都是空閑環(huán)路可以執(zhí)行的,其他中斷驅(qū)動(dòng)進(jìn)程的優(yōu)先級都必須比PID環(huán)路低。
空閑環(huán)路在完成系統(tǒng)和外設(shè)的初始化任務(wù)之后啟動(dòng)。通常,空閑環(huán)路監(jiān)控溫度,計(jì)算“前饋”條件,并檢查故障狀況。SMPS軟件可執(zhí)行該控制算法,將ADC中斷驅(qū)動(dòng)的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è)動(dòng)態(tài)負(fù)載。這個(gè)負(fù)載是通過1 kHz方波信號驅(qū)動(dòng)的,該信號是由輸出比較模塊產(chǎn)生的。板上動(dòng)態(tài)負(fù)載使用一個(gè)FET將電阻器負(fù)載連接到轉(zhuǎn)換器對地輸出,實(shí)現(xiàn)轉(zhuǎn)換器激勵(lì),以便可以測量轉(zhuǎn)換器的動(dòng)態(tài)行為。動(dòng)態(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ì)中的模擬所需的信號。
8 結(jié)語
通過專用于數(shù)字回路控制的新款DSC,電源設(shè)計(jì)人員可以容易地在他們的設(shè)計(jì)中加入新的功能和能力。要做到這一點(diǎn),無需學(xué)習(xí)復(fù)雜的數(shù)字信號處理器(DSP)處理技巧,使用熟悉的模擬元件和軟件,設(shè)計(jì)人員就能夠迅速而經(jīng)濟(jì)地使用DSC開發(fā)具有更高智能的電源。
評論
查看更多