SLAU893B October 2023 – July 2024 MSPM0C1103 , MSPM0C1103-Q1 , MSPM0C1104 , MSPM0C1104-Q1
The WWDT runs from the 32kHz low-frequency clock (LFCLK). A clock divider supports dividing the input clock from /1 (no divide) to /8 (divide-by-8) using the CLKDIV field in the WWDTCTL0 register. The default CLKDIV setting is 0x03 (32kHz divided by 4, or 8kHz).
By running from the LFCLK, the WWDT time base is independent of the main clock (MCLK) and CPU clock (CPUCLK) time base, provided that these clocks are not also configured to be running from the LFCLK. While the time base may be considered as independent and derived from a separate oscillator source, LFCLK edges are synchronized to the MCLK before sourcing the WWDT to enable simple access to the memory-mapped registers from application software. A simplified view of the clock scheme is given in Figure 16-3. In Figure 16-3, the internal LFOSC is configured to set the LFCLK rate, and the internal SYSOSC sets the MCLK/CPUCLK rate. Clock selection muxes and dividers are excluded from the figure to simplify the view; the complete clock tree is provided in Section 2.3.3.
In the event that the MCLK fails and synchronization of the LFCLK to the MCLK is lost, this failure may be detected by enabling the continuous MCLK monitor. When the MCLK monitor is enabled, a loss of MCLK is always a catastrophic failure which generates a BOOTRST within 12 LFCLK cycles. As a result, a loss of the MCLK tree, and corresponding loss of synchronization, does not prevent a BOOTRST from being generated.
The WWDT has a 25-bit counter which is initially stopped after a SYSRST. The WWDT period (total time interval) is set by the PER field in the WWDTCTL0 register. The total WWDT period is calculated as follows:
The total timer count PERCOUNT is selected to be one of 8 possible period count values, with the encoding given in Table 16-1.
PER | 0x0 | 0x1 | 0x2 | 0x3 | 0x4 | 0x5 | 0x6 | 0x7 |
---|---|---|---|---|---|---|---|---|
PERCOUNT | 225 | 221 | 218 | 215 | 212 | 210 | 28 | 26 |
The combination of the period selection (PER) and clock divider (CLKDIV) enable a wide range of WWDT periods, from as short as 1.95ms to as long as 136.53 minutes. Table 16-2 gives all possible WWDT periods for a given combination of PER and CLKDIV.
CLKDIV | PER | |||||||
---|---|---|---|---|---|---|---|---|
0x0 | 0x1 | 0x2 | 0x3 | 0x4 | 0x5 | 0x6 | 0x7 | |
min | min | s | s | s | ms | ms | ms | |
0x0 (/1) | 17.07 | 1.07 | 8.00 | 1.00 | 0.13 | 31.25 | 7.81 | 1.95 |
0x1 (/2) | 34.13 | 2.13 | 16.00 | 2.00 | 0.25 | 62.50 | 15.63 | 3.91 |
0x2 (/3) | 51.20 | 3.20 | 24.00 | 3.00 | 0.38 | 93.75 | 23.44 | 5.86 |
0x3 (/4) | 68.27 | 4.27 | 32.00 | 4.00 | 0.50 | 125.00 | 32.25 | 7.81 |
0x4 (/5) | 85.33 | 5.33 | 40.00 | 5.00 | 0.63 | 156.25 | 39.06 | 9.77 |
0x5 (/6) | 102.40 | 6.40 | 48.00 | 6.00 | 0.75 | 187.50 | 46.88 | 11.72 |
0x6 (/7) | 119.47 | 7.47 | 56.00 | 7.00 | 0.88 | 218.75 | 54.69 | 13.67 |
0x7 (/8) | 136.53 | 8.53 | 64.00 | 8.00 | 1.00 | 250.00 | 62.50 | 15.63 |
When starting or re-starting the WWDT counter, a maximum synchronization delay of one 32kHz clock cycle (30.5µs) can occur before the WWDT counter begins counting from zero. The periods given in Table 16-2 do not include this synchronization delay.
Configuration of two closed window periods is supported by setting the WINDOW0 and WINDOW1 fields in the WWDTCTL0 register. The WINSEL bit in the WWDTCTL1 register determines the active window (either WINDOW0 or WINDOW1). Either window can be set to one of 8 possible window settings.
WINDOW | 0x0 | 0x1 | 0x2 | 0x3 | 0x4 | 0x5 | 0x6 | 0x7 |
---|---|---|---|---|---|---|---|---|
Closed window | 0% | 12.5% | 18.75% | 25% | 50% | 75% | 81.25% | 87.5% |
Setting a WINDOWx value to 0x0 (0% closed, 100% open) is equivalent to disabling the window function of the WWDT. In this configuration, the WWDT can be restarted at any point during the WWDT period.
The active window selection can be changed after the WWDT has been enabled. When the WWDT is restarted by writing to the WWDTCNTRST register, the closed window selection (WINSEL) must not be changed for at least four 32kHz clock cycles (≈122µs).