XA-G37 NXP Semiconductors, XA-G37 Datasheet - Page 15
![The Philips Semiconductors XA (eXtended Architecture) family of 16-bit single-chip microcontrollers is powerful enough to easily handle the requirements of high performance embedded applications, yet inexpensive enough to compete in the market for hi](/photos/41/52/415289/sot187-2_3d_sml.gif)
XA-G37
Manufacturer Part Number
XA-G37
Description
The Philips Semiconductors XA (eXtended Architecture) family of 16-bit single-chip microcontrollers is powerful enough to easily handle the requirements of high performance embedded applications, yet inexpensive enough to compete in the market for hi
Manufacturer
NXP Semiconductors
Datasheet
1.XA-G37.pdf
(37 pages)
Philips Semiconductors
WATCHDOG TIMER
The watchdog timer subsystem protects the system from incorrect
code execution by causing a system reset when the watchdog timer
underflows as a result of a failure of software to feed the timer prior
to the timer reaching its terminal count. It is important to note that
the watchdog timer is running after any type of reset and must be
turned off by user software if the application does not use the
watchdog function.
Watchdog Function
The watchdog consists of a programmable prescaler and the main
timer. The prescaler derives its clock from the TCLK source that also
drives timers 0, 1, and 2. The watchdog timer subsystem consists of
a programmable 13-bit prescaler, and an 8-bit main timer. The main
timer is clocked (decremented) by a tap taken from one of the top
8-bits of the prescaler as shown in Figure 10. The clock source for
the prescaler is the same as TCLK (same as the clock source for
the timers). Thus the main counter can be clocked as often as once
every 32 TCLKs (see Table 2). The watchdog generates an
underflow signal (and is autoloaded from WDL) when the watchdog
is at count 0 and the clock to decrement the watchdog occurs. The
watchdog is 8 bits wide and the autoload value can range from 0 to
FFH. (The autoload value of 0 is permissible since the prescaler is
cleared upon autoload).
This leads to the following user design equations. Definitions: t
is the oscillator period, N is the selected prescaler tap value, W is
the main counter autoload value, P is the prescaler value from
Table 2, t
autoload value is 0), t
autoload value is FFH), t
t
t
t
The watchdog timer is not directly loadable by the user. Instead, the
value to be loaded into the main timer is held in an autoload register.
In order to cause the main timer to be loaded with the appropriate
value, a special sequence of software action must take place. This
operation is referred to as feeding the watchdog timer.
To feed the watchdog, two instructions must be sequentially
executed successfully. No intervening SFR accesses are allowed,
so interrupts should be disabled before feeding the watchdog. The
instructions should move A5H to the WFEED1 register and then
5AH to the WFEED2 register. If WFEED1 is correctly loaded and
WFEED2 is not correctly loaded, then an immediate watchdog reset
will occur. The program sequence to feed the watchdog timer or
cause new WDCON settings to take effect is as follows:
This sequence assumes that the XA interrupt system is enabled and
there is a possibility of an interrupt request occurring during the feed
sequence. If an interrupt was allowed to be serviced and the service
routine contained any SFR access, it would trigger a watchdog
reset. If it is known that no interrupt could occur during the feed
sequence, the instructions to disable and re-enable interrupts may
be removed.
2002 Mar 25
MIN
MAX
D
= t
XA 16-bit microcontroller family
32K OTP, 512 B RAM, watchdog, 2 UARTs
clr
mov.b
mov.b
setb
= t
OSC
= t
OSC
OSC
MIN
N
ea
wfeed1,#A5h ; do watchdog feed part 1
wfeed2,#5Ah ; do watchdog feed part 2
ea
is the minimum watchdog time-out value (when the
4
64
P
32 (W = 0, N = 4)
4096
(W + 1)
MAX
D
is the maximum time-out value (when the
is the design time-out value.
256 (W = 255, N = 64)
; disable global interrupts.
; re-enable global interrupts.
OSC
13
The reset values of the WDCON and WDL registers will be such that
The software must be written so that a feed operation takes place
every t
need to be made. It is not advisable to include feed operations in
minor loops or in subroutines unless the feed operation is a specific
subroutine.
To turn the watchdog timer completely off, the following code
sequence should be used:
This sequence assumes that the watchdog timer is being turned off
at the beginning of initialization code and that the XA interrupt
system has not yet been enabled. If the watchdog timer is to be
turned off at a point when interrupts may be enabled, instructions to
disable and re-enable interrupts should be added to this sequence.
Watchdog Control Register (WDCON)
the watchdog timer has a timeout period of 4
watchdog is running. WDCON can be written by software but the
changes only take effect after executing a valid watchdog feed
sequence.
Table 2. Prescaler Select Values in WDCON
Watchdog Detailed Operation
When external RESET is applied, the following takes place:
When coming out of a hardware reset, the software should load the
autoload register and then feed the watchdog (cause an autoload).
If the watchdog is running and happens to underflow at the time the
external RESET is applied, the watchdog time-out flag will be
cleared.
Watchdog run control bit set to ON (1).
Autoload register WDL set to 00 (min. count).
Watchdog time-out flag cleared.
Prescaler is cleared.
Prescaler tap set to the highest divide.
Autoload takes place.
mov.b
mov.b
mov.b
PRE2
D
0
0
0
0
1
1
1
1
seconds from the last feed operation. Some tradeoffs may
wdcon,#0
wfeed1,#A5h ; do watchdog feed part 1
wfeed2,#5Ah ; do watchdog feed part 2
PRE1
0
0
1
1
0
0
1
1
; set WD control register to clear WDRUN.
PRE0
0
1
0
1
0
1
0
1
4096
XA-G37
t
OSC
DIVISOR
Product data
1024
2048
4096
128
256
512
32
64
and the