STM8S電源管理-重點(diǎn)活躍停機(jī)模式
STM8 電源管理
2012-06-08 22:47:55|分類(lèi):STM8|字號(hào)訂閱
默認(rèn)情況下在系統(tǒng)或電源復(fù)位后,MCU處于運(yùn)行模式。在這種模式下,CPU由fCPU提供時(shí)鐘并執(zhí)行程序代碼,系統(tǒng)時(shí)鐘分別為各個(gè)處于激活狀態(tài)的外設(shè)提供時(shí)鐘,MCU功耗最大。
在運(yùn)行模式下,為了保持CPU繼續(xù)運(yùn)行并執(zhí)行代碼,有下列幾種途徑可降低功率消耗:
● 降低系統(tǒng)時(shí)鐘
● 關(guān)閉未使用外設(shè)的時(shí)鐘
● 關(guān)閉所有未使用的模擬功能塊
但是,如果CPU不需要保持運(yùn)行,可使用下列三種低功耗模式:
● 等待(Wait)
● 活躍停機(jī)(Active Halt)( 可配置為慢速或快速喚醒)
● 停機(jī)(Halt) (可配置為慢速或快速喚醒)
用戶(hù)可選擇以上三種模式中的一種,并合理配置,以在最低功耗、最快喚醒速度和可使用的喚醒源之間獲得最佳平衡點(diǎn)。
常規(guī)考慮
一般來(lái)說(shuō),低功耗特性在要求節(jié)省能量的應(yīng)用中非常重要。對(duì)于要求電池使用壽命較長(zhǎng)的便攜式應(yīng)用,超低功耗顯得尤為重要。而且這對(duì)于環(huán)境保護(hù)也是至關(guān)重要的。
硅片中通常存在兩種功耗:
● 靜態(tài)功耗:由極化電流和漏電流造成。靜態(tài)功耗很小,只在停機(jī)(Halt) 模式和活躍停機(jī)
(Active Halt) 模式(參見(jiàn)9.3)下有意義。
● 動(dòng)態(tài)功耗:來(lái)自于芯片上正在運(yùn)行的數(shù)字模塊。它取決于V DD,時(shí)鐘頻率和負(fù)載電容。
一個(gè)微控制器的功耗取決于:
● V DD供電電壓
● 模擬性能
● MCU大小及數(shù)字邏輯門(mén)數(shù)(漏電流及負(fù)載電容)
● 時(shí)鐘頻率
● 處于激活狀態(tài)的外設(shè)數(shù)目
● 可用的低功耗模式及級(jí)別
微控制器的處理速度也很重要,這使得用戶(hù)程序只需很短時(shí)間處于運(yùn)行狀態(tài),而更多時(shí)間處于低功耗模式下。
使用MCU靈活的低功耗特性,用戶(hù)可在很大范圍內(nèi)降低系統(tǒng)功耗并快速恢復(fù)操作。
低功耗的時(shí)鐘管理
降低系統(tǒng)時(shí)鐘
在運(yùn)行模式,為了即能滿(mǎn)足系統(tǒng)性能又能降低功耗,選擇合適的系統(tǒng)時(shí)鐘源是很重要的。可通過(guò)寫(xiě)時(shí)鐘控制寄存器選擇時(shí)鐘源。參見(jiàn)時(shí)鐘控制章節(jié)。
通過(guò)寫(xiě)時(shí)鐘分頻寄存器CLK_CKDIVR的位CPUDIV[2:0] ,可降低fCPU的時(shí)鐘頻率。這會(huì)降低CPU的速度,但同時(shí)可降低CPU的功耗。其它外設(shè)(由fMASTER提供時(shí)鐘)不會(huì)受此設(shè)置影響。
在運(yùn)行模式下,任何時(shí)候需要恢復(fù)全速運(yùn)行,將CPUDIV[2:0] 清0即可。
外設(shè)時(shí)鐘門(mén)控
為了更進(jìn)一步降低功耗,可使用時(shí)鐘門(mén)控。用戶(hù)可在任意時(shí)間打開(kāi)或關(guān)閉fMASTER與各個(gè)外設(shè)的連接。參見(jiàn)時(shí)鐘控制章節(jié)。
此設(shè)置在運(yùn)行模式和等待模式均有效。
低功耗模式
等待(Wait)模式
在運(yùn)行模式下執(zhí)行WFI(等待中斷) 指令,可進(jìn)入等待模式。此時(shí)CPU停止運(yùn)行,但外設(shè)與中斷控制器仍保持運(yùn)行,因此功耗會(huì)有所降低。等待模式可與PCG(外設(shè)時(shí)鐘門(mén)控) ,降低CPU時(shí)鐘頻率,以及選擇低功耗時(shí)鐘源(LSI ,HSI) 相結(jié)合使用,以進(jìn)一步降低系統(tǒng)功耗。參見(jiàn)時(shí)鐘控制(CLK) 的說(shuō)明。
在等待模式下,所有寄存器與RAM的內(nèi)容保持不變,之前所定義的時(shí)鐘配置也保持不變( 主時(shí)鐘狀態(tài)寄存器CLK_CMSR) 。
當(dāng)一個(gè)內(nèi)部或外部中斷請(qǐng)求產(chǎn)生時(shí),CPU從等待模式喚醒并恢復(fù)工作。
停機(jī)(Halt)模式
在該模式下主時(shí)鐘停止。即由fMASTER提供時(shí)鐘的CPU及所有外設(shè)均被關(guān)閉。因此,所有外設(shè)均沒(méi)有時(shí)鐘,MCU的數(shù)字部分不消耗能量。
在停機(jī)模式下,所有寄存器與RAM的內(nèi)容保持不變,默認(rèn)情況下時(shí)鐘配置也保持不變( 主時(shí)鐘狀態(tài)寄存器CLK_CMSR) 。
MCU可通過(guò)執(zhí)行HALT指令進(jìn)入停機(jī)模式。外部中斷可將MCU從停機(jī)模式喚醒。外部中斷指配置為中斷輸入的GPIO端口或具有觸發(fā)外設(shè)中斷能力的端口。
在這種模式下,為了節(jié)省功耗主電壓調(diào)節(jié)器關(guān)閉。僅低電壓調(diào)節(jié)器(及掉電復(fù)位)處于工作狀態(tài)。 快速時(shí)鐘啟動(dòng) HSI RC的啟動(dòng)速度比HSE快( 參見(jiàn)數(shù)據(jù)手冊(cè)中電特性參數(shù)) 。因此,為了減少M(fèi)CU的喚醒時(shí)間,建議在進(jìn)入暫停模式前選擇HSI做為fMASTER的時(shí)鐘源。
在進(jìn)入停機(jī)模式前可通過(guò)設(shè)置內(nèi)部時(shí)鐘寄存器CLK_ICKR 的FHWU位選擇HSI做為fMASTER的時(shí)鐘源,而無(wú)需時(shí)鐘切換。參見(jiàn)時(shí)鐘控制章節(jié)。
活躍停機(jī)(Active Halt)模式
活躍停機(jī)模式與停機(jī)模式類(lèi)似,但它不需要外部中斷喚醒。它使用AWU,在一定的延時(shí)后產(chǎn)生一個(gè)內(nèi)部喚醒事件,延遲時(shí)間是用戶(hù)可編程的。
在活躍暫停模式下,主振蕩器、CPU及幾乎所有外設(shè)都被停止。如果AWU和IWD 已被使能,則只有LSI RC與HSE仍處于運(yùn)行狀態(tài),以驅(qū)動(dòng)AWU和IWD 計(jì)數(shù)器。
為進(jìn)入活躍停機(jī)模式,需首先使能AWU(如AWU章節(jié)所述),然后執(zhí)行HALT指令。
主電壓調(diào)節(jié)器自動(dòng)關(guān)閉
默認(rèn)情況下,為了從活躍停機(jī)模式快速喚醒,主電壓調(diào)節(jié)器處于激活狀態(tài)。但其電流消耗是不可忽視的。
為進(jìn)一步降低功耗,當(dāng)MCU進(jìn)入活躍停機(jī)模式時(shí),主電壓調(diào)節(jié)器可自動(dòng)關(guān)閉。通過(guò)設(shè)置內(nèi)部時(shí)鐘寄存器CLK_ICKR 的REGAH位可實(shí)現(xiàn)此功能。此時(shí):
● MCU內(nèi)核由低功耗電壓調(diào)節(jié)器(LPVR)供電(如同停機(jī)模式)。
● 僅LSI時(shí)鐘源可用,因?yàn)镠SE時(shí)鐘源對(duì)于LPVR 來(lái)說(shuō)電流消耗太大。
在喚醒時(shí)主電壓調(diào)節(jié)器重新被打開(kāi),這需要一個(gè)比較長(zhǎng)的喚醒時(shí)間( 參見(jiàn)數(shù)據(jù)手冊(cè)電特性部分喚醒時(shí)間與電流消耗的相關(guān)數(shù)據(jù))。
快速喚醒時(shí)鐘
如停機(jī)模式所述,為了縮短喚醒時(shí)間,建議使用HSI做為fMASTER的時(shí)鐘源。FHWU 位也可用于縮短切換時(shí)間。
在活躍停機(jī)模式下,快速喚醒是很重要的。這可以提高CPU的執(zhí)行效率,使MCU處于運(yùn)行狀態(tài)與低功耗模式之間的時(shí)間最短,從而減少整體平均功耗。
附加的模擬功耗控制
停機(jī)模式下的快速內(nèi)存喚醒
默認(rèn)情況下,微控制器進(jìn)入停機(jī)模式后FLASH是處于掉電狀態(tài)的。此時(shí),漏電流可忽略不計(jì),功耗是非常低的。但FLASH的喚醒時(shí)間較長(zhǎng)(幾微秒)。
如果用戶(hù)需要從停機(jī)模式快速喚醒,可將FLASH_CR1 的HALT位置1 。當(dāng)微控制器進(jìn)入停機(jī)模式時(shí),這將確保FLASH處于等待狀態(tài),喚醒時(shí)間降至幾納秒。但功耗將增至幾微安。詳情請(qǐng)參見(jiàn)數(shù)據(jù)手冊(cè)電特性章節(jié)。
活躍停機(jī)模式下的超低內(nèi)存功耗
在活躍停機(jī)模式下,為加快喚醒時(shí)間,默認(rèn)情況下FLASH處于工作狀態(tài),因此并沒(méi)有降低功耗。
為降低功耗,用戶(hù)可將FLASH_CR1 的AHALT位置1 。在進(jìn)入活躍停機(jī)模式時(shí),這將停止向FLASH供電以降低功耗,但喚醒時(shí)間將增至微秒級(jí)。