English
Language : 

3807_03 Datasheet, PDF (204/247 Pages) Renesas Technology Corp – 8-BIT SINGLE-CHIP MICROCOMPUTER
APPENDIX
3.4 Countermeasures against noise
3.4.5 Setup for I/O ports
Setup I/O ports using hardware and software as follows:
<Hardware>
qConnect a resistor of 100 Ω or more to an I/O port
inseries.
<Software>
qAs for an input port, read data several times by a
program for checking whether input levels are
equal or not.
qAs for an output port, since the output data may
reverse because of noise, rewrite data to its port
latch at fixed periods.
qRewirte data to direction registers and pull-up
control registers (only the product having it) at fixed
periods.
Data bus
Direction register
Port latch
Fig. 3.4.8 Setup for I/O ports
Noise
O.K.
Noise
N.G.
I/O port
pins
When a direction register is set for input port again at fixed periods, a several-nanosecond short pulse may be
output from this port. If this is undesirable, connect a capacitor to this port to remove the noise pulse.
3.4.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
Main routine Interrupt processing routine
operation. This is equal to or more effective than
program runaway detection by a hardware watchdog
(SWDT)← N
(SWDT) ← (SWDT)—1
timer. The following shows an example of a watchdog
timer provided by software.
CLI
Interrupt processing
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 processing
N (SWDT)
=N?
=N
(SWDT) >0
≤0?
≤0 RTI
Return
<The main routine>
Interrupt processing
routine errors
Main routine
errors
qAssigns 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 Fig. 3.4.9 Watchdog timer by software
condition:
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.
qWatches the operation of the interrupt processing routine by comparing the SWDT contents with counts of
interrupt processing count after the initial value N has been set.
qDetects that the interrupt processing routine has failed and determines to branch to the program initialization
routine for recovery processing in the following cases:
If the SWDT contents do not change after interrupt processing
3-32
3807 GROUP USER’S MANUAL