English
Language : 

4559 Datasheet, PDF (74/148 Pages) Renesas Technology Corp – SINGLE-CHIP 4-BIT CMOS MICROCOMPUTER
4559 Group
(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
reverse because of noise, rewrite data to its output 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 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 processing.
Main routine
(SWDT) ← N
EI
Main processing
≠N
(SWDT)
= N?
N
Interrupt processing
routine errors
Interrupt processing routine
(SWDT) ← (SWDT)−1
Interrupt processing
(SWDT)
≤ 0?
≤0
>0
RTI
Return
Main routine
errors
Fig 81. 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≥
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 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
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.
Rev.1.04 Aug 23, 2007 Page 74 of 146
REJ03B0188-0104