打印
[应用相关]

STM32在不同模式下的电流消耗及唤醒时间

[复制链接]
611|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 梅花香自123 于 2020-10-25 23:46 编辑

1、STM32的3种低功耗模式


使用特权

评论回复
沙发
梅花香自123|  楼主 | 2020-10-25 23:43 | 只看该作者
STM32有3种低功耗模式,分别是睡眠模式、停机模式和待机模式。

使用特权

评论回复
板凳
BettyBerry| | 2020-10-25 23:46 | 只看该作者
可以直接通过时钟来达到低功耗模式吗

使用特权

评论回复
地板
梅花香自123|  楼主 | 2020-10-25 23:46 | 只看该作者
本帖最后由 梅花香自123 于 2020-10-25 23:47 编辑

2、STM32在不同模式下的电流消耗

a、工作模式  消耗电流在27mA至36mA之间。

STM32在不同模式下的电流消耗及唤醒时间

使用特权

评论回复
5
梅花香自123|  楼主 | 2020-10-25 23:46 | 只看该作者
本帖最后由 梅花香自123 于 2020-10-25 23:49 编辑

b、睡眠模式  消耗电流在5.5mA至14.4mA之间。

STM32在不同模式下的电流消耗及唤醒时间

使用特权

评论回复
6
梅花香自123|  楼主 | 2020-10-25 23:49 | 只看该作者
BettyBerry 发表于 2020-10-25 23:46
可以直接通过时钟来达到低功耗模式吗

不管哪种模式通过关闭相应的时钟来达到降低功耗的目的都是可行的。
因为mcu的主要功耗来源也是时钟,其余的部分还有管脚上的一些漏电流。

使用特权

评论回复
7
梅花香自123|  楼主 | 2020-10-25 23:49 | 只看该作者
本帖最后由 梅花香自123 于 2020-10-25 23:57 编辑

c、停机模式和待机模式  停机模式消耗电流在15uA  待机模式在5uA


使用特权

评论回复
8
梅花香自123|  楼主 | 2020-10-25 23:52 | 只看该作者
3、各种低功耗模式下的唤醒条件

从上面的图表1可以看到,在睡眠模式下和待机模式下可以利用外部中断唤醒,而停机模式下只能通过以下4种方式唤醒:

a、WAKEUP引脚的上升沿

b、RTC闹钟事件

c、NRST引脚上的外部复位

d、IWDG独立看门狗的复位

使用特权

评论回复
9
梅花香自123|  楼主 | 2020-10-25 23:53 | 只看该作者
4、项目需求与低功耗模式选择

项目的特殊需求有以下两点:

a、有烟雾报警情况下的随时从低功耗模式退出,使用wifi传输报警信号

b、报警器需要定时报告自身的状态,所以到时间了必须从低功耗模式退出。

根据需求b,必须要用STM32的RTC功能。所以功耗选择模式必须选择待机模式,即MCU在运行状态下消耗电流约为30mA,在低功耗模式下消耗电流约为5uA。

使用特权

评论回复
10
梅花香自123|  楼主 | 2020-10-25 23:54 | 只看该作者
本帖最后由 梅花香自123 于 2020-10-25 23:58 编辑

5、烟雾传感器模块

烟雾传感器模块的电路主要使用了XC5012芯片。它与Freescale的MC145012 Pin-to-Pin匹配。MC145012的结构框图如下:

注意上图中的IO引脚,它就是为了扩展。它的详细定义如下:


使用特权

评论回复
11
梅花香自123|  楼主 | 2020-10-25 23:55 | 只看该作者
本帖最后由 梅花香自123 于 2020-10-25 23:58 编辑

其功能就是当自身烟雾传感器检查到烟雾时,其输出脉冲信号,当其级联时,它可以接受别的模块的报警信号。


使用特权

评论回复
12
梅花香自123|  楼主 | 2020-10-25 23:55 | 只看该作者
本帖最后由 梅花香自123 于 2020-10-25 23:59 编辑

时序图如下:

当芯片检查到烟雾报警条件满足时,在IO引脚上输出高电平,直到芯片检查到烟雾报警条件不满足。


使用特权

评论回复
13
梅花香自123|  楼主 | 2020-10-25 23:56 | 只看该作者

[color=rgb(51, 51, 51) !important]6、烟雾传感器与STM32的连接

[color=rgb(51, 51, 51) !important]因为项目需求a的约束,所以必须要用STM32低功耗的待机模式,但是此种低功耗模式不支持外部中断唤醒。因此要利用STM32的WAKEUP引脚唤醒待机模式。

[color=rgb(51, 51, 51) !important]STM32的复位电路如下:

[color=rgb(51, 51, 51) !important]

[color=rgb(51, 51, 51) !important]从上图和实际测试可以得出,当系统从低功耗管理复位时,程序代码将重头开始重新跑。



使用特权

评论回复
14
梅花香自123|  楼主 | 2020-10-25 23:57 | 只看该作者

但是硬件电路设计上必须区分,目前的复位重新运行是因为WAKEUP引脚的上升沿引起复位(实际就是因为有烟雾报警的情况而产生复位)还是因为RTC闹钟事件引起的复位(实际就是因为定时报告事件到了而产生的复位)。

根据以上情况设计的接口电路图如下:


使用特权

评论回复
15
caoenq| | 2020-10-28 17:20 | 只看该作者
缺唤醒时间的部分。

使用特权

评论回复
16
逢dududu必shu| | 2020-10-28 23:22 | 只看该作者
没有烟雾报警的情况下会怎么样呢?

使用特权

评论回复
17
梅花香自123|  楼主 | 2020-10-28 23:57 | 只看该作者
caoenq 发表于 2020-10-28 17:20
缺唤醒时间的部分。

应该是限制发帖了,就没有继续发,后续会补上的,谢谢提醒。

使用特权

评论回复
18
梅花香自123|  楼主 | 2020-10-28 23:58 | 只看该作者
逢dududu必shu 发表于 2020-10-28 23:22
没有烟雾报警的情况下会怎么样呢?

应该是会...不复位吧。。哈哈哈哈

使用特权

评论回复
19
wowu| | 2020-11-13 12:33 | 只看该作者
用户们有自己的实测数据吗

使用特权

评论回复
20
xiaoqizi| | 2020-11-13 12:34 | 只看该作者
唤醒时间的数据有没有

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

87

主题

1054

帖子

0

粉丝