在一些復(fù)雜環(huán)境,比如車間、工廠,特別是在有大型機(jī)電設(shè)備的環(huán)境下,我們的電源信號(hào)、通信信號(hào)都有可能受到干擾。
那么,在這種情況下,我們軟件和硬件都有必要做一定預(yù)防處理。
除了需要外接復(fù)位IC,同時(shí),為了系統(tǒng)能穩(wěn)定長(zhǎng)期的工作,我們可能還有必要添加看門狗。
本文就圍繞復(fù)位IC、看門狗相關(guān)內(nèi)容展開講解。
STM32都有一個(gè)最低工作電壓(比如1.8V),當(dāng)電源電壓跌落到低于MCU所要求的最低值時(shí),MCU工作可能發(fā)生混亂,造成程序跑飛,引起整機(jī)死機(jī)、誤動(dòng)作等現(xiàn)象。
使用復(fù)位IC的原理是通過(guò)確定的電壓值(閾值)啟動(dòng)復(fù)位操作,同時(shí)排除瞬間干擾的影響,又有防止MCU在電源啟動(dòng)和關(guān)閉期間的誤操作,保證數(shù)據(jù)安全。
STM32看門狗設(shè)計(jì)和復(fù)位
STM32具有IWDG獨(dú)立看門狗、WWDG窗口看門狗兩種類型的看門狗。
獨(dú)立看門狗由專用的低速時(shí)鐘(LSI)驅(qū)動(dòng),即使主時(shí)鐘發(fā)生故障它也仍然有效。而窗口看門狗由從APB1時(shí)鐘分頻后得到的時(shí)鐘驅(qū)動(dòng),通過(guò)可配置的時(shí)間窗口來(lái)檢測(cè)應(yīng)用程序非正常的過(guò)遲或過(guò)早的操作。
看門狗復(fù)位就是超過(guò)一定時(shí)間沒(méi)有喂狗,看門狗就會(huì)發(fā)出一個(gè)復(fù)位信號(hào)。
看門狗和復(fù)位IC同時(shí)存在的注意事項(xiàng)
之前有工程師遇到一個(gè)問(wèn)題:STM32外接了復(fù)位IC,發(fā)現(xiàn)自己的看門狗不起作用,也就是說(shuō)看門狗不能復(fù)位。
這個(gè)問(wèn)題可能很少有人遇到過(guò),我這里就先給大家講講原因,避免以后你以后入坑。 想要明白這里面原因,就需要對(duì)復(fù)位電路結(jié)構(gòu)和原理做一定的了解。
STM32復(fù)位
STM32的復(fù)位主要分為三類:系統(tǒng)復(fù)位、電源復(fù)位和后備域復(fù)位。
系統(tǒng)復(fù)位:
1. NRST引腳上的低電平(外部復(fù)位)
2. 窗口看門狗計(jì)數(shù)終止(WWDG復(fù)位)
3. 獨(dú)立看門狗計(jì)數(shù)終止(IWDG復(fù)位)
4. 軟件復(fù)位(SW復(fù)位)
5. 低功耗管理復(fù)位
電源復(fù)位:
1. 上電/掉電復(fù)位(POR/PDR復(fù)位)
2. 從待機(jī)模式中返回
備份區(qū)域復(fù)位:
1. 軟件復(fù)位,備份區(qū)域復(fù)位可由設(shè)置備份域控制寄存器(RCC_BDCR)中的BDRST位產(chǎn)生。
2. 在VDD和VBAT兩者掉電的前提下, VDD或VBAT上電將引發(fā)備份區(qū)域復(fù)位。
STM32復(fù)位內(nèi)部結(jié)構(gòu)圖
出現(xiàn)問(wèn)題的電路圖如下:
如果外接了復(fù)位IC,這里就需要大家認(rèn)真看上面兩圖。 一個(gè)重要的信息:外接復(fù)位IC驅(qū)動(dòng)類型為 CMOS 推拉型驅(qū)動(dòng)。 相信大家看到這里已經(jīng)明白了為什么。其實(shí),解決辦法就是:將電路中0Ω電阻改為 1K 電阻。 本文就講到這里,希望你以后遇到類似問(wèn)題,不會(huì)再犯這種低級(jí)的錯(cuò)誤。
責(zé)任編輯:彭菁
-
IC
+關(guān)注
關(guān)注
36文章
5881瀏覽量
175085 -
看門狗
+關(guān)注
關(guān)注
10文章
558瀏覽量
70707 -
電源電壓
+關(guān)注
關(guān)注
2文章
982瀏覽量
23916
原文標(biāo)題:STM32看門狗復(fù)位的一個(gè)問(wèn)題
文章出處:【微信號(hào):玩點(diǎn)嵌入式,微信公眾號(hào):玩點(diǎn)嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論