Using the Watchdog Timer in XMC7000 family MCUs
Basic WDT
Figure 3
illustrates an example for a 500-milliseconds periodic wakeup timing with auto servicing activated.
The calculation is done using the following equation:
_ = 32768 × 500 = 16384 = 000004000
WARN_LIMIT = 0x4000
Low Power Mode
RUN Mode
Figure 3
Periodic wakeup with basic WDT
2.5
Timeout mode
The legacy mode of the basic WDT is the standard watchdog behavior with a timeout condition for resetting the
MCU. It uses the UPPER_LIMIT register for generating a reset if the basic WDT is not serviced in time. Set the
UPPER_ACTION[4] bit in the CONFIG register to '1' to trigger a reset when the watchdog counter matches with
the UPPER_LIMIT value.
The WARN_LIMIT register can be used as a pre-warning event to indicate an incorrect watchdog counter service
timing. Set the WARN_ACTION[8] bit in the CONFIG register to '1' to enable the warn interrupt.
Figure 4
shows an example for the basic WDT which demonstrates how to define the upper limit timeout
period of 1 second and 875-milliseconds pre-warning interrupt timing. Corresponding register values are
calculated as follows:
_ = 32768 × 1 = 32768 = 000008000
_ = 32768 × 875 = 28672 = 000007000
Figure 4
Basic WDT with timeout and pre-warning
Application Note
Counts value
0xFFFFFFFF
500ms
Wake-up event
AUTO_SERVICE
Counts value
0xFFFFFFFF
UPPER_LIMIT = 0x8000
WARN_LIMIT = 0x7000
SERVICE
Wake-up event
Wake-up event
AUTO_SERVICE
AUTO_SERVICE
875ms
1sec
SERVICE
WARN
Interrupt
6 of 33
Time
Wake-up event
AUTO_SERVICE
Time
RESET
002-33887 Rev. *A
2022-05-25