Чтение и запись в энергонезависимую память

Таблица 6.1

Watchdog Timer Control Register (WDTCR)

Бит $21($41) R/W Нач.знач.                 WDTCR
- - - WDTOE WDE WDP2 WDP1 WDP0
R R R R/W R/W R/W R/W R/W
               

Рисунок 6.2 – Регистр управления сторожевым таймером (WDTCR)

Биты 7..5 - зарезервированы. В AT90S8535 эти биты зарезервированы и всегда читаются как 0.

Бит 4 – WDTOE (Watchdog Turn-off Enable). Разрешение выключения сторожевого таймера. При очистке бита WDE этот бит должен быть установлен (1). Иначе, работа сторожевого таймера не прекращается. Через четыре такта после установки этого бита, он аппаратно сбрасывается.

Бит 3 - WDE (Watchdog Enable). Разрешение сторожевого таймера. Если бит установлен (1), работа сторожевого таймера разрешена, если бит сброшен - запрещена. Сброс бита производится только в том случае, если бит WDTOE установлен в 1. Для запрещения включенного сторожевого таймера должна исполняться следующая процедура:

1. Одной командой записать 1 в WDTOE и WDE. Единица в WDE должна записываться даже в том случае, если этот бит был установлен перед началом процедуры остановки таймера

2. В течение следующих четырех тактов процессора необходимо записать в WDE логический 0, при этом работа сторожевого таймера запрещается.

Биты 2..0 - WDP2, WDP1, WDP0 (Watchdog Timer Prescaler 2, 1 and 0). Биты предварительного делителя сторожевого таймера. Если работа сторожевого таймера разрешена, эти биты определя­ют предварительный коэффициент деления для сторожевого таймера. В таб­лице 6.1 приведены различные значения установок предварительного дели­теля и соответствующие им временные интервалы для напряжения питания Vcc=5V.

Установки предварительного делителя сторожевого таймера

WDP2 WDP1 WDP0 Период времени   WDP2 WDP1 WDP0 Период времени
      15 мс       0,24 с
      30 мс       0,49 с
      60 мс       0,97 с
      0,12 с       1,9 с

Чтобы избежать непреднамеренного сброса микроконтроллера при изменении периода WDT, необходимо перед записью разрядов WDP2:WDP0 либо запретить работу WDT, либо сбросить его.

Регистры доступа к энергонезависимой памяти (EEPROM) расположены в пространстве ввода/вывода.

Время записи лежит в диапазоне 2,5-4 мс и зависит от напряжения питания. Это самотактируемая функция которая, однако, позволяет пользователю определить, можно ли записывать следующий байт. Если программа пользователя производит запись в энергонезависимую память, должны быть предприняты некоторые меры предосторожности. При использовании в источнике питания конденсаторов большой емкости, напряжение питания нарастает и спадает достаточно медленно. Это приводит к тому, что процессор некоторое время работает при напряжении питания ниже минимума достаточного для нормальной работы схем тактирования. При этом ЦПУ может совершать нежелательные переходы, попадая на части программы, производящие запись в EEPROM. В таких случаях, для защиты содержимого EEPROM, необходимо использовать внешние схемы формирующие сигнал сброса при уменьшении напряжения питания.

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

При записи или чтении EEPROM процессор приостанавливается на 2 машинных цикла до начала выполнения следующей команды.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



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