利用多電壓架構在32位MCU上實(shí)現高性能和超低功耗待機模式
在微控制器芯片上分離電壓區會(huì )遇到很多設計限制因素,例如:
●必須在后備電壓區實(shí)現完整的喚醒和模擬電路,結果很難提供大量的喚醒信號源;
●必須在斷電期間分離兩個(gè)電壓區(內核電壓傳出的所有信號都是浮空的) ;
●需要以特殊的順序停止時(shí)鐘源,電源斷電/上電必須可靠。例如,主內核電壓邏輯電路需要一個(gè)專(zhuān)用復位;
●因為兩個(gè)電壓區在電壓和工藝方面幾乎是相互獨立的,而在溫度方面卻是相互關(guān)聯(lián)的,所以必須考慮到兩個(gè)電壓區的時(shí)序限制。這意味著(zhù)在時(shí)序分析過(guò)程中必須兼顧更多的情況(例如,電壓和工藝最差的備用電壓區,以及工藝和電壓最好的主內核電壓區) ;
●為防止程序意外地進(jìn)入待機模式輸入,必須在備用電壓區內實(shí)現某些安全功能,如看門(mén)狗;
●為了保證產(chǎn)品在小封裝內擁有32位的性能,還必須保持可用I/O與I/O總個(gè)數的比例。在STM32上,主內核穩壓器無(wú)需外部去耦合電容器,所以這個(gè)產(chǎn)品并沒(méi)有因為是雙電壓區而損失封裝上的引腳,即沒(méi)有采用額外的電源輸入。本文引用地址:http://dyxdggzs.com/article/178018.htm
不過(guò),作為復雜設計的回報,STM32獲得了真正的超低功耗待機,有助于應用開(kāi)發(fā)人員優(yōu)化電池使用時(shí)間。
STM32的功率模式及優(yōu)化的電池使用時(shí)間
因為實(shí)現了雙電壓區,STM32提供了兩個(gè)不同的低功耗模式:停止模式和待機模式。兩個(gè)功能中電壓監控器都是導通的,以便在出現電壓下降時(shí)保護應用。
在停止模式下,低功耗穩壓器保持通態(tài),但是時(shí)鐘停止運行。通過(guò)內部阻容振蕩器,穩壓器提供極短的重啟時(shí)間(10mS),并保留軟件環(huán)境。在環(huán)境溫度下的典型電流為15mA(3.3V),但是這個(gè)模式無(wú)法減輕泄漏電流問(wèn)題,因為泄漏電流會(huì )隨著(zhù)溫度以?xún)鐢敌问缴摺?br />
在待機模式下,穩壓器是斷態(tài),在環(huán)境溫度下電流消耗為2mA(3.3V),電流幾乎不會(huì )隨溫度升高(在85℃下,一個(gè)典型器件的電流為2.4mA)。不過(guò),待機模式重啟意味著(zhù)軟件內容丟失,RAM、內核和大多數外設寄存器都會(huì )丟失數據。
為具體應用選擇最佳的模式能夠極大地影響電池的使用壽命,下面是在選擇省電方式時(shí)應考慮的基本要求。
●檢查微控制器的待機狀態(tài)是否符合應用要求(例如,I/O待機狀態(tài)、喚醒信號源);
●考慮最?lèi)毫拥牡悄軌虮WC應用功能正常運行的溫度條件對電池使用壽命的影響;
●檢查從待機時(shí)間開(kāi)始的重啟時(shí)間是多少,是否達到應用對重啟時(shí)間的要求;
●檢查待機模式是否比停止模式省電,在兩個(gè)事件之間,待機功耗與待機重啟功耗之和是否小于停止模式的功耗。
這些問(wèn)題與應用有關(guān),待機模式重啟時(shí)間包括從喚醒到讀取復位向量這個(gè)過(guò)程所用的時(shí)間,待機模式重啟時(shí)間取決于硬件(穩壓器啟動(dòng)時(shí)間,STM32的時(shí)鐘源啟動(dòng)時(shí)間大約為40ms)和軟件恢復應用環(huán)境所需的時(shí)間。軟件通常必須檢查喚醒信號源,從備份寄存器恢復環(huán)境信息,并重新配置應用系統使用的微控制器功能。
因為待機軟啟動(dòng)與軟件有關(guān),所以在喚醒階段消耗的能量也與應用有關(guān)。一個(gè)實(shí)用的估計能量損耗的方法是,在一個(gè)時(shí)限內(從喚醒后到軟件立即回到待機模式)生成數個(gè)給定的喚醒信號,然后比較在喚醒信號沒(méi)有生成時(shí)的平均電流消耗。為了優(yōu)化待機模式啟動(dòng)時(shí)間,開(kāi)發(fā)人員不得忘記優(yōu)化編譯器增加的初始化階段,并盡可能減少初始化階段(例如,應該去除RAM初始化過(guò)程)。
含有自動(dòng)電源開(kāi)關(guān)的實(shí)時(shí)時(shí)鐘及數據備份專(zhuān)用電壓區
電池供電應用都需要一個(gè)實(shí)時(shí)時(shí)鐘,不過(guò),內核電壓關(guān)閉必然導致整個(gè)程序環(huán)境丟失,這相當于一個(gè)產(chǎn)品的復位重啟。給程序實(shí)現一個(gè)備份寄存器庫,有助于恢復程序執行所需的最小環(huán)境。
可以在一個(gè)備用電壓區內,把所有這些功能都直
接集成在微控制器上。不過(guò),實(shí)時(shí)時(shí)鐘功能通常應在很長(cháng)時(shí)期(數年)內有效,即便電池供電的主應用也是以充電電池為電源的。為實(shí)時(shí)時(shí)鐘設計第三個(gè)電壓區,并設置一個(gè)實(shí)時(shí)時(shí)鐘電源專(zhuān)用引腳,就可以使用一個(gè)很小的專(zhuān)用鈕扣電池給實(shí)時(shí)時(shí)鐘供電,同時(shí)主應用由另一個(gè)主要電源供電,這樣鈕扣電池只給實(shí)時(shí)時(shí)鐘和相關(guān)的振蕩器供電,而不給其它功能供電,例如,在待機模式下才可用的電壓監控器。
不過(guò),實(shí)現第三電壓區也不是最完美的,因為當主電源可用時(shí),鈕扣電池仍然給實(shí)時(shí)時(shí)鐘和備份寄存器供電。為此,STM32采用了一個(gè)聰明的延長(cháng)實(shí)時(shí)時(shí)鐘電池使用時(shí)間的方法,具體做法是給實(shí)時(shí)時(shí)鐘和備份寄存器增加一個(gè)電源開(kāi)關(guān),當主電源可用時(shí),從主電源給實(shí)時(shí)時(shí)鐘和備份寄存器供電;當主電源不可用時(shí),從電池給實(shí)時(shí)時(shí)鐘和備份寄存器供電。STM32電壓區電路如圖4所示。
主電壓監控制器通過(guò)一個(gè)閂鎖機制向電源開(kāi)關(guān)發(fā)布命令,當發(fā)現VDD電壓低于VDD的下限時(shí),開(kāi)關(guān)把實(shí)時(shí)時(shí)鐘和備份寄存器的電源轉接到外部Vbat電源。如果VDD電壓高于VDD上限時(shí),開(kāi)關(guān)自動(dòng)選擇VDD給這個(gè)特殊的電壓區供電。
采用電源開(kāi)關(guān)設計還有另外一個(gè)優(yōu)點(diǎn),軟件對這個(gè)特殊的電壓區讀寫(xiě)操作(通過(guò)電平轉換器)產(chǎn)生的額外動(dòng)態(tài)功耗決不會(huì )增加對鈕扣電池的功耗,這是因為在運行模式下,電池始終是由主電源提供的。因此,根據實(shí)時(shí)時(shí)鐘的功耗和鈕扣電池的電量,可以直接計算鈕扣電池最短使用時(shí)間。
STM32的實(shí)時(shí)時(shí)鐘典型電流消耗為1.4mA(環(huán)境溫度,3.3V),當使用一枚CR2032電池時(shí),電池最短使用時(shí)間近20年。然而,如果應用在大多數時(shí)間都連接著(zhù)主電源,電池的使用時(shí)間可以更長(cháng),即便電池電量非常低,還能照常使用。
STM32實(shí)現的實(shí)時(shí)時(shí)鐘和備份寄存器在待機模式下仍正常工作,因此,實(shí)時(shí)時(shí)鐘可以作為待機喚醒的信號源,而且在系統進(jìn)入待機模式前,備份寄存器還可以保存一些重要的參數值。
增添電源開(kāi)關(guān)的方法大幅度提高了微控制器設計的復雜性,因為它要求:
●電壓區之間的隔離變得更加復雜;
●可靠的電源開(kāi)關(guān)設計,經(jīng)過(guò)正確調整后,功耗可達到預期的水平(為避免小封裝上可用的GPIO數量減少,內部實(shí)時(shí)時(shí)鐘電壓區沒(méi)有外部引腳,因此無(wú)需增添去耦合電容器);
●考慮到了不增加Vbat靜態(tài)功耗的各種啟動(dòng)情況,例如,當VDD不存在時(shí)Vbat電壓的升高不應產(chǎn)生意外狀態(tài)(鈕扣電池可能在生產(chǎn)線(xiàn)上被焊接到產(chǎn)品內,這時(shí)不應有額外的功率消耗,否則電池的電量會(huì )被白白地消耗掉);
●實(shí)時(shí)時(shí)鐘電壓區在轉接VbatV電壓前必須能承受VDD最低閾壓以下的大電壓降。
支持電池供電應用
盡管在應用層面考慮了在待機狀態(tài)下允許內容丟失的情況,像STM32這樣的超低功耗待機和多電壓電源架構仍不失為一個(gè)有效的解決方案,它允許應用系統在運行模式下實(shí)現優(yōu)異的性能,同時(shí)降低靜態(tài)功耗對待機狀態(tài)的影響。此外,在STM32內集成獨立的功能(如實(shí)時(shí)時(shí)鐘),使設計工程師能夠快速高效地開(kāi)發(fā)電池供電的應用設備,并充分利用產(chǎn)品的電源能效。
評論