STM32低功耗模式与烟雾报警器触发信号电路设计

1、STM32的3种低功耗模式

STM32有3种低功耗模式,分别是睡眠模式、停机模式和待机模式。

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

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

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

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

3、各种低功耗模式下的唤醒条件

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

a、WAKEUP引脚的上升沿

b、RTC闹钟事件

c、NRST引脚上的外部复位

d、IWDG独立看门狗的复位

4、项目需求与低功耗模式选择

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

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

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

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

5、烟雾传感器模块

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

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

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

时序图如下:

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

6、烟雾传感器与STM32的连接

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

STM32的复位电路如下:

从上图和实际测试可以得出,当系统从低功耗管理复位时,程序代码将重头开始重新跑。

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

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

时间: 2024-10-24 14:58:22

STM32低功耗模式与烟雾报警器触发信号电路设计的相关文章

STM32低功耗模式实践

STM32低功耗模式实践 STM32一共有三种低功耗模式,睡眠模式.停止模式以及待机模式. 其中,睡眠模式时内核停止运行,但外设仍在工作,所有外设的时钟不会被关闭. 停止模式,除了Cortex-M3内核停止外,所有外设时钟也被关闭,可以选择使能内部时钟,SRAM和寄存器内容被保留,IO口保持为进入睡眠前的状态. 待机模式时,所有1.8V电源部分全部断电,SRAM和寄存器内容被丢失,这最为省电的一种方式,但是唤醒后就丢失了记忆. 本文选择使用停止模式,要低功耗,又要唤醒后继续运行,那stm32低功

C#学习笔记之线程 - 高级主题:等待和触发信号

等待信号和触发信号 - Signaling with Wait and Puls 前面讨论事件等待句柄--一个简单的信号机制,一个线程一直阻塞直到接收到另外一个线程的通知. 一个更强大的信号机制被Monitor类所经由静态函数Wait和Pluse(及PulseAll)提供.你自己编写通知逻辑,使用自定义标记和字段(加上锁),然后引入Wait和Pluse命令来阻止自旋.就lock语句和这些函数,你就可以完成AutoResetEvent,ManualResetEven和Semaplore的功能,同样

1_CC2530 Zstack 2.5.1a 低功耗模式

最近在研究CC250的低功耗模式,从官方的文档Measuring Power Consumption of CC2530 With Z-Stack.PDF文档中大概了解下需要配置的内容,结合自己测试的经验,大概介绍下.使用Zstack的版本如下: ZigBee 2007 Release Version 2.5.1a April 25, 2012 CC530的功耗模式情况如下: (1)LITE Sleep,我们所说的PM2模式,功耗在ma级别,会被任务定时器或者外部中断唤醒(按键中断) (2)De

android wifi SWOL低功耗模式

1 睡眠模式RX代码流程 ar_wal_rx_patch.c::patch_rx_process_recv_status//调用rx_ctxt->data_ind_handler -> ar_wal_rx_common_patch.c::patch_rx_install_data_ind -> 2 低功耗模式代码流程 3 添加的代码patch

13、低功耗模式

1.低功耗模式 在系统或电源复位以后,微控制器处于运行状态.当CPU不需继续运行时,可以利用多种低功耗模式来节省功耗,例如等待某个外部事件时.用户需要根据最低电源消耗.最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式. 2.STM32F10xxx有三种低功耗模式:●  睡眠模式(Cortex™-M3内核停止,所有外设包括Cortex-M3核心的外设,如NVIC.系统时钟(SysTick)等仍在运行) ●  停止模式(所有的时钟都已停止) ●  待机模式(1.8V电源关闭) 此外,在运

STM32启动模式及API(转)

源:STM32启动模式及API 我们玩ARM9,一般都是在内存里调试程序,速度飞快.STM32下也可以这样,虽说现在的flash寿命已经很长了,但flash中调试烧录程序还是一个很慢的过程,有时候程序上一个小小的改动要花上几倍的时间下载代码,这确实是不能忍受的. 我们也可以在开发STM32时,在内存中调试程序. { STM32这颗Cortex-M3控制器,与其他许多ARM一样,提供了BOOT0和BOOT1两个管脚用于启动选择.BOOT1=x  BOOT0=0  从用户闪存启动,这是正常的工作模式

MSP430 G2553 低功耗模式LPMx

MSP430除了正常运行时的active模式外,还支持五种低功耗模式(Low-power mode),分别为LPM0.LPM1.LPM2.LPM3.LPM4,由状态寄存器中的CPUOFF.OSCOFF.SCG0.SCG1比特位设置. 六种模式对应的时钟状态为: 其中,LPM3.LPM4比较常用,对低功耗的贡献也最大.LPM3模式关闭了DCO.CPU,从而MCLK.SMCLK无法工作,ACLK(来源为LFXT1或VLO)可以正常工作并用于系统的定时唤醒.LPM4模式下所有内部时钟信号都关闭,系统只

STM32中用 stop 模式 配合低功耗模式下的自动唤醒(AWU) 能否实现FreeRTOS tickless 模式

原文地址:https://www.cnblogs.com/suozhang/p/9946097.html

STM32 GPIO模式理解

stm32的GPIO的配置模式有好几种,包括: 1. 模拟输入: 2. 浮空输入: 3. 上拉输入: 4. 下拉输入: 5. 开漏输出: 6. 推挽输出: 7. 复用开漏输出: 8. 复用推挽输出 如图是GPIO的结构原理图: 1.模拟输入 从上图我们可以看到,我觉得模拟输入最重要的一点就是,他不经过输入数据寄存器,所以我们无法通过读取输入数据寄存器来获取模拟输入的值,我觉得这一点也是很好理解的,因为输入数据寄存器中存放的不是0就是1,而模拟输入信号不符合这一要求,所以自然不能放进输入数据寄存器