67

Watchdog modalities

The watchdog function resets the board at the end of the countdown.

There are two ways to program the watchdog:

Using BIOS INT 52h

Using direct Super I/O registers programming

BIOS INT 52h - functions 0Ch, 0Dh, 0Eh

This method can be used under DOS or under Operating Systems using the board BIOS (i.e. not under Linux which erases the BIOS after the boot and autonomously manage the module hardware).

The functions implemented from the BIOS are:

INT 52h, function 0Ch: watchdog enabling with a fixed time of 2 seconds. This function programs and starts immediately the watchdog counter.

INT 52h, function 0Dh: watchdog erasing. Counting is interrupted and watchdog disabled.

INT 52h, function 0Eh: watchdog refresh. Every call to this function restarts the counting from the initial value.

When the watchdog is activated, the countdown starts immediately. If no refresh occurs, when the default timeout expires, the board reset is executed. So the watchdog must be enabled and continuously refreshed, avoiding in this way the board reset.

Example:

 

 

...

 

 

MOV

AH, 0Ch

 

INT

52h

; Enable the watchdog (fixed timeout = 2 seconds)

...

 

 

Super I/O registers programming

This method must be used when the OS doesn’t manage the BIOS (i.e. Linux) or when a personalized watchdog programming is required.

The following example shows how to change the Super I/O (SPIO) FDC 37B782 watchdog registers:

; SPIO: enter in configuration mode ...

MOV DX, 03F0h

; SPIO Index Port

67

Page 67
Image 67
SMC Networks 1232 Series Watchdog modalities, Bios INT 52h functions 0Ch, 0Dh, 0Eh, Super I/O registers programming, Mov