double arrow

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


Переход МК в состояние сброса по сигналам схемы POR и модуля пониженного напряжения питания

Программа управления, записанная в память МК должна обеспечивать формирование адекватных выходных сигналов при любой комбинации входных сигналов. МК, в отличие от ПК, не имеет права "зависнуть". Но на МП- системы воздействуют электромагнитные помехи, возможны броски и просадки напряжения питания и т.д. Это может нарушить ход выполнения программы.

Для восстановления правильного хода выполнения программы в МК используется модуль сторожевого таймера (WatchDog).

Структурная схема сторожевого таймера

Основным элементом модуля является многоразрядный счетчик. Сторожевой таймер имеет независимый тактовый генератор, который работает даже в режиме Power Down. Частота этого генератора зависит от напряжения питания и при Е= 5В равна 1 Мгц. При сбросе МК счетчик обнуляется. После перехода МК в активный режим код счетчика начинает увеличиваться. При переполнении сторожевого таймера (наступлении тайм- аута) генерируется сигнал внутреннего сброса и МК снова начинает выполнение программы. Для исключения сброса по переполнению прикладная программа должна периодически, через промежутки времени меньшие его периода, сбрасывать счетчик. При нормальном выполнении программы счетчик сторожевого таймера периодически обнуляется и он не оказывает влияния на ход выполнения программы. Однако при нарушении работы программы счетчик не будет сброшен вовремя. Тогда произойдет сброс по переполнению сторожевого таймера и будет восстановлен ход выполнения программы с начального адреса.




Для управления сторожевым таймером служит регистр WDTCR (Watch Dog Timer Control Register). Период наступления тайм- аута задается с помощью разрядов WDP2…WDP0 регистра WDTCR. При WDP2…WDP0 = 000 период наступления тайм- аута 15 мс (Число тактов генератора 16К); при WDP2…WDP0 = 111 период наступления тайм- аута около 1,9 с (Число тактов генератора 2048К).







Сейчас читают про: