性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

硬件基礎(chǔ)——看門狗

今天我們來(lái)聊聊正經(jīng)的“狗”,屬于單片機(jī)的專屬Dog

從字面的意思來(lái)看,就是負(fù)責(zé)看門的,那在單片機(jī)的系統(tǒng)中是如何實(shí)現(xiàn)“看門”的本領(lǐng)的?

看門狗,簡(jiǎn)寫WDT,屬于定時(shí)器的一種,當(dāng)出現(xiàn)計(jì)時(shí)溢出的時(shí)候,就會(huì)觸發(fā)系統(tǒng)復(fù)位,使程序重新開始執(zhí)行,是一種保護(hù)機(jī)制。當(dāng)運(yùn)行的系統(tǒng)遇到強(qiáng)磁場(chǎng),導(dǎo)致系統(tǒng)跑飛(正常系統(tǒng)中會(huì)定時(shí)喂狗)而不能正常喂狗時(shí),看門狗就能強(qiáng)制復(fù)位整個(gè)系統(tǒng),使程序重頭執(zhí)行。這樣就能避免系統(tǒng)停滯帶來(lái)的風(fēng)險(xiǎn)和事故。特別是在工業(yè)領(lǐng)域,非常常用。

那如何讓這個(gè)“定時(shí)器”不溢出呢?

正常狀態(tài)下,我們使用的時(shí)候是不允許看門狗溢出的,不然系統(tǒng)一直復(fù)位,還怎么運(yùn)行程序呢?

所以我們要定時(shí)定點(diǎn)的給對(duì)應(yīng)的寄存器“置一次值”,就是我們常說(shuō)的“喂狗”。

現(xiàn)實(shí)中我們養(yǎng)的寵物狗,如果長(zhǎng)時(shí)間不喂,它會(huì)不會(huì)一直叫,或者一直以各種方式騷擾你,讓你無(wú)法正常工作,所以要想避免這種情況出現(xiàn),就得按時(shí)“喂狗”。

單片機(jī)中的“喂狗”和實(shí)現(xiàn)中的“喂狗”是不一樣的。

單片機(jī)中的“看門狗”自然也和實(shí)現(xiàn)中的狗沒(méi)有任何的關(guān)系。一個(gè)是物理上的,一個(gè)是生物上的。

但是我們完全可以借助現(xiàn)實(shí)中的狗來(lái)理解單片機(jī)中看門狗的概念

從STM32的手冊(cè)中我們可以看到,STM32中簡(jiǎn)稱為IWDG,中文名:獨(dú)立看門狗。(這里看不懂的可以直接跳過(guò)

當(dāng)IWDG看門狗模塊監(jiān)測(cè)到計(jì)數(shù)溢出時(shí),IWDG reset信號(hào)輸出低,經(jīng)過(guò)與邏輯電路觸發(fā)脈沖發(fā)生器,產(chǎn)生一個(gè)正向窄脈沖以控制MOSFET在該脈沖寬度期間導(dǎo)通,并經(jīng)由濾波電路產(chǎn)生系統(tǒng)復(fù)位事件信號(hào),進(jìn)而觸發(fā)STM32復(fù)位。

至于軟件上如何配置相應(yīng)的寄存器來(lái)啟動(dòng)“看門狗”的本文就不展開講解了,今天核桃主要想和小伙伴們分享一下外置的“硬件看門狗”是如何工作的。

我們先看圖1所示:

圖1

先理清SP706各個(gè)管腳的作用

MR 手動(dòng)復(fù)位輸入端:也就是當(dāng)MR電壓低于0.6V時(shí),RESET輸出有效復(fù)位信號(hào)。

PFI 門限檢測(cè)器輸入端:當(dāng)電壓跌落低于1.25V時(shí),PFO輸出低電平。

WDI 看門狗輸入端: 也就是常說(shuō)的喂狗,當(dāng)WDI維持高電平或者低電平超過(guò)1.6S后,看門狗定時(shí)器就會(huì)溢出,WDO直接輸出低電平。只有WDI的電平在1.6S有跳變,看門狗的定時(shí)器才會(huì)被清零。(就是說(shuō)1.6s內(nèi)得給你家狗狗吃的,不然它會(huì)叫)

RESET 復(fù)位輸出管腳:受VCC和MR控制。

WDO 看門狗輸出端:當(dāng)計(jì)時(shí)溢出和VCC低于復(fù)位的門限時(shí),WDO輸出低電平,正常情況下輸出高電平。

工作原理:

PFI和PFO我們可以暫時(shí)不管,都是用來(lái)監(jiān)測(cè)電壓的。

WDI 我們知道是看門狗的輸入管腳,也就是說(shuō)芯片一上電工作,定時(shí)器就開始計(jì)時(shí),如果超過(guò)1.6S,WDI管腳的電平?jīng)]有任何跳變的話,定時(shí)器就會(huì)溢出,WDO輸出低電平,由于WDO是直接連接到MR的,所以MR也會(huì)同時(shí)被拉低0.6V以上,此時(shí)RESET管腳也會(huì)輸出復(fù)位信號(hào),使整個(gè)單片機(jī)系統(tǒng)復(fù)位。SW1就是按鍵,實(shí)現(xiàn)手動(dòng)復(fù)位的。

那圖1這個(gè)電路就沒(méi)有任何問(wèn)題了嗎?

答:圖1這個(gè)電路是有缺陷的!

如果單片機(jī)是新的,沒(méi)有任何程序的,這個(gè)時(shí)候你需要往單片機(jī)里面燒錄程序的,能保證1.6S內(nèi)燒錄完程序嗎?顯然不太現(xiàn)實(shí)的,所以這個(gè)時(shí)候就無(wú)法燒錄程序了,因?yàn)閱纹瑱C(jī)一直在復(fù)位,是無(wú)法正常燒錄程序的。

那該怎么辦呢?

其實(shí)很簡(jiǎn)單,只需要WDO和MR之間的連接是人為可控的就行。具體實(shí)現(xiàn)方法如下圖2圖3所示:

圖2

當(dāng)在需要燒錄程序時(shí),通過(guò)跳線帽把MR和WDO斷開即可。燒錄完成后再把跳線帽插回去即可。

或者采用圖3的這種方式,都是沒(méi)有問(wèn)題的。

圖3

圖3這個(gè)電路大伙可以自行分析一下,原理基本一樣!

那假如整個(gè)系統(tǒng)真正跑起來(lái)需要的時(shí)間遠(yuǎn)遠(yuǎn)超過(guò)1.6S了呢?看門狗電路又該如何設(shè)計(jì)呢?

好了,今天就先寫到這吧!

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場(chǎng)。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請(qǐng)聯(lián)系:editor@netbroad.com
覺(jué)得內(nèi)容不錯(cuò)的朋友,別忘了一鍵三連哦!
贊 3
收藏 6
關(guān)注 199
成為作者 賺取收益
全部留言
0/200
成為第一個(gè)和作者交流的人吧