Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
84
Добавлен:
01.03.2016
Размер:
3.56 Mб
Скачать

Independent watchdog (IWDG)

RM0016

 

 

14 Independent watchdog (IWDG)

14.1Introduction

The independent watchdog peripheral can be used to resolve processor malfunctions due to hardware or software failures. It is clocked by the 128 kHz LSI internal RC clock source, and thus stays active even if the main clock fails.

14.2IWDG functional description

Figure 27 shows the functional blocks of the independent watchdog module.

When the independent watchdog is started by writing the value 0xCC in the key register (IWDG_KR), the counter starts counting down from the reset value of 0xFF. When it reaches the end of count value (0x00) a reset signal is generated (IWDG RESET).

Once enabled, the independent watchdog can be configured through the IWDG_PR, and IWDG_RLR registers. The IWDG_PR register is used to select the prescaler divider feeding the counter clock. Whenever the KEY_REFRESH value (0xAA) is written in the IWDG_KR register, the IWDG is refreshed by reloading the IWDG_RLR value into the counter and the watchdog reset is prevented.

The IWDG_PR and IWDG_RLR registers are write protected. To modify them, first write the KEY_ACCESS code (0x55) in the IWDG_KR register. The sequence can be aborted by writing 0xAA in the IWDG_KR register to refresh it.

Refer to Section 14.3: IWDG registers for details on the IWDG registers.

Figure 27. Independent watchdog (IWDG) block diagram

 

128 kHz LSI

IWDG_PR

IWDG_RLR

IWDG_KR

register

reload register

key register

clock

 

 

 

64 kHz

7-bit

 

WDG reset

/2

8-bit down-counter

prescaler

 

 

 

 

Hardware watchdog feature

If the hardware watchdog feature has been enabled through the IWDG_HW option byte, the watchdog is automatically enabled at power-on, and generates a reset unless the key register is written by the software before the counter reaches end of count. Refer to the option byte description in the datasheet.

122/454

Doc ID 14587 Rev 9

RM0016

Independent watchdog (IWDG)

 

 

Timeout period

The timeout period can be configured through the IWDG_PR and IWDG_RLR registers. It is determined by the following equation:

T = 2 × TLSI × P × R

where:

T = Timeout period

TLSI = 1/fLSI

P = 2 (PR[2:0] + 2)

R = RLR[7:0]+1

The IWDG counter must be refreshed by software before this timeout period expires. Otherwise, an IWDG reset will be generated after the following delay has elapsed since the last refresh operation:

D = T + 6 x TLSI

where D= delay between the last refresh operation and the IWDG reset.

Table 28. Watchdog timeout period (LSI clock frequency = 128 kHz)

Prescaler divider

PR[2:0] bits

 

Timeout

 

 

 

RL[7:0]= 0x00

 

RL[7:0]= 0xFF

 

 

 

 

 

 

 

 

/4

0

62.5 µs

 

15.90 ms

 

 

 

 

 

/8

1

125 µs

 

31.90 ms

 

 

 

 

 

/16

2

250 µs

 

63.70 ms

 

 

 

 

 

/32

3

500 µs

 

127 ms

 

 

 

 

 

/64

4

1.00 ms

 

255 ms

 

 

 

 

 

/128

5

2.00 ms

 

510 ms

 

 

 

 

 

/256

6

4.00 ms

 

1.02 s

 

 

 

 

 

Doc ID 14587 Rev 9

123/454

Соседние файлы в папке Минимум документации STM8