注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
hejecu的个人空间 https://home.eeworld.com.cn/space-uid-309995.html [收藏] [复制] [分享] [RSS]
日志

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

已有 504 次阅读2018-11-24 18:56 |个人分类:闪电F407开发板资料

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

14.2 实验简介
现在很多MCU都有低功耗控制,当需要系统省电时,就需要进入适当的低功耗模式来降低系统的功耗,由其当MCU用在电池供电的设备上时,低功耗尤为重要,下面我们介绍STM32F4的3种低功耗模式及其唤醒条件。
睡眠模式:进入睡眠模式时,内核时钟停止,从睡眠模式中恢复并不需要任何特殊的序列,但要重新使能ARM内核的时钟。在睡眠模式下,指令的执行被中止直至复位或中断出现。外设在CPU内核处于睡眠模式期间继续运转,并可产生中断使处理器恢复执行指令。睡眠模式下,处理器内核自身、存储器系统、有关控制器及内部总线停止工作,因此这些器件的动态功耗会降低。只要出现任何使能的中断,CPU内核就会从睡眠模式中唤醒。

停止模式:在停止模式下电压调节器可运行在正常或低功耗模式。此时在1.2V供电区域的的所有时钟都被停止, PLL、 HSI和HSE RC振荡器的功能被禁止, SRAM和寄存器内容被保留下来。在停止模式下,所有的I/O引脚都保持它们在运行模式时的状态。
停止模式进入和退出

待机模式:待机模式可实现系统的最低功耗。该模式是在Cortex-M4深睡眠模式时关闭电压调节器。整个1.2V供电区域被断电。 PLL、 HSI和HSE振荡器也被断电。 SRAM和寄存器内容丢失。只有备份的寄存器和待机电路维持供电。
待机模式的进入和退出

这三种模式最低功耗的是待机模式,其只需要2.2uA左右的电流。停机模式是次低功耗的,其典型的电流消耗在350uA左右。最后就是睡眠模式了。


14.3 电路设计
本实验用到的硬件资源有LED、按键以及串口,电路图前面已经介绍过,LED指示程序运行,按键用于唤醒MCU。

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

图14.4.1
打开pwr.c文件,其中关于待机模式的代码如下:


打开main.c文件,代码如下:




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



此内容由EEWORLD论坛网友hejecu原创,如需转载或用于商业用途需征得作者同意并注明出处

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章