System Installation
WADE-8071 User’s Manual
3-4
3.5
WDT Function
The working algorithm of the WDT function can be simply described as a counting
process. The Time-Out Interval can be set through software programming. The
availability of the time-out interval settings by software or hardware varies from
boards to boards.
WADE-8071 allows users control WDT through dynamic software programming. The
WDT starts counting when it is activated. It sends out a signal to system reset or to
non-maskable interrupt (NMI), when time-out interval ends. To prevent the time-out
interval from running out, a re-trigger signal will need to be sent before the counting
reaches its end. This action will restart the counting process. A well-written WDT
program should keep the counting process running under normal condition. WDT
should never generate a system reset or NMI signal unless the system runs into
troubles.
The related Control Registers of WDT are all included in the following sample
program that is written in C language. User can fill a non-zero value into the
Time-out Value
Register to enable/refresh WDT. System will be reset after the
Time-out Value to be counted down to zero. Or user can directly fill a zero value into
Time-out Value Register to disable WDT immediately. To ensure a successful
accessing to the content of desired Control Register, the sequence of following
program codes should be step-by-step run again when each register is accessed.
Additionally, there are maximum 2 seconds of counting tolerance that should be
considered into user’ application program. For more information about WDT, please
refer to Winbond W83627HG-AW data sheet.
There are two PNP I/O port addresses that can be used to configure WDT,
1) 0x2E:EFIR (Extended Function Index Register, for identifying CR index number)
2) 0x2F:EFDR (Extended Function Data Register, for accessing desired CR)
Below are some example codes, which demonstrate the use of WDT.
//Step1. Enter W83627HG configuration registers mode:
outportb(0x2E, 0x87);
outportb(0x2E, 0x87);
//* Step2. Pin89 to be WDTO
outportb(0x2E, 0x2b);
outportb(0x2E + 1, 0x04);
//* Step3. Select logic device 8:
outportb(0x2E, 0x07);
outportb(0x2E + 1, 0x08);