IBM SAGP-845EV Manuel D’Utilisation

Page de 48
 42
 
Appendix A  Watchdog Timer 
 
The Watchdog Timer is provided to ensure that standalone systems can always 
recover from catastrophic conditions that cause the CPU to crash.  This condition 
may have occurred by external EMI or a software bug.  When the CPU stops 
working correctly, hardware on the board will either perform a hardware reset 
(cold boot) or a Non-Maskable Interrupt (NMI) to bring the system back to a 
known state. 
 
A BIOS function call (INT 15H) is used to control the Watchdog Timer: 
 
INT 15H: 
 
AH – 6FH 
Sub-function: 
AL  –  2 : Set the Watchdog Timer’s period 
BL         : Time-out value(Its unit--second or minute, is 
                dependent on the item “Watchdog Timer unit  
                select” in CMOS setup). 
 
The sub-function 2 needs to be called to set the time-out period of Watchdog 
Timer first.  If the time-out value is not zero, the Watchdog Timer will start to 
count down.  While the timer value reaches zero, the system will reset.  To 
ensure that this reset condition does not occur, the Watchdog Timer must be 
periodically refreshed by calling sub-function 2.  However the Watchdog timer will 
be disabled if the user set the time-out value to zero. 
 
A tolerance of at least 10% must be maintained to avoid unknown 
routines within the operating system (DOS), such as disk I/O that can be 
very time-consuming. 
 
Note: when exiting a program, it is necessary to disable the Watchdog Timer; 
otherwise the system will reset. 
 
Example program: 
 
; INITIAL TIMER PERIOD COUNTER 
W_LOOP: 
 
        MOV     AX, 6F02H              ;setting the time-out value 
        MOV     BL, 30                     ;time-out value is 48 seconds 
        INT       15H 
 ; 
; ADD YOUR APPLICATION PROGRAM HERE 
        CMP      EXIT_AP, 1            ;is your application over? 
        JNE       W_LOOP               ;No, restart your application 
 
         MOV    AX, 6F02H              ;disable Watchdog Timer 
         MOV    BL, 0                        ; 
         INT      15H 
; EXIT