STM32低功耗模式與煙霧報警器觸發訊號電路設計

2022-04-01 18:17:30 字數 2129 閱讀 8162

1、stm32的

3種低功耗模式

stm32有

3種低功耗模式,分別是睡眠模式、停機模式和待機模式。

2、stm32在不同模式下的電流消耗

a、工作模式  消耗電流在

27ma

至36ma

之間。

b、睡眠模式  消耗電流在

5.5ma

至14.4ma

之間。

c、停機模式和待機模式  停機模式消耗電流在

15ua  

待機模式在

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鬧鐘事件引起的復位(實際就是因為定時報告事件到了而產生的復位)。

根據以上情況設計的介面電路圖如下:

STM32低功耗模式 停止模式

停止模式是在cortex m3的深睡眠模式基礎上結合了外設的時鐘控制機制,在停止模式下電壓調節器可執行在正常或低功耗模式。此時在1.8v供電區域的的所有時鐘都被停止,pll hsi和hse rc振盪器的功能被禁止,sram和暫存器內容被保留下來。thumb指令不支援彙編內聯 採用如下方法實現執行彙編...

STM32低功耗設計

具體要點為 1 所有io管腳,如果高阻狀態埠是高電平,就設成上拉輸入,如果高阻狀態是低電平,設成下拉輸入,如果高阻是中間狀態,設成模擬輸入。這個很多人都提到過,必須的。作為輸出口就免了,待機你想輸出個什麼東西,一定要輸,硬體上加上下拉就可以了 2 兩個晶振輸入腳要remap成普通io!使用內部晶振。...

STM32的3種低功耗模式

睡眠模式 核心停止,外設如nvic,系統時鐘systick仍執行。停止模式 所有時鐘都已停止 1.8v核心電源工作 pll,his和hserc振盪器功能禁止 暫存器和sram內容保留。待機模式 1.8v核心電源關閉 只有備份暫存器和待機電路維持供電 暫存器和sram內容全部丟失 實現最低功耗。在待機...