Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
51
Добавлен:
23.02.2015
Размер:
6.23 Mб
Скачать

Описание регистра AWUPR

AWUFH PRESCALER РЕГИСТР (AWUPR) доступен по чтению и записи, состояние после СБРОСА: 1111 1111 (FFh).

Биты 7:0 = AWUPR [7:0] Auto Wake Up Prescaler. Эти 8 бит определяют AWUPR фактор деления от 1 до 255.

В режиме AWU период tAWU, в котором MCU пребывает в режиме ОСТАНОВА, (рис. 5.9) определяется tAWU = 64 х AWUPR x 1/fAWURC

+tRCSTRT.

Регистр prescaler может быть запрограммирован для изменения времени нахождения MCU в режиме ОСТАНОВА перед автоматическим пробуждением.

CТОРОЖЕВОЙ СЧЕТЧИК (WATCHDOG)

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

Цепи сторожевого таймера производят сброс MCU по истечении запрограммированного периода времени, если выполняемая программа не освежает содержимое счетчика до очищения бита Т6 в регистре WDGCR.

CТОРОЖЕВОЙ СЧЕТЧИК (WATCHDOG)

Программируемый свободно вычитающий семибитовый счетчик (одно вычитание за 16000 циклов центрального процессора).

Программируемый сброс.

Сброс (если активизирован сторожевой счетчик), когда бит T6 достигает значения ноль.

Дополнительный сброс по инструкции HALT (конфигурируется байтом выбора).

Аппаратные средства сторожевого счетчика выбираются байтом выбора (Option Byte).

CТОРОЖЕВОЙ СЧЕТЧИК (WATCHDOG)

Значение счетчика, сохраняемое в регистре WDGCR (в битах T [6:0]), декрементируется за каждые 16000 CPU. Длина периода прерывания может быть запрограммирована пользователем в пределах 64х16000 циклов CPU. Если сторожевой счетчик активизирован (бит WDGA установлен) и когда семибитовый счетчик (биты T [6:0]) переходит из состояния 40h в состояние 3Fh, то бит T6 очищается. Это инициализирует цикл сброса подтягиванием линии RESET к низкому уровню типично на 30 микросекунд.

Рис. 6.1. Регистр управления WDGCR сторожевого счетчика (WATCHDOG)

CТОРОЖЕВОЙ СЧЕТЧИК (WATCHDOG)

Для предотвращения сброса MCU прикладная программа должна регулярно осуществлять перезапись регистра WDGCR, поддерживая значение в нем между FF и C0h. Это не позволит в свободно вычитающем счетчике очищение бита Т6 и исключит формирование сброса при нормально работающей программе.

Установка бита WDGA = 1 разрешает работу WATCHDOG .

Бит T6 = 1 предотвращает формирование непосредственного сброса.

Биты T [5:0] содержат число приращений, которые определяют задержку времени таймера до формирования сброса.

После сброса бит Т7 = 0 и таймер не активизированы. Активизация таймера осуществляется программно установкой бита WDGA = 1, а очищение только аппаратно по сбросу. Бит T6 может использоваться, чтобы произвести программный сброс (при установленном бите WDGA бит T6 очищается программой).

Если сторожевой таймер активизирован, инструкция HALT произведет cброс.

Аппаратный выбор Watchdog

Если аппаратные средства сторожевого таймера выбраны байтом выбора (Option Byte), сторожевой таймер всегда активен и бит WDGA в регистре WDGСR не используется.

Если режим HALT со сторожевым

 

таймером разрешен байтом выбора, то

 

рекомендуется перед выполнением

 

инструкции HALT освежать счетчик WDG,

 

избегая неожиданного сброса от WDG

 

немедленно после пробуждения MCU. То же

 

самое поведение в режиме ACTIVE-HALT.

Регистр управления WDGСR сторожевого

 

таймера доступен по чтению и записи,

 

состояние после сброса: 0111 1111 (7Fh).

Соседние файлы в папке МПСслайды