Для предотвращения нежелательного отключения сторожевого таймера, для его запрещения должна выполняться определенная последовательность, которая описана при рассмотрении регистра WDTCR.
Рис. 2.35.
Регистр управления сторожевым таймером — WDTCRБиты 7…5
— в AT90S2313 зарезервированы и всегда читаются как 0.Бит 4 — YVDTOE
— разрешение выключения сторожевого таймера. При очистке бита WDE этот бит должен быть установлен, иначе работа сторожевого таймера не прекращается. Через четыре такта после установки этого бита он аппаратно сбрасывается.Бит 3 — WDE
— разрешение сторожевого таймера. Если бит установлен, работа сторожевого таймера разрешена, если бит сброшен — запрещена. Сброс бита производится только в том случае, если бит WDTOE установлен в 1.Биты 2…0 — WDP2…0
— биты предварительного делителя сторожевого таймера. Если работа сторожевого таймера разрешена, эти биты определяют предварительный коэффициент деления для сторожевого таймера. В табл. 2.12 приведены различные значения установок предварительного делителя и соответствующие им временные интервалы при напряжении питания Vcc = 5 В.Для запрещения включенного сторожевого таймера должна исполняться следующая процедура:
1. Одной командой записать 1 в WDTOE и WDE. Единица в WDE должна записываться даже в том случае, если этот бит был установлен перед началом процедуры остановки таймера.
2. В течение следующих четырех тактов процессора необходимо записать в WDE логический 0, при этом работа сторожевого таймера запрещается.
2.7. Чтение и запись в энергонезависимую память
Регистры доступа к энергонезависимой памяти (EEPROM) расположены в пространстве ввода/вывода.
Время записи лежит в диапазоне 2,5…4 мс и зависит от напряжения питания. Если программа пользователя производит запись в энергонезависимую память, должны быть предприняты некоторые меры предосторожности. При использовании в источнике питания конденсаторов большой емкости напряжение питания нарастает и спадает достаточно медленно. Это приводит к тому, что процессор некоторое время работает при напряжении питания ниже минимума, достаточного для нормальной работы схем тактирования. При этом он может совершать нежелательные переходы, попадая на части программы, производящие запись в EEPROM. В таких случаях для защиты содержимого EEPROM необходимо использовать внешние схемы, формирующие сигнал сброса при уменьшении напряжения питания. При использовании внешнего супервайзера питания (например, К1171СП47 — для него граница срабатывания составляет 4,7 В), подающего на вывод Reset напряжение низкого уровня при напряжении питания ниже допустимого, практически можно быть уверенным в том, что содержимое памяти EEPROM не будет портиться независимо от емкости конденсатора на выходе источника питания.
При записи или чтении EEPROM процессор приостанавливается на 2 машинных цикла до начала выполнения следующей команды.
Рис. 2.36.
Бит 7
— в AT90S2313 зарезервирован и всегда читается как 0.Биты 6…0 — EEAR6…0
— адрес EEPROM. Адресный регистр EEPROM задает адрес в 128-байтовом пространстве EEPROM. Байты данных EEPROM адресуются линейно в диапазоне 0…127.Рис. 2.37.
Биты 7…0 — EEDR7…0
— Данные EEPROM. При записи регистр EEDR содержит данные, которые должны записываться в EEPROM по адресу, находящемуся в регистре EEAR. После операции чтения в этот регистр записываются данные, прочитанные из EEPROM, по адресу, заданному в регистре EEAR.Рис. 2.38
.Биты 7…3
— в AT90S2313 зарезервированы и всегда читаются как 0.Бит 2 — EEMWE
— управление разрешением записи. Этот бит определяет, будут ли записаны данные при установке EEWE. Если бит EEMWE установлен, при установке EEWE данные записываются по выбранному адресу EEPROM. Если этот бит сброшен, установка EEWE не имеет эффекта. После программной установки этот бит сбрасывается аппаратно через четыре такта процессора.Бит 1 — EEWE
— разрешение записи в EEPROM. Сигнал EEWE является стробом записи в EEPROM. После установки правильных адреса и данных для записи в EEPROM необходимо установить бит EEWE. При записи 1 в бит EEWE должен быть установлен бит EEMWE, тогда происходит запись в EEPROM. Для записи в EEPROM должна соблюдаться следующая последовательность:1. Ждать обнуления EEWE.
2. Записать адрес в EEAR.
3. Записать данные в EEDR.
4. Установить в 1 бит EEMWE.
5. Не позже чем через 4 такта после установки EEMWE установить EEWE.
Универсальный асинхронный приемопередатчик 55