初識STM8S的電源管理
下面是我對電源管理部分的理解,這是我看過STM8S手冊和STM8S20X器件資料后的初步認識。
除了運行模式,可以采用以下三種低功耗模式:等待、主動停機、停機。
1)等待(Wait)模式:CPU停止工作,片上設備可以選擇被關斷,任意內部外部中斷及復位均可喚醒,耗電2.4mA@24MHz,5v。
2)主動停機模式(Active Halt):保留一個定時喚醒單元AWU工作,CPU和片上設備全停止工作,AWU和外部中斷及復位均可喚醒,耗電11uA - 1000uA,取決于片上穩(wěn)壓器(MVR還是LPVR)和Flash模式的選擇。
3)停機模式(Halt):CPU和片上設備完全停止工作,定時喚醒單元AWU也停止,僅由外部中斷及復位喚醒,耗電6uA~66uA,取決于Flash模式的選擇。
這樣的設置并沒有太多與眾不同,但一些細節(jié)的設計卻提供了靈活的選擇。
系統(tǒng)慢速運行
提供4種振蕩模式:0~24MHz外部晶體SHE、外部時鐘、16MHz內部高速振蕩器SHI、128KHz內部低速速振蕩器LSI。內部高速振蕩器4檔可調,最大8分頻。CPU時鐘8檔可調,最大128分頻。
系統(tǒng)時鐘切換
可以不卡殼地安全地切換時鐘源。分自動模式和手動模式。自動模式時,先設定好要切換的時鐘,程序繼續(xù)工作,無需照顧時鐘切換過程,新時鐘振蕩并穩(wěn)定以后切換完成。這有助于在運行中使用較低速度的振蕩器。
在RAM中運行
系統(tǒng)運行于RAM中比運行于FLASH中要省電很多,4mA vs 11mA??梢园殉S玫拇a置于RAM中運行。
關閉不用的數(shù)字片上設備
AVR是各個模塊在其寄存器中使能或關閉,STM8S則集中到兩個PCG寄存器中。因是CMOS電路,關閉時鐘就等于斷電。
換到低功耗內部穩(wěn)壓器
STM8S的核心工作在1.8V,內部穩(wěn)壓器有兩個,MVR和LPVR。LPVR是低功耗穩(wěn)壓器,提供的電流較小但是自身功耗低。主動停機模式下選擇PLVR,整機功耗有明顯下降。但是使用主穩(wěn)壓器MVR時,從主動停機模式下喚醒較快。
主動停機模式和停機模式下Flash掉電
在停機模式下Flash進入掉電模式,節(jié)約20~60uA電流,代價是喚醒時間長幾個uS。
定時喚醒單元AWU
AWU是一個很好的設計,使得系統(tǒng)多一個從主動停機模式定時喚醒的定時器,這是主動停機模式的得名。就像整機工作在定時器中斷喚醒的模式下。但這是從主動停機模式中醒來的,而不是從等待模式(即空閑模式)中醒來,電流節(jié)省得更多。而且,AWU的配置也相當?shù)撵`活,手冊中有一個例子,可配置為15uS到30S。相比之下,AVR的省電模式必須使用內部振蕩器時,才可以靠外部T2時鐘運行類似的定時喚醒模式,外接晶振免談。
不過,STM8S掉電模式(停機模式)的功耗約6.5uA到5V,4.5uA到3.3V,高于Pico的AVR。不適合長期關機保電的場合,例如使用2032等鋰電池的場合。
AVR的PicoPOWER還是可以用一用的,如果MSP430還是那么貴的話。
#pragma vector = AWU_vector // 加的中斷地址.原頭文件漏了
__interrupt void
AWU_isr(void)
{
}
評論