1. 程式人生 > >看門狗(獨立看門狗)與視窗看門狗的區別!

看門狗(獨立看門狗)與視窗看門狗的區別!

                 看門狗(獨立看門狗)與視窗看門狗的區別

在cortex-M系列晶片上有兩個看門狗:看門狗(獨立看門狗)和視窗看門狗。

1、相同點

    都是為了保證CPU程式跑飛

2、獨立看門狗

    根據內部看門狗時鐘頻率,裝載暫存器定一個時間值,比如是1000,那麼獨立看門狗就會按照時鐘頻率,從1000開始向下每隔一個時鐘週期減1,如果在減到0之前,你用程式程式碼重新向向下計數器裡面寫1000(喂狗),那麼定時器會重新從1000開始向下遞減。如果在減到0的時候,你還沒有喂狗(用新的數值覆蓋計數器),就會產生復位訊號。

3、視窗看門狗

    根據系統時鐘頻率,裝載一個初始值到向下計數器(假設還是1000),並且設定一個視窗值(小於裝載到計數器的初始值,假設是500),視窗看門狗一般會定死視窗下線值是64。計數器從1000開始向下減,在減到500之前(1000到500間),是不允許你去喂狗的,一旦喂狗,就會產生復位訊號。只有計數器值減到上限值之後(500到64),才允許你去喂狗。當計數器減到下限值(64到0之間),如果喂狗,也會產生復位訊號,當減到0之後,自動產生復位訊號。所以視窗看門狗實際上就是設定一個視窗(上下限),在這個範圍內,你才允許你去喂狗,只要不在這個範圍之內,都會復位。

4、區別

    (1)視窗看門狗計時時間比獨立看門狗精準; 視窗看門狗使用的是系統時鐘源。

    (2)視窗看門狗嚴格限定喂狗時間段,獨立看門狗則是隻要沒有到時間,都能喂狗。