SST89V564RD-33-I-PJ SST [Silicon Storage Technology, Inc], SST89V564RD-33-I-PJ Datasheet - Page 56

no-image

SST89V564RD-33-I-PJ

Manufacturer Part Number
SST89V564RD-33-I-PJ
Description
FlashFlex51 MCU
Manufacturer
SST [Silicon Storage Technology, Inc]
Datasheet
Data Sheet
8.3.5 Watchdog Timer
The Watchdog Timer mode is used to improve reliability in
the system without increasing chip count (See Figure 8-6).
Watchdog Timers are useful for systems that are suscepti-
ble to noise, power glitches, or electrostatic discharge. It
can also be used to prevent a software deadlock. If during
the execution of the user’s code, there is a deadlock, the
Watchdog Timer will time out and an internal reset will
occur. Only module 4 can be programmed as a Watchdog
Timer (but still can be programmed to other modes if the
Watchdog Timer is not used).
To use the Watchdog Timer, the user pre-loads a 16-bit
value in the compare register. Just like the other compare
modes, this 16-bit value is compared to the PCA timer
value. If a match is allowed to occur, an internal reset will be
generated. This will not cause the RST pin to be driven high.
In order to hold off the reset, the user has three options:
The first two options are more reliable because the Watch-
dog Timer is never disabled as in option #3. If the program
counter ever goes astray, a match will eventually occur and
cause an internal reset. The second option is also not rec-
ommended if other PCA modules are being used. Remem-
ber, the PCA timer is the time base for all modules;
changing the time base for other modules would not be a
good idea. Thus, in most application the first solution is the
best option.
©2003 Silicon Storage Technology, Inc.
1. periodically change the compare value so it will
2. periodically change the PCA timer value so it will
3. disable the watchdog timer by clearing the WDTE
FIGURE
never match the PCA timer,
never match the compare values, or
bit before a match occurs and then re-enable it.
8-6: PCA W
Write to
CCAP4H
1
SST89E564RD / SST89V564RD / SST89E554RC / SST89V554RC
CCAP4L
ATCHDOG
Write to
0
Reset
Enable
T
IMER
CCAP4H
PCA Timer/Counter
16-bit Comparator
CH
(M
CIDL
ODULE
CCAP4L
ECOMn CAPPn CAPNn MATn
WDTE
CL
4
ONLY
0
Module 4
56
Match
Use the code below to initialize the Watchdog Timer. Mod-
ule 4 can be configured in either compare mode, and the
WDTE bit in CMOD must also be set. The user’s software
then must periodically change (CCAP4H, CCAP4L) to
keep a match from occurring with the PCA timer (CH, CL).
This code is given in the Watchdog routine below.
This routine should not be part of an interrupt service rou-
tine. If the program counter goes astray and gets stuck in an
infinite loop, interrupts will still be serviced and the watchdog
will keep getting reset. Thus, the purpose of the watchdog
would be defeated. Instead, call this subroutine from the
main program of the PCA timer.
)
0
;==============================================
Init_Watchdog:
;==============================================
;Main program goes here, but call WATCHDOG periodically.
;==============================================
WATCHDOG:
;==============================================
1
MOV
MOV
MOV
ORL
CLR
MOV
MOV
SETB EA; timer value
RET
CPS1
TOGn
X
CCAPM4, #4CH; Module 4 in compare mode
CCAP4L, #0FFH; Write to low byte first
CCAP4H, #0FFH; Before PCA timer counts up
CMOD, #40H; Set the WDTE bit to enable the
EA; Hold off interrupts
CCAP4L, #00; Next compare value is within
CCAP4H, CH; 65,535 counts of the
; to FFFF Hex, these compare
; values must be changed.
; watchdog timer without
; changing the other bits in
; CMOD
; current PCA
PWMn ECCFn
CPS0
0
ECF
X
CMOD
CCAPM4
Reset
FlashFlex51 MCU
1207 F39.2
S71207-04-000
12/03

Related parts for SST89V564RD-33-I-PJ