Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЦУ_конспект_12.docx
Скачиваний:
68
Добавлен:
14.11.2019
Размер:
5.57 Mб
Скачать

Временные диаграммы работы схемы por

Обычно порог отпускания VPOR не превышает 200 мВ. Поэтому при использовании "гладких" источников питания может сложиться ситуация, при которой напряжение питания стало меньше VDDMIN но не достигло напряжения отпускания схемы POR. Тогда МК может "зависнуть". При восстановлении напряжения питания до номинального значения МК в работу не вступит.

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

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

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

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

Для восстановления правильного хода выполнения программы в МК используется модуль сторожевого таймера (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К).