Вузол Watch-Dog з’явився у складі сучасних МК порівняно недавно. Перші МК його не мали, тому розробники використовували для примусового скидання зовнішній керований генератор Watch-Dog, зібраний на спеціалізованих мікросхемах або на «розсипи» дискретних елементів.

Існує кілька вагомих причин, які змушують завжди тримати зовнішній Watch-Dog «на паралельних рейках» (читай, в підсвідомості) і володіти типовими прийомами його підключення до МК.

По-перше, зовнішній Watch-Dog корисний при налагодженні і тестуванні програм, щоб визначити джерело збоїв і виключити вплив внутрішнього сторожового таймера.

По-друге, зовнішній Watch-Dog може функціонувати одночасно з внутрішнім сторожовим таймером для підстраховки і для зниження ймовірності пропуску збою.

По-третє, зовнішній Watch-Dog нагоді, якщо в МК мало вільної пам’яті або програма має надто складну структуру. В останньому випадку внутрішній сторожовий таймер через недогляд програміста може пропустити чергове обнулення регістра WDR, у зв’язку з чим МК буде помилково перезапущений «з нуля».

По-четверте, зовнішній Watch-Dog допускає плавну або дискретну підстроювання тривалості «сторожовий» паузи, аж до дуже великих меж, що може бути корисним при проведенні різних модельних експериментів.

 

 

Рис. 4.5. Схеми підключення вузлів Watch-Dog до МК (початок):

а) у вихідному стані транзистор VT1 періодично відкривається імпульсами з виходу МК, тим самим, постійно розряджаючи конденсатор С2. При пропажі зазначених імпульсів, наприклад, у разі «зависання» програми, конденсатор С2 заряджається через резистор R2 до порогового рівня тригера Шмітта DDI. Чим більше номінали елементів R2, С2, тим більше час заряду. Якщо генерація імпульсів припиняється, то тригер Шмітта перекидається в протилежний стан і формує НИЗЬКИЙ рівень RES для примусового скидання МК. Після цього конденсатор С2 швидко розряджається через резистор R2 і на виході тригера Шмітта встановлюється ВИСОКИЙ рівень, тобто виходить повноцінний імпульс скидання;

б) DA1 – це супервізор «просідань» харчування (фірма Maxim / Dallas), суміщений з вузлом Watch-Dog. На виході МК періодично повинні генеруватися імпульси, які свідчать про нормальну роботу програми, інакше відбудеться примусовий початковий скидання;

 

 

Рис. 4.5. Схеми підключення вузлів Watch-Dog до МК (закінчення):

в) час паузи Watch-Dog (допустиме відсутність імпульсів на виведення 6 мікросхеми DDI) складає 6 с. Залежить воно від ємності конденсатора С2 і логічного рівня на виводі 5 DDI;

г) імпульси Watch-Dog, необхідні для нормальної роботи супервізора DDI, генеруються «миготливим» світлодіодом HL1 незалежно від стану МК. При низьких опорах резистора R1 (0.2 … 1 кОм) будуть спостерігатися спалахи світла з частотою 2 … 3 Гц, що дозволяє візуально оцінити наявність харчування;

д) повна схема включення монітора харчування DDI серії «1232 *. Є режими: BOD, POR, Watch-Dog, PushButton (висновок для кнопки скидання). Перемичками SI, S2 задається поріг спрацьовування супервізора -5 або -10% від Усс, а також пауза для вузла Watch-Dog в межах 0.15 … 1.2 с. Важливий нюанс – допуск на паузу в даташітах становить до 50% від номіналу, тобто орієнтуватися треба на мінімум. Заміни DDI – ADM 1232, LTC1232, HN1232, IМР1232;

е) сигнал Watch-Dog на висновок 7 мікросхеми DDI може подаватися двома шляхами: через резистор R1 від кварцового генератора МК (висока частота FTдКТ) і зі спеціального виходу ALE (низька частота FTAKJ / n), наявного, наприклад, у сімействі MCS-51.

 

Джерело:
Рюмік С.М. 1000 і одна мікроконтролерних схема.