System Installation
PEB-2771VG2A/PEB-2781VG2A User’s Manual
3-3
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.
PEB-2771VG2A/PEB-2781VG2A 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 W83627UHG 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 W83627UHG 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);
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from