8 watchdog timer, 1 watchdog timer messaging – Cirrus Logic AN298 User Manual

Page 29

Advertising
background image

AN298RC14

29

8 Watchdog Timer

8 Watchdog Timer

The CS485xx has an integrated hardware watchdog timer that acts as a “health” monitor for the DSP. The watchdog timer
must be reset by the DSP before the counter expires, or the entire chip is reset. This peripheral ensures that the CS485xx
will reset itself in the event of a temporary system failure. In standalone mode (no host MCU), the DSP will reboot from
external FLASH. In slave mode (host MCU present), all GPIOs will be pulled high to signal the host that the watchdog has
expired and the DSP should be rebooted and reconfigured. The watchdog timer is disabled upon reset. There are three
important registers that the host uses for configuring the watchdog timer. They are KICKSTART, WDG_RELOAD, and
WDG_COUNT.

Note:

The enabling of the watchdog timer happens post-kick-start.

8.1 Watchdog Timer Messaging

The KICKSTART message is shown below, to enable the watchdog set bit 8 (a = 1). To enable no watchdog re-kicking,
set bit 9 as well (a = 3). No watching re-kicking is only used as a test hook to verify that the reset occurs when the timer
expires.

The WDG_COUNT message is shown below and reflects the watchdog state at last timer ISR. The default is abcdefgh =
FFFFFFFF.

The WDG_RELOAD message is used to set the watchdog reload time and is shown in the table below. The default is
abcdefgh = 00BB800, which is a 1 second reload time at 12.288 MHz.

The equation to calculate the watchdog reload time is shown below:

Watchdog reload time = MCLK / WDG_RELOAD

Mnemonic

Value

KICKSTART 0x81000000

0x00000a00

Mnemonic

Value

WDG_COUNT 0x81000018

0xabcdefgh

Mnemonic

Value

WDG_RELOAD 0x81000019

0xabcdefgh

Advertising