以下资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!
四种STM8低功耗模式的主要特性如表12。
(表12:STM8S低功耗模式管理)
1.如果外设时钟未被关闭
2.包括通讯外设的中断(参见中断向量表)
STM8等待(Wait)模式
在运行模式下执行WFI(等待中断)指令,可进入等待模式。此时CPU停止运行,但外设与中断控制器仍保持运行,因此功耗会有所降低。等待模式可与PCG(外设时钟门控),降低CPU时钟频率,以及选择低功耗时钟源(LSI,HSI)相结合使用,以进一步降低系统功耗。参见时钟控制
(CLK)的说明。
在等待模式下,所有寄存器与RAM的内容保持不变,之前所定义的时钟配置也保持不变(主时钟状态寄存器CLK_CMSR)。
当一个内部或外部中断请求产生时,CPU从等待模式唤醒并恢复工作。
STM8停机(Halt)模式
在该模式下主时钟停止。即由fMASTER提供时钟的CPU及所有外设均被关闭。因此,所有外设均没有时钟,MCU的数字部分不消耗能量。
在停机模式下,所有寄存器与RAM的内容保持不变,默认情况下时钟配置也保持不变(主时钟状态寄存器CLK_CMSR)。
MCU可通过执行HALT指令进入停机模式。外部中断可将MCU从停机模式唤醒。外部中断指配置为中断输入的GPIO端口或具有触发外设中断能力的端口。
在这种模式下,为了节省功耗主电压调节器关闭。仅低电压调节器(及掉电复位)处于工作状态。
- 快速时钟启动
HSI RC的启动速度比HSE快(参见数据手册中电特性参数)。因此,为了减少MCU的唤醒时间,建议在进入暂停模式前选择HSI做为fMASTER的时钟源。
在进入停机模式前可通过设置内部时钟寄存器CLK_ICKR的FHWU位选择HSI做为fMASTER的时钟源,而无需时钟切换。参见时钟控制章节。
STM8活跃停机(Active Halt)模式
活跃停机模式与停机模式类似,但它不需要外部中断唤醒。它使用AWU,在一定的延时后产生一个内部唤醒事件,延迟时间是用户可编程的。
在活跃暂停模式下,主振荡器、CPU及几乎所有外设都被停止。如果AWU和IWD已被使能,则只有LSI RC与HSE仍处于运行状态,以驱动AWU和IWD计数器。为进入活跃停机模式,需首先使能AWU(如AWU章节所述),然后执行HALT指令。
- 主电压调节器自动关闭
默认情况下,为了从活跃停机模式快速唤醒,主电压调节器处于激活状态。但其电流消耗是不可忽视的。
为进一步降低功耗,当MCU进入活跃停机模式时,主电压调节器可自动关闭。通过设置内部时钟寄存器CLK_ICKR的REGAH位可实现此功能。此时:
- MCU内核由低功耗电压调节器(LPVR)供电(如同停机模式)。
- 仅LSI时钟源可用,因为HSE时钟源对于LPVR来说电流消耗太大。
在唤醒时主电压调节器重新被打开,这需要一个比较长的唤醒时间(参见STM8数据手册电特性部分唤醒时间与电流消耗的相关数据)。
- 快速唤醒时钟
如停机模式所述,为了缩短唤醒时间,建议使用HSI做为fMASTER的时钟源。FHWU位也可用于缩短切换时间。
在活跃停机模式下,快速唤醒是很重要的。这可以提高CPU的执行效率,使MCU处于运行状态与低功耗模式之间的时间最短,从而减少整体平均功耗。
|
STM8 低功耗模式
——