Watchdog Timer
161
March 22, 2006
Preliminary
10.2
Functional Description
The Watchdog Timer module consists of a 32-bit down counter, a programmable load register,
interrupt generation logic, and a locking register. Once the Watchdog Timer has been configured,
the
Watchdog Timer Lock (WDTLOCK)
register is written, which prevents the timer configuration
from being inadvertently altered by software.
The Watchdog Timer module generates the first time-out signal when the 32-bit counter reaches
the zero state after being enabled; enabling the counter also enables the watchdog timer interrupt.
After the first time-out event, the 32-bit counter is re-loaded with the value of the
Watchdog Timer
Load (WDTLOAD)
register, and the timer resumes counting down from that value.
If the timer counts down to its zero state again before the first time-out interrupt is cleared, and the
reset signal has been enabled (via the
WatchdogResetEnable
function), the Watchdog timer
asserts its reset signal to the system. If the interrupt is cleared before the 32-bit counter reaches its
second time-out, the 32-bit counter is loaded with the value in the
WDTLOAD
register, and
counting resumes from that value.
If
WDTLOAD
is written with a new value while the Watchdog Timer counter is counting, then the
counter is loaded with the new value and continues counting.
Writing to
WDTLOAD
does not clear an active interrupt. An interrupt must be specifically cleared
by writing to the
Watchdog Interrupt Clear (WDTICR)
register.
The Watchdog module interrupt and reset generation can be enabled or disabled as required.
When the interrupt is re-enabled, the 32-bit counter is preloaded with the load register value and
not its last state.
10.3
Initialization and Configuration
The Watchdog Timer is configured using the following sequence:
1.
Load the
WDTRLR
register with the desired timer load value.
2.
If the Watchdog will be configured to trigger system resets, set the
RESEN
bit in the
WDTCTL
register.
3.
Set the
INTEN
bit in the
WDTCTL
register to enable the Watchdog and lock the control regis-
ter.
If software requires that all of the watchdog registers are locked, the Watchdog Timer module can
be fully locked by writing any value to the
WDTLOCK
register. To unlock the Watchdog Timer,
write a value of 0x1ACCE551.
10.4
Register Map
Table 10-1 lists the Watchdog registers. All addresses given are relative to the Watchdog Timer
base address of 0x40000000.
Table 10-1.
WDT Register Map
Offset
Name
Reset
Type
Description
See
page
0x000
WDTLOAD
0xFFFFFFFF
R/W
Load
163
0x004
WDTVALUE
0xFFFFFFFF
RO
Current value
164
0x008
WDTCTL
0x00000000
R/W
Control
165
0x00C
WDTICR
-
WO
Interrupt clear
166