DSP之時鐘與定時器之四看門狗定時器

2021-06-08 13:57:46 字數 4111 閱讀 8873

1 工作方式

在數字訊號處理器的工作過程中有時會發生一些異常情況,這可能是在軟體執

行時發生錯誤,如堆疊溢位、記憶體溢位等軟體編寫時沒有預料到的錯誤,也可

能是

dsp

在執行時受到外界干擾而使得程式執行不正常,在這些情況下將會發

生不可**的錯誤。為了防止出現這種情況,使用看門狗定時器是一種很好的

解決方法。

看門狗定時器實際上是乙個定時器,該定時器需要處理器週期性的執行一

些特定操作,當處理器執行正常時,這些操作會正常執行,而當出現異常時這

些操作將被打斷,看門狗定時器計數會計到

0

而發生超時,這時定時器將輸出一

個低脈衝,這個輸出可以觸發中斷或引起

dsp

復位(可以觸發不可遮蔽中斷或

看門狗定時器中斷,如果看門狗定時器的輸出連線到硬體復位端將引起

dsp

位)。

看門狗定時器有乙個

16位計數器和乙個

16位預計數器,使得計數器動態範圍達到32

位。復位狀態後,看門狗定時器是關閉的,且允許軟體在將其使能之前,對其進行配置。

看門狗定時器正常工作後,當定時器計到

0時,會觸發看門狗定時器中

斷,並將

wdflag位置1

,之後計數器和預計數器將會被重新載入,而超時事

件將會從看門狗定時器的輸出端輸出。看門狗定時器正常工作時會在計數狀態

、服務狀態和超時狀態之間轉換,接著給出了看門狗定時器的狀態轉換過程。

如果看門狗定時器被使能,不能通過軟體直接禁止,但可以通過看門狗超

時事件或硬體復位禁止看門狗定時器。當軟體陷入死迴圈或發生軟體錯誤時,

看門狗定時器會產生超時事件,強迫

dsp

進行異常處理。

看門狗的時鐘是直接來自時鐘產生器,因此即使處理器處於休眠狀態中仍

將繼續計數。

2 暫存器

看門狗定時器主要有

4

個暫存器

——

即看門狗計數暫存器(

wdtim

)、看門狗週期暫存器(

wdprd

)、看門狗控制暫存器

wdtcr

)和看門狗控制暫存器

2

wdtcr2

)。

看門狗計數暫存器和看門狗週期暫存器都是

16

位暫存器,它

們協同工作完成計數功能。

看門狗週期暫存器

wdprd

存放計數的初始值,當計數暫存器

的值減到

0

後,將把週期暫存器中的數載入到計數暫存器中。當控

制暫存器中的

psc

位減到

0

之前或看門狗計數器被復位時,計數寄

存器將進行減

1

計數。

3 配置看門狗定時器

初始化和使能看門狗定時器的步驟:

1.將主計數器週期prd裝入看門狗週期暫存器wdprd

2.設定看門狗定時器控制暫存器wdtcr的模式bit(wdout,soft和free),以及tddr裡的預定標控制值

3.往看門狗定時器的控制暫存器2(wdtcr2)中的wdkey寫入關鍵值5c6h,使看門狗定時器進入預啟用狀態

4.寫關鍵值a7eh到wdkey中,置位wden,將預定標模式bit(premd)的值寫到wdtcr2中。這第二個值完成了關鍵值序列,表示乙個實際的服務序列,wden = 1使能看門狗定時器,

3 看門狗定時器的應用

應用看門狗定時器的晶元支援函式首先要包含

csl_wdtim.h

標頭檔案,接下來定義看門狗定時器的配置結構:

wdtim_config myconfig = ;

配置看門狗定時器需要呼叫看門狗配置函式:

wdtim_config(&myconfig);

在配置好看門狗定時器後呼叫開始函式,該函式的作用是將看門狗定時器控制暫存器

2

wden

位置成

1

wdtim_start();

在執行看門狗開始函式後,看門狗開始遞減計數,在計數器減到

0

之前需要周期性地向

wdkey

字段寫入

a5c5h

a7eh

,否則看門狗定時器將會發生超時事件從而觸發中斷或復位,該操作可以通過呼叫

wdtim_service()

函式來完成。

wdtim_service();

S3C2440看門狗定時器

看門狗定時器的主要作用是在程式因為干擾而跑飛後,能夠使系統復位,不至於使系統永遠的死下去。它的原理與一般的定時器沒有多大區別,就是先要設定好一段時間,當超過這段時間後,就從當前執行的程式中跳出進入中斷處理程式中。但兩者的主要差別是,一般的定時器中斷是我們希望它發生的,因此我們不會在定時器中斷發生前的...

S5PC100看門狗定時器

看門狗定時器 wdt,watch dog timer 是微控制器的乙個組成部分,在微控制器程式的除錯和執行中都有著重要的意義。它的主要功能是在發生軟體故障時,通過使器件復位 如果軟體未將器件清零 將微控制器復位。也可以用於將器件從休眠或空閒模式喚醒。看門狗 watchdog 定時器和pwm定時功能目...

學習朱有鵬老師的看門狗定時器

看門狗定時器典型應用場景 我們在應用程式中開啟看門狗裝置,初始化好,給它乙個實踐,然後應用程式使用乙個執行緒來餵狗,這個執行緒的執行時間安全短於看門狗的復位實踐。當系統 或者應用程式 異常後,餵狗執行緒自然就停止工作了,然後看門狗就復位了。s5pv210的看門狗定時器共有4個暫存器 1.wtcon ...