Watchdog Timer
C2000 Microcontroller Workshop - System Initialization 5 - 7
Watchdog Timer
The watchdog timer is a safety feature, which resets the device if the program runs away or gets
trapped in an unintended infinite loop. The watchdog counter runs independent of the CPU. If
the counter overflows, a reset or interrupt is triggered. The CPU must write the correct data key
sequence to reset the counter before it overflows.
Watchdog Timer
Resets the C28x if the CPU crashes
Watchdog counter runs independent of CPU
If counter overflows, a reset or interrupt is
triggered (user selectable)
CPU must write correct data key sequence
to reset the counter before overflow
Watchdog must be serviced or disabled
within 131,072 WDCLK cycles after reset
This translates to 13.11 ms with a 10 MHz
WDCLK
The watchdog timer provides a safeguard against CPU crashes by automatically initiating a reset
if it is not serviced by the CPU at regular intervals. In motor control applications, this helps
protect the motor and drive electronics when control is lost due to a CPU lockup. Any CPU reset
will revert the PWM outputs to a high-impedance state, which should turn off the power
converters in a properly designed system.
The watchdog timer is running immediately after system power-up/reset, and must be dealt with
by software soon after. Specifically, you have 13.11 ms (with a 10 MHz watchdog clock) after
any reset before a watchdog initiated reset will occur. This translates into 131,072 WDCLK
cycles, which is a seemingly tremendous amount! Indeed, this is plenty of time to get the
watchdog configured as desired and serviced. A failure of your software to properly handle the
watchdog after reset could cause an endless cycle of watchdog initiated resets to occur.