Rev.3.02
Dec 22, 2006
page 63 of 142
REJ03B0025-0302
4556 Group
Fig. 61 Watchdog timer by software
<The main routine>
Assigns a single word 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 condition:
N+1
≥ (Counts of interrupt processing executed in each main rou-
tine)
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 com-
paring 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 deter-
mines to branch to the program initialization 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 process-
ing.
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
(SWDT)
← N
EI
Main processing
(SWDT)
Interrupt processing
routine errors
N
Interrupt processing routine
(SWDT)
← (SWDT)—1
Interrupt processing
(SWDT)
Main routine
errors
>0
≤0
RTI
Return
=N?
≤0?
≠N
4. Setup for I/O ports
Setup I/O ports using hardware and software as follows:
<Hardware>
Connect a resistor of 100
or more to an I/O port in series.
<Software>
As for an input port, read data several times by a program for
checking whether input levels are equal or not.
As for an output port or an I/O port, since the output data may re-
verse because of noise, rewrite data to its port latch at fixed
periods.
Rewrite data to pull-up control registers at fixed periods.
5. 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 fol-
lowing shows an example of a watchdog timer provided by
software.
In the following example, to reset a microcomputer to normal op-
eration, 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 mul-
tiple times in a single main routine processing.