STM32為什么要外接復(fù)位芯片?
STM32都有一個最低工作電壓(比如1.8V),當電源電壓跌落到低于MCU所要求的最低值時,MCU工作可能發(fā)生混亂,造成程序跑飛,引起整機死機、誤動作等現(xiàn)象。
使用復(fù)位IC的原理是通過確定的電壓值(閾值)啟動復(fù)位操作,同時排除瞬間干擾的影響,又有防止MCU在電源啟動和關(guān)閉期間的誤操作,保證數(shù)據(jù)安全。
STM32看門狗設(shè)計和復(fù)位
STM32具有IWDG獨立看門狗、WWDG窗口看門狗兩種類型的看門狗。
獨立看門狗由專用的低速時鐘(LSI)驅(qū)動,即使主時鐘發(fā)生故障它也仍然有效。而窗口看門狗由從APB1時鐘分頻后得到的時鐘驅(qū)動,通過可配置的時間窗口來檢測應(yīng)用程序非正常的過遲或過早的操作。
看門狗復(fù)位就是超過一定時間沒有喂狗,看門狗就會發(fā)出一個復(fù)位信號。
看門狗和復(fù)位IC同時存在的注意事項
之前有工程師遇到一個問題:STM32外接了復(fù)位IC,發(fā)現(xiàn)自己的看門狗不起作用,也就是說看門狗不能復(fù)位。
這個問題可能很少有人遇到過,我這里就先給大家講講原因,避免以后你以后入坑。
想要明白這里面原因,就需要對復(fù)位電路結(jié)構(gòu)和原理做一定的了解。
STM32復(fù)位
STM32的復(fù)位主要分為三類:系統(tǒng)復(fù)位、電源復(fù)位和后備域復(fù)位。
系統(tǒng)復(fù)位:
1. NRST引腳上的低電平(外部復(fù)位)
2. 窗口看門狗計數(shù)終止(WWDG復(fù)位)
3. 獨立看門狗計數(shù)終止(IWDG復(fù)位)
4. 軟件復(fù)位(SW復(fù)位)
5. 低功耗管理復(fù)位
電源復(fù)位:
1. 上電/掉電復(fù)位(POR/PDR復(fù)位)
2. 從待機模式中返回
備份區(qū)域復(fù)位:
1. 軟件復(fù)位,備份區(qū)域復(fù)位可由設(shè)置備份域控制寄存器(RCC_BDCR)中的BDRST位產(chǎn)生。
2. 在VDD和VBAT兩者掉電的前提下, VDD或VBAT上電將引發(fā)備份區(qū)域復(fù)位。
可以參看文章:STM32復(fù)位來源,Cotrex-M系統(tǒng)與內(nèi)核復(fù)位區(qū)別
STM32復(fù)位內(nèi)部結(jié)構(gòu)圖
出現(xiàn)問題的電路圖如下:
如果外接了復(fù)位IC,這里就需要大家認真看上面兩圖。
一個重要的信息:外接復(fù)位IC驅(qū)動類型為 CMOS 推拉型驅(qū)動。