Скидання

Мікроконтролери PIC16С5Х мають наступні способи скидання:

– скидання по включенню живлення (POR);

– скидання по входу MCLR при звичайній роботі;

– скидання по входу MCLR в режимі пониженого енергоспоживання SLEEP;

– скидання по сторожовому таймеру WDT.

На рис. 2.12 наведена структурна схема вузла скидання.

При скиданні деякі регістри не змінюють свій стан. При включенні живлення вони мають невизначене значення, в інших випадках їхній стан не змінюється (див. табл. 2.3 і більш докладно в [3, 5]). Більшість інших регістрів встановлюються в певний стан у випадках скидання при включенні живлення, за входом MCLR або за сторожовим таймером. PIC16С5Х не розрізняє скидання по сторожовому таймеру при нормальній роботі та режимі SLEEP. Біти ТО і РD (STATUS <4:3>) встановлюються в залежності від причини скидання.

Під час дії сигналу «Скидання» стан кристала наступний:

– Генератор працює або готовий до запуску (включення або вихід із SLEEP).

– Всі виводи портів вводу-виводу кристала встановлюються в третій стан, шляхом установки регістрів "TRIS" в "одиницю" (що відповідає режиму вводу).

– Всі біти програмного лічильника встановлюються в “одиниці” (у випадку PIC16C54/55 програмний лічильник дорівнює 1FFh, для PIC16C56 програмний лічильник дорівнює 3FFh, PIC16C57 – програмний лічильник дорівнює 7FFh).

– Біти регістра OPTION встановлюються в “одиниці”.

– Watchdog таймер і його дільника обнуляються.

– Старші три біти статус-регістра (біти вибору сторінки) обнуляються.

– Сигнал CLKOUT на виводі OSC2 утримується в "0" (тільки для

RC-генераторів).

 

 
 

 

 


Рис. 2.12. Структурна схема вузла скидання

 

Таймер запуску.Генератор, побудований на кварцових або керамічних резонаторах, вимагає обов'язкової затримки після включення живлення для забезпечення стабільної генерації. Для цього вбудований таймер запуску генератора тримає пристрій в стані скидання приблизно 18 мс після того, як сигнал на /MCLR ніжці кристала досягне рівня логічної одиниці. Таким чином, зовнішній ланцюжок RC, зв'язаний з ніжкою /MCLR, в багатьох випадках не вимагається.

Wathdog Timer також використовує таймер запуску. Це важливо для випадків, де WDT використовується для автоматичного виведення PIC16C5X із режиму SLEEP. В кристалах з низькою частотою, де вимагається понад

18 мс для забезпечення стабільної генерації, використання вбудованого таймера запуску недостатньо.

Зовнішнє скидання при включенні живлення.Кристали PIC16C5X мають вбудовану схему скидання при включенні живлення. Щоб використати цю схему, треба просто підключити вивід /MCLR до напруги живлення Vdd. Таймер запуску починає відлік затримки часу тільки якщо /MCLR досяг високого рівня. По закінченні цієї затримки (в середньому 18 мс) процес внутрішнього скидання завершується.

Тут існує проблема, коли Vdd зростає надто повільно і затримка на запуск генератора завершилася, а живлення ще не досягло свого мінімального значення Vdd (min) дієздатності. Вбудована схема скидання забезпечує роботу, якщо швидкість зростання Vdd при включенні не нижче 0.05 В/мс. Необхідно також, щоб початковий рівень живлення дорівнював 0 В. Вбудована схема скидання також не буде працювати з низькочастотними кристалами, що вимагають затримку на запуск, значно більшу ніж 18 мс. У таких випадках рекомендується використати зовнішні RC ланцюжки для скидання по /MCLR. Нижче на рис. 2.13 наведено такий ланцюжок.

 
 

 

 


Рис. 2.13. Схема зовнішнього скидання

 

Тут можна застосувати діод для швидкого розряду конденсатора при виключенні живлення. На резисторі R < 40 кОМ не повинно падати більше 0.2 В. Резистор 100 Ом < R1 < 1 кОм обмежить струм в ніжку /MCLR.