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

1、STM32的3种低功耗模式

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

 

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

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

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

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

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

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

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

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

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的结构框图如下:

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

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

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

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

时序图如下:

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

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

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

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

STM32的复位电路如下:

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

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

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

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

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

文章转自:http://www.cnblogs.com/kanite/p/5352642.html

“STM32低功耗模式与烟雾报警器触发信号电路设计”的2个回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注