beautypg.com

Watchdog timer, 1 watchdog timer setting, 2 watchdog timer trigger – Acrosser AR-B1651 User Manual

Page 17

background image

AR-B1651 User’s Guide

17

4. WATCHDOG TIMER

This section describes the use of Watchdog Timer, including disable, enable, and trigger. AR-B1651 is equipped
with a programmable time-out period watchdog timer that occupies I/O port 443H. Users can use simple program to
enable the watchdog timer. Once you enable the watchdog timer, the program should trigger it every time before it
times out. Watchdog Timer will generate a response (system or IRQ) due to system fails to trigger or disable
watchdog timer before preset timer, times out.

Watchdog

Register

Time Base

Counter and

Compartor

RESET

Enable(D7)

Time Factor

(D0-D5)

Write and

Trigger

Watchdog Block Diagram

4.1 WATCHDOG TIMER SETTING

The watchdog timer is a circuit that maybe be used from your program software to detect crash or hang up.

The Watchdog timer is automatically disabled after reset. Once you enabled the watchdog timer, your program
should trigger the watchdog timer every time before it times out. After you trigger the watchdog timer, the timer will
be set to zero and start to count again. If your program fails to trigger the watchdog timer before times out, it will
generate a reset pulse to reset the system or trigger the IRQ 9 signal in order to tell your system that the watchdog
time is out.

Please refer to the following table in order to properly program Watchdog function

D7

D6

D5 D4 D3 D2 D1 D0

1

Enable

Reset

0

Disable

IRQ 9

Time period

Users could test watchdog function under ‘Debug’ program as follows:

C:>debug

# O 443 C8H

Generally, watchdog function would reset system after 8 seconds

# O 443 0H

Disable watchdog function

C:>debug

# O 443 88H

Generally, watchdog function would generate IRQ 9 after 8 seconds

# O 443 0H

Disable watchdog function

4.2 WATCHDOG TIMER TRIGGER

After you enable the watchdog timer, your program must write the same factor as triggering to the watchdog timer

at least once during every time-out period. You can change the time-out period by writing another timer factor to the
watchdog register at any time, and you must trigger the watchdog during every new time-out period in next trigger.