基於微控制器(MCU)的嵌入式設計減少物料清單(BOM)成本和尺寸是首要的設計考慮之一。在帶有開關轉換器的8位元MCU設計中實現這些設計目標的途徑之一是採用高頻時脈輸出驅動這些開關轉換器,而不是採用傳統的低頻脈衝寬度調變(PWM)輸出。這種技術可以減少開關轉換器中電感器容量大小,從而降低BOM成本和電路板空間需求。

背景

開關轉換器通常在嵌入式系統中被用於有效提升或者降低電壓。這些轉換器使用電感器來存儲和傳遞能量到系統中的負載。

電感器週期性接通以便把電能換邊成電感器的能量。當電源被關斷時,電感器的能量被釋放到負載。這些轉換器通常由PWM訊號來控制接通和斷開,並且這一訊號特性能夠影響轉換器的輸出特性。

例如,下面讓我們來考慮一個升壓型轉換器,它是輸出電壓高於輸入電壓的開關轉換器。

連續模式

通常,升壓轉換器運行在「連續」模式。這意味著,轉換器中電感器存儲的能量在開關週期之間並未完全釋放(比如:電感器放電流未達到零)。用於確定連續模式升壓變換器輸出電壓的公式是相當簡單的:

20161115TA01P1-1

其中,Vo等於輸出電壓,Vi等於輸入電壓,D等於佔空比。在這種情況下,輸出電壓可以通過簡單的改變開關元件的PWM佔空比來調整。然而,該模式有一點需要注意:電感器必須足夠大,以儲存在其充電和放電迴圈中系統所需的能量。這意味著開關頻率越慢,電感器充電和放電的時間越長,因此需要更大容量的電感器。當然,電感器容量越大也就越昂貴,所以一般開關轉換器設計傾向於更高的開關頻率而不是更低的開關頻率。

然而,更高開關頻率所帶來的好處也有上限。當開關頻率增加時,電路中開關元元件(通常是MOSFET)和電感器內的損耗也會增加,因此一旦這些損耗達到限制,那麼開關頻率也就達到了上限。

一些8位元MCU,例如Silicon Labs的C8051和EFM8元件,有能力使用晶片內可程式計數器陣列(PCA)模組產生可變佔空比的PWM輸出,這意味著它們能夠良好驅動運作於連續模式下的升壓轉換器。然而,最大的PWM頻率通常低至95.7kHz(最快內部振盪器通常為24.5MHz,然後被256分頻後用於8位元PWM),按照開關轉換器標準來看這是相當慢的。這也意味著,通常用於控制連續模式下開關轉換器的8位元MCU需要相對容量加大、且昂貴的電感器。

例如,我們假設下面的設計需求: Vin=3V Vout=12V Iout=20mA 開關頻率=95.7kHz

為了在75%佔空比下運行開關轉換器,我們需要147μH的電感器。

非連續模式

連續模式的替代模式是「非連續」模式,其中電感器電流在開關迴圈的放 電週期中被允許完全釋放。這種方法會使輸出公式複雜化:

20161115TA01P1-2

其中,L是電感值,Io是輸出電流,T是開關週期(開關頻率的倒數)。正如你所看到的,該公式更複雜,同時它仍然包含佔空比作為依賴項,而且它引入了額外的依賴項,甚至採用固定佔空比時,我們也能夠使用他生成預期的輸出。例如,所有的其他條件不變,如果我們成比例的降低T和電感器容量L,那麼輸出特性將保持不變。這意味著我們可以使用任意的佔空比,然後增加開關頻率以減小電感器容量大小和成本。

此外,在這種模式下PCA有一有用特性:頻率輸出生成。在這種模式下,能夠產生50%佔空比的頻率輸出,在正常條件最大能夠達到SYSCLK的一半或者12.25MHz。由於之前提及的開關損耗的因素,開關轉換器通常不會運行於如此高的頻率,典型的運行頻率範圍在100k~4MHz。在更合理的3.062MHz開關頻率下(24.5MHz SYSCLK被8分頻),我們能夠重做之前的示例,這一次使用非連續模式,並且採用50%的固定佔空比:

Vin=3V Vout=12V Iout=20mA 開關頻率=3.062MHz 佔空比=50%

這一次,所需要的電感器大小減小到2.04μH。在相同輸出特性條件下,這僅是連續模式下PWM示例中所需電感容量大小的1/72。

除了電感容量~2.2μH對比~ 150μH之外,其他方面也具可比性:

SRN4026-151M:150μH,220mA: [email protected]:4mm×4mm MLZ2012A2R2M:2.2μH,210mA: [email protected]:2mm×1.25mm

正如你所看到的,這一更小容量的電感導致BOM成本減小了12.2美分,或減少68%。封裝面積也減小了 11.5mm2或72%。

示範電路和韌體

作為概念證明,我們已經開發了相關的電路和韌體。在前面的例子中,電路的特徵是靜態。只要輸入電壓為3V,負載在12V下持續消耗20mA電流,那麼MCU僅需要輸出一個3.062MHz方波至開關電路,保持穩定的輸出。如果負載在12V下消耗電流小於20mA,那麼輸出電壓將連續增加直至達到平衡。由於沒有任何形式的回饋機制,如果負載變化,我們不能確定輸出電壓。

在圖1的電路中,電壓分壓器允許MCU去測量輸出電壓,因此形成回饋迴路,這使得我們能夠在運行時調整輸出的行為。調整輸出電壓能夠透過這樣的方式:在輸出電壓太高時禁止頻率輸出,當輸出電壓太低時重新使能它。此外,一個模擬負載由R4和LED構建,並被連接到電壓輸出上。

20161115TA01P1
圖1 電壓分壓器允許MCU去測量輸出電壓,因此形成回饋迴路。



韌體針對EFM8BB1MCU而寫,但是只要具有PCA模組和帶視窗比較特性的類比數位控制器(ADC),它就可以移植到任意8位元MCU上。PCA配置輸出通道0到P0.1接腳,輸出頻率3.062MHz。ADC配置在P0.3接腳,取樣速率300kHz,使用計時器3溢出來觸發轉換。ADC也被配置為使用視窗比較特性,僅僅當ADC採樣值落入預期的電壓範圍之外時才觸發中斷。所有配置完成後,整個回饋迴路被包含在ADC中斷處理函數(ISR)中:

SI_INTERRUPT(ADC0WC_ISR, ADC0WC_IRQn) { uint16_t sample; //清除視窗比較中斷標誌位元 ADC0CN0_ADWINT=0; //儲存ADC採樣值 sample=ADC0; if(sample>MAX_COUNTS) { //禁止PWM P0MDOUT&=~P0MDOUT_ B1__BMASK; //設置LT值,清除GT值 ADC0LT=MIN_COUNTS; ADC0GT=0xFFFF; } else if (sample<MIN_COUNTS) { //使能PWM P0MDOUT|=P0MDOUT_ B1__PUSH_PULL; //設置GT值,清除LT值 ADC0LT=0; ADC0GT=MAX_COUNTS; } }

如果ADC測量值大於ADC0GT值或者小於ADC0LT值,那麼中斷被觸發。如果測量值在這個範圍內,那麼不會發生任何事情。一旦進入ISR,如果測量值超過了預期的最大值,那麼頻率輸出被禁止。如果它小於預期值,那麼頻率輸出被重新使能。透過把連埠配置為開漏模式輸出而被有效禁止,因此接腳被電阻器R1拉低,進而關閉MOSFET Q1。

ADC代碼中定義的MAX_COUNTS代表9.5V,MIN_COUNTS代表8.5V。這有效的限制輸出電壓在8.5~9.5V。圖2的示波器影像顯示了採用該代碼的電路輸出訊號。

20161115TA01P2
圖2 採用ADC代碼的電路輸出訊號。



通道1是輸出電壓。通道2是施加到電路BOOST接腳的頻率輸出。正如你所看到的,當電壓低於8.5V時,韌體啟動頻率輸出;當電壓大於9.5V時,頻率輸出被禁止。

在實踐中,使用視窗比較模式的ADC需要極少的CPU開銷。在我們的測量電路中,CPU在ISR中大約僅有12μs的活躍時間,每8.9ms兩次。總的CPU開銷大約是0.14%。減小輸出電容導致需要更高頻率更新,即輸出電壓需要更少時間充電到最大限值,最少時間放電到最小限值。

圖3是BOOST接腳連接到MCU的電路;圖4則是BOOST接腳斷開時的電路。在這種情況下,輸出電壓會下降至Vin,這時不能達到點亮LED所需的要求。

20161115P3P4
圖3 BOOST接腳連接到MCU的電路。




圖4 BOOST接腳斷開時的電路。

總結

開關轉換器通常被用於嵌入式應用中,去有效轉換電壓到其他值。這些開關轉換器經常通過帶有可變佔空比的PWM訊號去控制轉換器的輸出特性。然而,對於大多數MCU來說,生成可變佔空比PWM訊號的能力被限制在相對的低頻率,因此需要使用更大的電感器。作為替代,高頻、固定佔空比的時脈頻率輸出能夠顯著降低電感器容量大小,減少BOM成本和電路板空間需求。