Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Сторожевой таймер



Сторожевой таймер (Watchdog) синхронизирован от отдельного внутреннего генератора на кристалле, работающего с частотой 1 МГц (при напряжении питания Vcc=5 В).

Задержка сброса устанавливается с помощью предделителя (Prescaler). Настройка предделителя осуществляется установкой или сбросом битов WDP0….WDP2 регистра управления сторожевым таймером WDTCR (WDT Control Register). По истечении установленного времени задержки сторожевой таймер подает сигнал сброса на микроконтроллер.

Таблица. 6.2. Интервалы задержки сторожевого таймера микроконтроллера АТтеда163

WDP2 WDP1 WDP0 Количество циклов Задержка сброса
      16К 15 ms
      32K 30 ms
      64K 60 ms
      128К 0.12 s
      256K 0.24 s
      512К 0.49 s
      1,024К 0.97 s
      2,048K 1.9s

Сброс может быть предотвращен инструкцией wdr (Watchdog Reset).

Бит WDE (Watchdog Enable) в регистре WDTCR (рис. 6.3) позволяет подключать или отключать сторожевой таймер. При разрешении работы сторожевого таймера его состояние не определено и прежде, чем разрешать его включение, необходимо выполнить инструкцию wdr. В ином случае контроллер может быть сброшен прежде, чем будет выполнена команда wdr, прописанная после разрешения. Для предотвращения случайных ошибок запрет сторожевого таймера должен оформляться специальной процедурой выключения.


Рис. 6.3. Регистр управления сторожевым таймером WDTCR

0 Бит 4 - WDTOE (Watchdog Turn-off Enable) - разрешение отключения сторожевого таймера. Бит должен быть установлен в состояние 1 при очистке бита WDE. В ином случае сторожевой таймер не будет запрещен. Установленный бит аппаратно очищается после четырех тактовых циклов.

0 Бит 3 - WDE (Watchdog Enable): разрешение сторожевого таймера. Если бит WDE установлен в состояние 1 (сторожевой таймер разрешен) и если бит WDE очищен, то функционирование сторожевого таймера запрещено. Бит WDE может быть очищен, только если до этого установлен бит WDTOE. Для запрещения разрешенного сторожевого таймера необходимо выполнить следующую процедуру:

В одной операции записать 1 в биты WDTOE и WDE. Логическая 1 должна быть записана в WDE, даже если этот бит был установлен перед началом операции запрета сторожевого таймера. За время последующих четырех тактовых циклов записать 0 в WDE.

0 Биты 2..0 - WDP2, WDP1, WDP0 (Watch Dog TimerPrescaler 2, 1 and0) - биты установки коэффициента предварительного деления сторожевого таймера. Состояния битов WDP2, WDP1 и WDP0 определяют коэффициент предварительного деления тактовой частоты разрешенного сторожевого таймера. Коэффициенты и соответствующие им промежутки времени представлены в таблице 6.2.





Дата публикования: 2014-11-03; Прочитано: 423 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.014 с)...