[an error occurred while processing this directive] [an error occurred while processing this directive]
WatchDog - сторожевая собака ;)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Ralex 17 декабря 2001 г. 06:55
В ответ на: Два простых вопроса.Ответьте,плз. отправлено grin 17 декабря 2001 г. 04:50

Это таймер, который предназначен для формирования события после прохождения определённого времени. В микроконтроллерах такой пёс устроен так, что может быть сконфигурирован на определённое время, после которого формирует контроллеру аппаратный RESET. Есть специальная команда, которая позволяет сбросить таймер в ноль, и вот мы подходим к самому вкусному - берём эту самую команду, пихаем в основной цикл программы или в какие-либо повторяющиеся фрагменты (например, подпрограмма динамической индикации с прерыванием по таймеру) - и получаем гарантированный сброс контроллера в случае если через определённое время этот участок кода не выполнится - то есть если контроллер подвиснет. И грамотно написанный код тут не при чём - подвисание может произойти и от импульсных помех и от лунных приливов большой амплитуды :) Итак, В контроллерах watchdog применяется для формирования сброса при зависании. Весь сок в том, что это не таймер с программно организованной обработкой прерывания, а аппаратный, железный узел. Надёжность соответственно выше.
Обычно пёс позволяет конфигурировать себя с помощью внутренних регистров - включен, выключен, и время срабатывания.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru