电路设计_STM8S003F3P6 AWU&ADC使用小结

序言

现象:当ADC初始化之后,再进休眠,那么AWU唤醒会出现异常,表现为唤醒不成功。
解决办法:在睡眠唤醒之后初始化ADC,在进休眠之前关闭ADC功能。

工作模式


Run mode
    正常运行模式,功耗最大。

Wait mode
    在运行模式下执行WFI(等待中断)指令,可进入等待模式。此时CPU停止运行,但外设与中断控制器仍保持运行,因此功耗会有所降低。等待模式可与PCG(外设时钟门控),降低CPU时钟频率,以及选择低功耗时钟源(LSI,HSI)相结合使用,以进一步降低系统功耗。参见时钟控制 (CLK)的说明。
    在等待模式下,所有寄存器与RAM的内容保持不变,之前所定义的时钟配置也保持不变(主时钟状态寄存器CLK_CMSR)。 当一个内部或外部中断请求产生时,CPU从等待模式唤醒并恢复工作。

Active halt mode
    活跃停机模式与停机模式类似,但它不需要外部中断唤醒。它使用AWU,在一定的延时后产生一个内部唤醒事件,延迟时间是用户可编程的。
    在活跃暂停模式下,主振荡器、CPU及几乎所有外设都被停止。如果AWU和IWD已被使能,则只有LSI RC与HSE仍处于运行状态,以驱动AWU和IWD计数器。为进入活跃停机模式,需首先使能AWU(如AWU章节所述),然后执行HALT指令。

Halt mode
    在该模式下主时钟停止。即由f MASTER 提供时钟的CPU及所有外设均被关闭。因此,所有外设均没有时钟,MCU的数字部分不消耗能量。
    在停机模式下,所有寄存器与RAM的内容保持不变,默认情况下时钟配置也保持不变(主时钟状态寄存器CLK_CMSR)。 MCU可通过执行HALT指令进入停机模式。外部中断可将MCU从停机模式唤醒。外部中断指配置为中断输入的GPIO端口或具有触发外设中断能力的端口。
    在这种模式下,为了节省功耗主电压调节器关闭。仅低电压调节器(及掉电复位)处于工作状态。

功耗清单







根据表格内容,我们可以估算出各个部分的功耗情况如下:
· MVR: About 135uA
· Flash: About 60uA
· AWU + LSI: About 4uA

总结

    所以,为了降低芯片的待机功耗,在芯片进入休眠状态之前,需要切换工作时钟源为LSI,将Flash切换为掉电模式,将供电切换为LPVR。
    我在应用的时候发现,将Flash切换为掉电模式后会存在不稳定的情况,具体表现为工作一段时间之后死机。在当前应用里面没有将Flash处于掉电模式,实测功耗在120uA左右,1000mAH的电池可待机1年,基本满足使用需求。

参考链接

ST_AN2857《STM8S and STM8A family power management 》
评论 3 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页

打赏作者

黑崎江

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值