SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
When an interrupt source occurs, the interrupt status bit (the WISR[0] OVF_IT_FLAG or WISR[1] DLY_IT_FLAG bit) is set to 1. The output interrupt line (WD_TIMER_IRQ) is asserted (active high) when status (the EVENT_xxx bit) and enable (the xxx_IT_ENA bit) flags are set to 1; the order is not relevant. Writing 1 to the enable bit (the status is already set at 1) also triggers the interrupt in the normal order (enable first, status next). The pending interrupt event is cleared when the set status bit is overwritten by a value of 1 by a write command in the WISR. Reading the WISR and writing the value back allows a fast interrupt acknowledge process.
The watchdog timer issues an overflow interrupt if this interrupt is enabled in the watchdog interrupt-enable register (WIER[0] OVF_IT_ENA = 1). When the overflow occurs, the interrupt status bit (the WISR[0] OVF_IT_FLAG bit) is set to 1. The output interrupt line (WD_TIMER_IRQ) is asserted (active high) when status (OVF_IT_FLAG) and enable (OVF_IT_ENA) flags are set to 1; the order is not relevant. This interrupt can be disabled by setting the WIER [0] OVF_IT_ENA bit to 1.
The watchdog can issue the delay interrupt if this interrupt is enabled in the interrupt-enable register (WIER[1] DLY_IT_ENA = 1). When the counter is running and the counter value matches the value stored in the delay configuration register (WDLY), the corresponding interrupt status bit is set in the watchdog status register (WISR) and the output interrupt line is asserted (active high) when the flag (DLY_IT_FLAG) and enable (DLY_IT_ENA) bits are set to 1 in the WISR and WIER registers, respectively; the order (normally enable, then flag) is not relevant. This interrupt can be disabled by setting the WIER[1] DLY_IT_ENA bit to 1.
The two clock domains are resynchronized because the interrupt event is generated on the functional clock domain (WD_TIMERi_FCLK) during the updating of the interrupt status register.
The WDLY register is used to specify the value of the delay configuration register. The delay time to interrupt is the difference between the reload value stored in the counter load register (WLDR) and the programmed value in this register (WDLY).
Use the following formula to estimate the delay time:
Delay time period = (WDLY – WLDR + 1) × Timer clock period × Clock divider
Where:
If the counter value (WCRR) reaches the programmed value (WDLY), the status bit (EVENT_DLY) is set in the interrupt status register (WIRQSTAT), and an interrupt occurs if the corresponding enable bit is set in the interrupt enable register (WIRQENSET).
If the reload event occurs (after a triggering sequence or after a reset sequence) before reaching the programmed value (the WDLY[31:0] WDLY_VALUE bit field), no interrupt is generated.
Also, no interrupt is generated if the value programmed in the WDLY register is less than the value stored in the WLDR.