![IEI Technology SAGP-648E Скачать руководство пользователя страница 42](http://html.mh-extra.com/html/iei-technology/sagp-648e/sagp-648e_user-manual_619809042.webp)
42
Appendix A: Watchdog Timer
The Watchdog Timer is provided to ensure that standalone systems can always
recover from catastrophic conditions that cause CPU crash, e.g. external EMI or a
software bug. When the CPU stops working properly, hardware on the board will
either perform a hardware reset (cold boot) or a Non-Maskable Interrupt (NMI) to
resume the system 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 period
BL: Time-out value (the time unit—second or
minute, is dependent on the Watchdog Timer unit
selected in BIOS setup).
You have to call sub-function 2 to set the time-out period of Watchdog Timer first.
If the time-out value is not zero, Watchdog Timer will start counting down. When
the timer value reaches zero, the system will reset. To ensure that this reset
condition does not occur, Watchdog Timer must be periodically refreshed by
calling sub-function 2. However, Watchdog timer will be disabled if you set the
time-out value to be 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
;