English
Language : 

M16C62_M Datasheet, PDF (611/615 Pages) Renesas Technology Corp – 16-BIT SINGLE-CHIP MICROCOMPUTER M16C FAMILY / M16C/60 SERIES
Appendix 5
Mitsubishi microcomputers
M16C / 62A Group
SINGLE-CHIP 16-BIT CMOS MICROCOMPUTER
1.6 Providing of watchdog timer function by software
If a microcomputer runs away because of noise or others, it can be detected by a software watchdog timer
and the microcomputer can be reset to normal operation. This is equal to or more effective than program
runaway detection by a hardware watchdog timer. The following shows an example of a watchdog timer
provided by software.
In the following example, to reset a microcomputer to normal operation, the main routine detects errors of
the interrupt processing routine and the interrupt processing routine detects errors of the main routine.
This example assumes that interrupt processing is repeated multiple times in a single main routine process-
ing.
<The main routine>
• Assigns a single byte of RAM to a software watchdog timer (SWDT) and writes the initial value N in the
SWDT once at each execution of the main routine. The initial value N should satisfy the following condi-
tion:
N+1 ≥≥ (Counts of interrupt processing executed in each main routine)
As the main routine execution cycle may change because of an interrupt processing or others, the initial
value N should have a margin.
• Watches the operation of the interrupt processing routine by comparing the SWDT contents with counts
of interrupt processing after the initial value N has been set.
• Detects that the interrupt processing routine has failed and determines to branch to the program initial-
ization routine for recovery processing in the following case:
If the SWDT contents do not change after interrupt processing.
<The interrupt processing routine>
• Decrements the SWDT contents by 1 at each interrupt processing.
• Determines that the main routine operates normally when the SWDT contents are reset to the initial
value N at almost fixed cycles (at the fixed interrupt processing count).
• Detects that the main routine has failed and determines to branch to the program initialization routine for
recovery processing in the following case:
If the SWDT contents are not initialized to the initial value N but continued to decrement and if they reach
0 or less.
Main routine
Interrupt processing routine
(SWDT)← N
FSET I
(SWDT)← (SWDT) – 1
Interrupt processing
Main processing
≠N (SWDT)
=N?
=N
Interrupt processing
routine errors
(SWDT)
≤0?
≤0
0
REIT
Return
Main routine
errors
Figure 1.6.1. Watchdog timer by software
2-294