HELLORADIO.RU — интернет-магазин средств связи
EN FR DE CN JP
QRZ.RU > Каталог схем и документации > Схемы наших читателей > Внешний сторожевой таймер (Watch-Dog) для микроконтроллера

Внешний сторожевой таймер (Watch-Dog) для микроконтроллера

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

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

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

Во-вторых, внешний Watch-Dog может функционировать одновременно с внутренним сторожевым таймером для подстраховки и для снижения вероятности пропуска сбоя.

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

В-четвёртых, внешний Watch-Dog допускает плавную или дискретную подстройку длительности «сторожевой» паузы, вплоть до очень больших пределов, что может быть полезным при проведении различных модельных экспериментов.

Внешний сторожевой таймер (Watch-Dog)

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

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

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

Внешний сторожевой таймер (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 и одна микроконтроллерная схема.

Партнеры