STM32/STM8技术william hill官网
直播中

硬汉Eric2013

10年用户 1035经验值
擅长:嵌入式技术
私信 关注
[资料]

【安富莱】【RTX操作系统教程】第23章 RTX低功耗之待机模式

本帖最后由 硬汉Eric2013 于 2016-2-18 15:20 编辑

完整PDF教程和例子下载:http://pan.baidu.com/s/1c0V2Why
【RTX操作系统教程】第23章 RTX低功耗之待机模式.pdf (662.13 KB)
(下载次数: 7, 2016-2-16 14:45 上传)


第23章    RTX低功耗之待机模式
    低功耗是MCU的一项非常重要的指标,本章节为大家讲解STM32F103和STM32F407的低功耗方式之待机模式在RTX操作系统上面的实现方法(RTX本身支持的tickless低功耗模式在第24章节讲解
     本章教程配套的例子含Cortex-M3内核的STM32F103和Cortex-M4内核的STM32F407。
23.1 STM32F103待机模式介绍
23.2 STM32F407待机模式介绍
23.3 实验例程说明
23.4      总结

23.1  STM32F103待机模式介绍
    说明:在RTX系统上面实现待机方式仅需了解这里讲解的知识基本就够用了,更多休眠方式的知识请看STM32F103参考手册和Cortex-M3权威指南。
    在系统或电源复位以后,微控制器处于运行状态。当CPU不需继续运行时,可以利用多种低功耗模式来节省功耗,例如等待某个外部事件时。用户需要根据最低电源消耗、最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。
    STM32F103有三种低功耗模式:
    (1)睡眠模式(Cortex™-M3内核停止,所有外设包括Cortex-M3核心的外设,如NVIC、系统滴答定时器Systick等仍在运行)。
    (2)停止模式(所有的时钟都已停止)。
    (3)待机模式(1.8V电源关闭)。
    本章节我们主要讲解待机模式,待机模式可实现系统的最低功耗。该模式是在Cortex-M3深睡眠模式时关闭电压调节器。整个1.8V供电区域被断电。PLL、HSI和HSE振荡器也被断电。SRAM和寄存器内容丢失,只有备份的寄存器和待机威廉希尔官方网站 维持供电。
在实际的待机模式编程时需要清楚那些问题呢? 请继续往下看。

23.1.1  STM32F103如何进入待机模式
    在RTX系统中,让STM32进入待机模式比较容易,调用固件库函数PWR_EnterSTANDBYMode即可。

23.1.2  STM32F103如何退出待机模式
    让STM32从待机模式唤醒可以通过外部复位(NRST引脚)、IWDG复位、WKUP引脚上的上升沿或RTC闹钟事件的上升沿。从待机唤醒后,除了电源控制/状寄存器,所有寄存器被复位。
    从待机模式唤醒后的代码执行等同于复位后的执行。电源控制/状态寄存器(PWR_CSR)将会指示内核由待机状态退出。
    在开发板上面是通过K2按键来唤醒,K2按键使用的引脚就是WKUP引脚。

23.1.3 STM32F103使用待机模式注意事项
    待机模式要注意以下问题:
(1) 在待机模式下,所有的I/O引脚处于高阻态,除了以下的引脚:
    A.  复位引脚(始终有效)。
    B.  当被设置为防侵入或校准输出时的TAMPER引脚。
    C.  被使能的唤醒引脚。


回帖(3)

硬汉Eric2013

2016-2-16 14:57:04
23.2 STM32F407待机模式介绍
    说明:在RTX系统上面实现待机方式仅需了解这里讲解的知识基本就够用了,更多休眠方式的知识请看STM32F407参考手册和Cortex-M4权威指南。
    在系统或电源复位以后,微控制器处于运行状态。当CPU不需继续运行时,可以利用多种低功耗模式来节省功耗,例如等待某个外部事件时。用户需要根据最低电源消耗、最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。
    STM32F407有三种低功耗模式:
    (1)睡眠模式(Cortex™-M4F内核停止,所有外设包括Cortex-M4核心的外设,如NVIC、系统滴答定时器Systick等仍在运行)。
    (2)停止模式(所有的时钟都已停止)。
    (3)待机模式(1.2V电源关闭)。
    本章节我们主要讲解待机模式,待机模式下可达到最低功耗。待机模式基于Cortex™-M4F深度睡眠模式,其中调压器被禁止。因此1.2 V域断电。PLL、HSI振荡器和HSE 振荡器也将关闭。除备份域RTC寄存器、RTC备份寄存器和备份SRAM)和待机威廉希尔官方网站 中的寄存器外,SRAM 和寄存器内容都将丢失。
     在实际的待机模式编程时需要清楚那些问题呢? 请继续往下看。

23.2.1 STM32F407如何进入待机模式
    在RTX系统中,让STM32进入待机模式比较容易,调用固件库函数PWR_EnterSTANDBYMode即可。

23.2.2 STM32F407如何退出待机模式
    让STM32从待机模式唤醒可以通过外WKUP 引脚上升沿、RTC闹钟(闹钟A和闹钟B)、RTC唤醒事件、RTC入侵事件、RTC 时间戳事件、NRST引脚外部复位和IWDG 复位,唤醒后除了电源控制/状寄存器,所有寄存器被复位。
     从待机模式唤醒后,程序将按照复位(启动引脚采样、复位向量已获取等)后的方式重新执行。PWR 电源控制/ 状态寄存器(PWR_CSR)中的SBF状态标志指示MCU已处于待机模式。
    在开发板上面是通过K2按键来唤醒,K2按键使用的引脚就是RTC入侵事件检测引脚PC13。

23.2.3 STM32F407使用待机模式注意事项
    待机模式要注意以下问题:
    (1) 将选择的待机模式唤醒源(RTC闹钟A、RTC闹钟B、RTC唤醒、RTC入侵或RTC时间戳标志)对应的RTC标志清零,防止无法正常进入待机模式。
    (2) 待机模式下的 I/O 状态
      A.  复位引脚(仍可用)。
      B.  RTC_AF1 引脚 (PC13)(如果针对入侵、时间戳、RTC闹钟输出或RTC时钟校准输出进行了配置)。
      C.  WKUP引脚 (PA0)(如果使能)。

举报

硬汉Eric2013

2016-2-16 15:14:47
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

硬汉Eric2013

2016-2-16 15:42:43
23.4  总结
    本章节主要为大家讲解了RTX低功耗之待机模式,这里仅是提供了一种停机模式在RTX上的实现思路,有兴趣的同学也可以想一些其它的实现思路。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分