STM8 低功耗模式 STM8应用笔记

发布者:Changsheng520最新更新时间:2021-10-14 来源: eefocus关键字:STM8  低功耗模式  中断向量表 手机看文章 扫描二维码
随时随地手机看文章

四种STM8低功耗模式的主要特性如表12。

STM8四种低功耗模式
(表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  低功耗模式  中断向量表 引用地址:STM8 低功耗模式 STM8应用笔记

上一篇:一个STM8串口**程序教程
下一篇:STM8 FOR IAR 中实现绝对地址跳转

推荐阅读最新更新时间:2024-11-11 13:11

STM8 AWU超低功耗模式
__interrupt void AWU_IRQHandler(void) { AWU- CSR = AWU- CSR; /* 清除更新中断标志位 */ } void Enter_Halt() { CLK_DeInit(); AWU_DeInit(); AWU_Cmd(ENABLE); CLK_SlowActiveHaltWakeUpCmd(ENABLE);//进入超低功耗模式 asm( halt ); } 欢迎使用Markdown编辑器写博客 本Markdown编辑器使用 StackEdit 修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Mark
[单片机]
stm8的GPIO引脚模式
GPIO_Mode_In_FL_No_IT 浮空输入无中断 GPIO_Mode_In_PU_No_IT 上拉输入无中断 GPIO_Mode_In_FL_IT 浮空输入有中断 GPIO_Mode_In_PU_IT 上拉输入有中断 GPIO_Mode_Out_OD_Low_Fast 开漏-输出低-高速 Output open-drain, low level, 10MHz GPIO_Mode_Out_PP_Low_Fast 推挽-输出低-高速 Output push-pull, low level, 10MHz GPIO_Mode_Out_OD_Low_Slow 开漏-输出低-低速 Output open
[单片机]
详解STM32三种低功耗模式
01 前言 按功耗由高到低排列,STM32 具有运行、睡眠、停止和待机四种工作模式。上电复位后 STM32 处于运行状态,当内核不需要继续运行,就可以选择进入后面的三种低功耗模式降低功耗,这三种模式中,电源消耗不同、唤醒时间不同、唤醒源不同,用户需要根据应用需求,选择最佳的低功耗模式。三种低功耗的模式说明如下图: 从表中可以看到,这三种低功耗模式层层递进,运行的时钟或芯片功能越来越少,因而功耗越来越低。 02 不同模式下软件工作方式的对比 1、睡眠模式:在睡眠模式中,仅关闭了内核时钟,内核停止运行,但其片上外设,CM4 核心的外设全都还照常运行,在软件上表现为不再执行新的代码。这个状态会保留睡眠前的内核寄存器、内存
[单片机]
stm8的18b20温度显示程序
单片机源程序如下: #include stm8s.h #include Cry12864.h #include temp.h #include tim1.h void LcdDisplay(int temp) ; uint a; void main( void ) { CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//内部时钟1分频16m Ini_Lcd();//液晶初始化 Tim1_Init();//时钟初始化 while(1) {LcdDisplay(Ds18b20ReadTemp()); } }
[单片机]
STM8单片机ADC应用(IAR)
STM8片上集成了10位逐次比较型模数转换器,在开发板上有个电位器接到了AIN3,但没有可以显示数据的LED数码管或LCD液晶显示屏,怎么办呢?可以把AD采集数据通过UART发送到电脑上显示。 #i nclude void CLK_init(void) { CLK_CKDIVR = 0x08; // 16M内部RC经2分频后系统时钟为8M } void GPIO_init(void) { PD_DDR = 0x08; // 配置PD端口的方向寄存器PD3输出 PD_CR1 = 0x08; // 设置PD3为推挽输出 PD_CR2 = 0x80; // 使能PD7外部中断 } void EXTI_init(void) { EXT
[单片机]
STM8单片机产生随机数
最近需要用到单片机随机数,但是用rand()产生的随机数,发现每次单片机上电时产生的随机数都是一样的,没有实现真正的随机数。查资料发现要用到srand(t)产生一个随机种子,同样获取随机种子的时候也需要一个随机信号,随机信号可以通过系统时间或者悬空的AD引脚产生。但是对于单片机来说每次上电后系统时间都是一样的,所以每次上电产生的随机数也是一样的。也可以读取悬空的AD引脚值,这样每次读取AD的值是随机的,用这个产生随机数是可行的。但是由于条件限制没有悬空的AD引脚可以用。难道就没有更简单的方式实现每次上电都产生不同的随机数吗?突然想到了每次上电时单片机内存中有些地址的值是随机的,那么能不能每次一上电就去读内存中的值,然后用这些值去产
[单片机]
ST Visual Programmer(STVP)给STM8系列芯片烧录程序方法
由于之前用IAR下载程序出现故障,需要用ST Visual Programmer(STVP)给STM8系列芯片烧录一次程序,下面主要介绍下载步骤: (1)、需要用到.s19文件,该文件可由IAR生成。 打开IAR并打开已有工程 – 单击工程头选择Options – 选择Output Converter – 选择Generate additional output – 选择output format中的Motorola选项 – 选择override default – 将输出文件的后缀名改为.s19 – 重新编译整个工程 – .s19在DebugExe目录下 (2)、打开ST Visual Programmer(STVP
[单片机]
ST Visual Programmer(STVP)给<font color='red'>STM8</font>系列芯片烧录程序方法
STM32开发 -- 低功耗模式详解(1)
很多单片机都有低功耗模式,STM32 也不例外。当 CPU 不需继续运行时,可以利用多个低功耗模式来节省功耗。 这部分不是我负责,但是也是有必要看一下的。 参看: STM32F1开发指南-库函数版本_V3.2.pdf STM32中文参考手册_V10.pdf 一、低功耗模式 在系统或电源复位以后,微控制器处于运行状态。当CPU不需继续运行时,可以利用多种低功耗模式来节省功耗,例如等待某个外部事件时。用户需要根据最低电源消耗、最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。 STM32有三种低功耗模式: ● 睡眠模式(Cortex™-M3内核停止,所有外设包括Cortex-M3核心的外设,如NVIC、系统时钟
[单片机]
STM32开发 -- <font color='red'>低功耗</font><font color='red'>模式</font>详解(1)

推荐帖子

【机智云Gokit3测评】+开箱测试
今天终于拿到了这款机智云Gokit3,迫不及待的打开来看一看。首先,我们先看看这款产品的组成。它主要由两部分组成。 ArduinoUNOR3底板正面反面想必我们大家都了解过Arduino,说Arduino是目前DIY最火热的开发板也不为过。素来以开发灵活,使用简单,库藏丰富等享誉中外。本产品以Arduino为底板,想必也是为了开发灵活且使用便捷。 核心板正面反面我们都知道,多种多样的扩展板,是Arduino最大的特色之一,而
跋扈洋 国产芯片交流
《调速风扇电路图》中IC型号???
请大侠告知本站《调速风扇电路图》中IC型号,不胜感谢!!!《调速风扇电路图》中IC型号???
qingge401 DIY/开源硬件专区
请问编CE串口摄像头所需的硬件知识?
要编一个CE流驱动的串口的摄像头驱动,但我对硬件这方面没有概念,我需要了解串口的哪些硬件知识呢?还有摄像头的硬件知识从哪能获得呢?如何将这些硬件的设置过渡到软件上呢?请好心人能给点提示好吗?非常感谢你们了~~请问编CE串口摄像头所需的硬件知识?如果是外挂在串口上的,不需要驱动就可以串口编程了,你只要了解一下,操作摄像头的串指令或者方法就可以。。。。。对呀,是外挂上去的,请问操做摄像头的串指令那里有介绍呢?我找不到这方面的资料,你有好的介绍吗?以后需再关注,现在先帮你顶一下
双手互搏 嵌入式系统
哪位大侠可以帮忙看看我们这个开关电源的电路图那里出错了
本帖最后由paulhyde于2014-9-1504:00编辑哪位大侠可以帮忙看看我们这个开关电源的电路图那里出错了本帖最后由paulhyde于2014-9-1504:00编辑没办法工作在均流模式,一接负载的话只有主控的输出电流,从控的没办法输出。本帖最后由paulhyde于2014-9-1504:00编辑675878276,做完电源的同学帮帮忙,讨论下,也许对我有帮助。集成电路型号没有,不知道这种用法对不对?
alvin198720 电子竞赛
如何区分dBm,dB,dBi,dBd等
纯计数单位首先,dB是一个纯计数单位:对于功率,dB=10*lg(A/B)。对于电压或电流,dB=20*lg(A/B).dB的意义其实再简单不过了,就是把一个很大(后面跟一长串0的)或者很小(前面有一长串0的)的数比较简短地表示出来。如:X=1000000000000000(共15个0)10lgX=150dBX=0.00000000000000110lgX=-150dBdBm定义的是miliwatt。0dBm=10lg1mw;dBw定义watt。0dBw=
Jacktang RF/无线
【Follow me第二季第3期】 EK-RA6M5开发板开箱分享
收到【Followme第二季第3期】入围消息的那一刻非常激动,马上去Digikey下单了瑞萨电子的RA6M5开发板,经过一周的漫长等待(快递是从美国发过来的,所以等了有足足一周),这块开发板终于漂洋过海到了我的手里,今天带大家开个箱看看。装开发板的是一个和14寸电脑大小差不多的纸箱子,除了贴了几张快递单,正面还有个账单。如图(扔箱子之前记得把这个纸拿出来):划开箱子,拿走填充物(上面足足有三层,填的满满的),就可以看到瑞萨的这款产品了。相比这么大的快递盒子,开发板的包装盒
breeze_i DigiKey得捷技术专区
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved