SPRUII0F May 2019 – June 2024 TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S
As explained previously, the CM subsystem is equipped with an NMI Watchdog module whose function is to make sure that a triggered non-maskable interrupt is handled by user software. This can be achieved by clearing the error conditions and clearing the respective flags in the CMNMIFLG register or by acknowledging the NMI and gracefully shutting down the system. If none of the actions mentioned are taken, then the CMNMIWD counter keeps counting until the counter value reaches the CMNMIWD period register value. An CMNMIWD reset will then be generated, which will reset the entire device.
As shown in Figure 41-2, any enabled NMI source can set the CMNMIINT respective bit in CMNMIFLG register, which will trigger an NMI to the CPU and start the CMNMIWD counter. The CMNMIWD counter will keep counting as long as the CMNMIINT bit of the CMNMIFLG register is not cleared or a reset is generated.
The CMNMIWD counter is clocked by the M4 system clock. The CMNMIWDPRD register, which is the CMNMI Watchdog Period register, can be programmed with a period limit as per user requirements which sets the clock cycle limit required for software to handle or acknowledge the NMI. A timeout condition that generates the NMI watchdog reset means that the counter value of the CMNMIWDCNT register reached the value programmed in the period register, CMNMIWDPRD.