System Installation
ROBO-8911VG2A User’s Manual
3-8
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.
The ROBO-8911VG2A 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 W83627THF 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.
// Enter Extended Function Mode
outp(0x002E, 0x87);
outp(0x002E, 0x87);
// Assign Pin 89 to be a WDTO
outp(0x002E, 0x2B);
outp(0x002F, inp(0x002F) & 0xEF);