Головна

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

  1.  А2 Використання таймера Timer_А - файл RTC11xTAs43 File
  2.  Архітектура програмованого таймера КР580ВИ53
  3.  Можливості таймера - порту Timer Port
  4.  Генератор імпульсів в автоколивальних режимі на таймері
  5.  Генератор імпульсів в режимі очікування на таймері
  6.  Генерація прямокутних сигналів з використанням 8-бітного таймера і таймера - порту Timer Port
  7.  Глава 3. Декодування ТВ ІК ДУ-сигналів використовуючи Таймер A3

сторожовий таймерWDT (Рисунок 14) являє собою незалежний вбудований RC-генератор, який не потребує ніяких зовнішніх ланцюгів. Він працює, навіть якщо основний тактовий генератор зупинений, як це відбувається при виконанні команди SLEEP. При нормальній роботі сторожовий таймер після закінчення заданої витримки часу виробляє сигнал скидання. Якщо контролер знаходився в режимі зниженого енергоспоживання SLEEP, Спрацьовування сторожового таймера виводить його з цього режиму і переводить в режим нормальної роботи. Функціонування сторожового таймера може бути заборонено шляхом запису «0» в біт конфігурації WDTE на етапі програмування мікросхем.

Примітка: PSA і PS2 ... PS0 - біти регістру OPTION

Малюнок 14 - Структурна схема сторожового таймера

Період сторожового таймера. Номінальна витримка сторожового таймера становить 18 мс (без використання попереднього дільника). Вона залежить від температури і напруги живлення, а також змінюється від розкиду характеристик кристалів. Якщо потрібно збільшити час затримки, то до WDT може бути підключений вбудований попередній дільник з коефіцієнтом ділення до 1: 128, програмований шляхом запису в регістр OPTION, таким чином можуть бути реалізовані витримки до 2,3 с.

команди CLRWDT и SLEEP обнуляют WDT і попередній дільник, якщо він підключений до WDT. Таким чином, витримка часу починає відраховуватися спочатку і на деякий час вироблення сигналу скидання запобігається. При спрацьовуванні сторожового таймера обнуляється біт  в регістрі STATUS.

Витримка часу сторожового таймера максимальна при наступній комбінації параметрів: мінімальна напруга  , Максимальна температура і максимальний коефіцієнт ділення подільника. При цих умовах витримка часу сторожового таймера може становити кілька секунд.

Режим зниженого енергоспоживання (SLEEP)

Вхід в режим зниженого енергоспоживання SLEEP здійснюється командою SLEEP. За цією командою сторожовий таймер, якщо вона була розв'язана при програмуванні контролера, скидається і починає відлік часу. У регістрі стану STATUS скидається біт  і встановлюється біт  , А тактовий генератор вимикається. Порти введення / виводу зберігають стан, яке вони мали до входу в режим SLEEP.

Для зниження струму, споживаного в цьому режимі, всі розряди зовнішніх портів кристала повинні перебувати або на рівні  , Або на рівні  . Всі розряди портів, що знаходяться в високоімпедансних стані, повинні бути з'єднані через зовнішні резистори з  або  , Щоб уникнути струмів перемикання, що викликаються плаваючим потенціалом на високоомних входах. Вхід T0CK1 також повинен мати потенціал  або  . висновок  повинен мати високий логічний рівень.

Слід зазначити, що сигнал внутрішнього скидання, що виробляється сторожовим таймером, що не перемикає MCLR в низький рівень.

Вихід з режиму SLEEP здійснюється за одним з таких подій:

- Зовнішній скидання - імпульс низького рівня на виводі ;

- Скидання при спрацьовуванні сторожового таймера WDT (якщо він дозволений);

- Переривання від виведення RB0 / INT, По зміні порту RB <7 ... 4> або після закінчення запису ЕППЗУ.

біти и  регістра стану можуть бути використані для визначення причини скидання. біт  регістра стану встановлюється при включенні харчування і обнуляється командою SLEEP. біт  дозволяє визначити, чим була викликана вихід з режиму SLEEP: Зовнішнім сигналом на виведення  або спрацьовуванням сторожового таймера. Він обнуляється тільки при скиданні від сторожового таймера.

При виконанні команди SLEEP наступна команда за адресою PC + 1 вибирається з пам'яті. Щоб мікроконтролер вийшов з режиму зниженого енергоспоживання по перериванню, необхідно встановити (дозволити) відповідні біти дозволу переривання. Вихід з режиму зниженого енергоспоживання відбудеться незалежно від стану біта GIE. якщо біт GIE встановлений в «0» (заборонений), мікроконтролер продовжує виконання з команди, наступної після команди SLEEP. Якщо ж біт GIE встановлений в «1» (дозволений), мікроконтролер виконує команду, наступну за командою SLEEP, І потім переходить на адресу переривання 0004h. Якщо виконання команди, наступної за командою SLEEP, Неприпустимо, необхідно після команди SLEEP додати команду NOP. Якщо переривання заборонені (біт GIE встановлений в «0»), але хоча б для одного з джерел переривання встановлений біт дозволу переривань і відповідний прапор дозволу переривань, мікроконтролер негайно вийде з режиму SLEEP. команда SLEEP буде виконана.

Незалежно від причини скидання при виході з режиму SLEEP сторожовий таймер WDT обнуляється.

 




 Організація пам'яті мікропроцесорних систем |  Організація пам'яті програми |  Організація пам'яті даних |  Попередній дільник |  біти конфігурації |  кварцовий генератор |  RC-генератор |

© um.co.ua - учбові матеріали та реферати