看門狗----喂狗
看門狗(watchingdog)本質(zhì)上是一種定時器(timer).
定時器有軟件定時器和硬件的定時器,軟件定時器的一般的操作方法是在一定的時間內(nèi)向操作系統(tǒng)發(fā)送消息,一定時間一般又體現(xiàn)為時間遞減的形式,例如時間在2000毫秒時向操作系統(tǒng)發(fā)送一個window消息,適合于window這樣的消息驅(qū)動的機制;硬件上的定時器是一個硬件的模塊,在一定時間內(nèi)發(fā)出中斷,出發(fā)中斷服務(wù)函數(shù)響應(yīng)。
看門狗是一種硬件上的定時器,我們可以制定它在到達時間內(nèi)reset控制器,它與普通定時器的不同之處就在于他可以reset。使用看門狗功能的器件要定時的向它發(fā)送消息,以用來表示自己在正常工作著,也就是我們所說的“喂狗”,當(dāng)該器件不再“喂狗”時,看門狗則認為該器件發(fā)生了異常,從而在時間到達的時候reset整個微控制器。
原理小故事:
向槍戰(zhàn)片的清醒,人A帶著狗B一起潛入一個地方,A進去,B在門口接應(yīng),A走的時候告訴B,如果我安全的話我會在每10分鐘給你發(fā)出信號來證明我沒有事情,如果沒有收到我的消息的話證明我在里面有所不測,那么你就沖進來營救我。在嵌入式控制器里面的這只狗就稱之為看門狗。
擴展閱讀:MSP430單片機中的WDT研究