s3c6410硬件WATCHDOG TIMER看門狗定時器
1、OVERVIEW 概述
本文引用地址:http://2s4d.com/article/201611/318177.htmThe 6410 RISC microprocessor watchdog timer is used to resume the controller operation whenever it is disturbedby malfunctions such as noise and system errors. The watchdog timer generates the reset signal. It can beused as a normal 16-bit interval timer to request interrupt service.Advantage in using WDT instead of PWM timer is that WDT generates the reset signal.
當(dāng)控制器操作被噪音或系統(tǒng)錯誤等故障打斷時,S3C6410 RISC 微處理器的看門狗定時器恢復(fù)控制器的操作。它可以產(chǎn)生復(fù)位信號。它可以用于16位的間隔定時器來要求中斷服務(wù)。。用WDT 代替PWM 定時器的優(yōu)點是WDT 產(chǎn)生復(fù)位信號。
2、FEATURES 特性
The Watchdog Timer includes the following features:
• Normal interval timer mode with interrupt request.具有中斷請求的正常間隔定時器模式。
• Internal reset signal is activated when the timer count value reaches 0 (time-out).
當(dāng)定時器計數(shù)值達到0(超時),內(nèi)部復(fù)位信號有效。
• Level-triggered Interrupt mechanism.電平觸發(fā)器中斷機制。
3、FUNCTIONAL DESCRIPTION 功能說明
3.1、WATCHDOG TIMER OPERATION 時鐘控制
The watchdog timer uses only PCLK as itssource clock.The prescaler value and the frequency division factor are specified in the watchdog timer control (WTCON)register. Valid prescaler values range from 0 to 28-1. The frequency division factor can be selected as 16, 32, 64,or 128.
Use the following equation to calculate the watchdog timer clock frequency and the duration of each timer clockcycle:
t_watchdog = 1/( PCLK / (Prescaler value + 1) / Division_factor )
看門狗定時器用PCLK為時鐘源,通過一個8位預(yù)分頻器,預(yù)分頻系數(shù)有寄存器WTCON的(8~15)位決定。分頻后的頻率就相當(dāng)于PCLK/(WTCON[8-15]+1)。然后,通過一個4項分頻器,分頻系數(shù)分別是16、32、64、128.通過WTCON[4-3]位控制。
控制寄存器的WTCON的第二位為1,則發(fā)出一個中斷信號;第0位為1,則發(fā)出一個復(fù)位信號。
3.2、WTDAT & WTCNT
Once the watchdog timer is enabled, the value of watchdog timer data (WTDAT) register cannot be automaticallyreloaded into the timer counter (WTCNT). For this reason, an initial value must be written to the watchdog timercount (WTCNT) register, before the watchdog timer starts.
一旦看門狗定時器有效,看門狗定時器數(shù)據(jù)(WTDAT)寄存器的值將不能被自動重新載入定時器數(shù)(WTCNT)。在看門狗定時器開始前,一個初始值必須寫入看門狗定時器計數(shù)(WTDAT)寄存器。
3.3、CONSIDERATION OF DEBUGGING ENVIRONMENT
When the 6410 is in debug mode using Embedded ICE, the watchdog timer must not operate.
當(dāng)S3C6410在調(diào)試模式(使用嵌入的ICE)時,看門狗定時器不能進行操作。
4、寄存器:
(1)、WTCON 寄存器允許用戶啟動/禁止看門狗定時器,從四個不同的時鐘源選擇時鐘信號,啟動/禁止看門狗定時器輸出。
(2)、WTDAT寄存器用于指定超時時間。當(dāng)看門狗作為定時器使用時,當(dāng)計數(shù)器WTCNT的值到0時,WTDAT寄存器的值會被自動裝入WTCNT,并不會發(fā)出復(fù)位信號。
(3)、正常操作情況下,WTCNT 寄存器包含看門狗定時器的當(dāng)前計數(shù)值。
(4)、WTCLRINT 寄存器用于清除中斷。中斷服務(wù)完成后,中斷服務(wù)程序清除相關(guān)中斷。
注:我的理解,其實看門狗定時器,包含兩個功能,一個是看門狗,另一個是定時器。
當(dāng)不用于系統(tǒng)復(fù)位,只用于定時器功能,這時它的WTDAT寄存器才是有用的。
當(dāng)它作為看門狗使用時,WTDAT寄存器沒意義,你想一下,當(dāng)不能喂狗,系統(tǒng)復(fù)位時,以前設(shè)置的參數(shù)還有意義嗎?所以只有用于定時器時,發(fā)生中斷后,WTDAT寄存器的值自動裝入WTCNT,開始下一輪的定時。
評論