初识STM8S的电源管理
下面是我对电源管理部分的理解,这是我看过STM8S手册和STM8S20X器件资料后的初步认识。
除了运行模式,可以采用以下三种低功耗模式:等待、主动停机、停机。
1)等待(Wait)模式:CPU停止工作,片上设备可以选择被关断,任意内部外部中断及复位均可唤醒,耗电2.4mA@24MHz,5v。
2)主动停机模式(Active Halt):保留一个定时唤醒单元AWU工作,CPU和片上设备全停止工作,AWU和外部中断及复位均可唤醒,耗电11uA - 1000uA,取决于片上稳压器(MVR还是LPVR)和Flash模式的选择。
3)停机模式(Halt):CPU和片上设备完全停止工作,定时唤醒单元AWU也停止,仅由外部中断及复位唤醒,耗电6uA~66uA,取决于Flash模式的选择。
这样的设置并没有太多与众不同,但一些细节的设计却提供了灵活的选择。
系统慢速运行
提供4种振荡模式:0~24MHz外部晶体SHE、外部时钟、16MHz内部高速振荡器SHI、128KHz内部低速速振荡器LSI。内部高速振荡器4档可调,最大8分频。CPU时钟8档可调,最大128分频。
系统时钟切换
可以不卡壳地安全地切换时钟源。分自动模式和手动模式。自动模式时,先设定好要切换的时钟,程序继续工作,无需照顾时钟切换过程,新时钟振荡并稳定以后切换完成。这有助于在运行中使用较低速度的振荡器。
在RAM中运行
系统运行于RAM中比运行于FLASH中要省电很多,4mA vs 11mA。可以把常用的代码置于RAM中运行。
关闭不用的数字片上设备
AVR是各个模块在其寄存器中使能或关闭,STM8S则集中到两个PCG寄存器中。因是CMOS电路,关闭时钟就等于断电。
换到低功耗内部稳压器
STM8S的核心工作在1.8V,内部稳压器有两个,MVR和LPVR。LPVR是低功耗稳压器,提供的电流较小但是自身功耗低。主动停机模式下选择PLVR,整机功耗有明显下降。但是使用主稳压器MVR时,从主动停机模式下唤醒较快。
主动停机模式和停机模式下Flash掉电
在停机模式下Flash进入掉电模式,节约20~60uA电流,代价是唤醒时间长几个uS。
定时唤醒单元AWU
AWU是一个很好的设计,使得系统多一个从主动停机模式定时唤醒的定时器,这是主动停机模式的得名。就像整机工作在定时器中断唤醒的模式下。但这是从主动停机模式中醒来的,而不是从等待模式(即空闲模式)中醒来,电流节省得更多。而且,AWU的配置也相当的灵活,手册中有一个例子,可配置为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)
{
}
STM8S电源管 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)