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

hehe

11年用户 72经验值
擅长:嵌入式技术 控制/MCU 嵌入式技术 控制/MCU
私信 关注

【连载】【星光闪电STM32F407开发板】第十四章 低功耗实验

本帖最后由 hejecu 于 2018-11-14 08:12 编辑

第十四章 低功耗实验
14.1 实验目的
本章学习STM32的低功耗控制,掌握如何进入低功耗状态以及如何从此状态唤醒,数据手册请参看第4章电源控制PWR中的内容。

14.2 实验简介
现在很多MCU都有低功耗控制,当需要系统省电时,就需要进入适当的低功耗模式来降低系统的功耗,由其当MCU用在电池供电的设备上时,低功耗尤为重要,下面我们介绍STM32F4的3种低功耗模式及其唤醒条件。
睡眠模式:进入睡眠模式时,内核时钟停止,从睡眠模式中恢复并不需要任何特殊的序列,但要重新使能ARM内核的时钟。在睡眠模式下,指令的执行被中止直至复位或中断出现。外设在CPU内核处于睡眠模式期间继续运转,并可产生中断使处理器恢复执行指令。睡眠模式下,处理器内核自身、存储器系统、有关控制器及内部总线停止工作,因此这些器件的动态功耗会降低。只要出现任何使能的中断,CPU内核就会从睡眠模式中唤醒。
图片14.png
停止模式在停止模式下电压调节器可运行在正常或低功耗模式。此时在1.2V供电区域的的所有时钟都被停止, PLL、 HSI和HSE RC振荡器的功能被禁止, SRAM和寄存器内容被保留下来。在停止模式下,所有的I/O引脚都保持它们在运行模式时的状态。
停止模式进入和退出
图片15.png
待机模式待机模式可实现系统的最低功耗。该模式是在Cortex-M4深睡眠模式时关闭电压调节器。整个1.2V供电区域被断电。 PLL、 HSI和HSE振荡器也被断电。 SRAM和寄存器内容丢失。只有备份的寄存器和待机威廉希尔官方网站 维持供电。
待机模式的进入和退出
图片16.png
这三种模式最低功耗的是待机模式,其只需要2.2uA左右的电流。停机模式是次低功耗的,其典型的电流消耗在350uA左右。最后就是睡眠模式了。
图片17.png


14.
3 威廉希尔官方网站 设计
本实验用到的硬件资源有LED、按键以及串口,威廉希尔官方网站 图前面已经介绍过,LED指示程序运行,按键用于唤醒MCU。

14.4 软件设计打开光盘目录下的3、程序源码->1、基础实验->下的实验11 低功耗实验,其下有3个实验,分别对应待机模式、停止模式和休眠模式,这里我们以待机模式为例,另外2种模式,请读者自行查看。打开待机模式下的实验工程,左侧目录树BSP下的pwr.c文件,此为STM32的低功耗控制驱动程序文件,工程目录如下图所示:
图片18.png
图14.4.1
打开pwr.c文件,其中关于待机模式的代码如下:
图片19.png
图片20.png
打开main.c文件,代码如下:
图片21.png
图片22.png
图片23.png
图片24.png


14.5 下载验证

用MINI USB线通过CN3的USB口连接电脑和开发板,拨动电源开关给开发板上电,D3电源指示灯点亮,连接好JLINK/ST-LINK下载调试器,打开“实验11 低功耗实验”工程代码,编译下载,程序运行,D4 D5指示灯亮灭一次,然后快速闪烁,按下一次KEY3按键,进入待机模式,如果按下KEY1(PA0)按键,PA0产生一个上升沿跳变,就会唤醒MCU,LED重新闪烁。






更多回帖

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