57
º Бит 1 – EEWE (EEPROM Write Enable) - разрешение записи EEPROM.
Сигнал разрешения записи EEPROM EEWE является стробом записи в
EEPROM. Запись установленных данных по установленному адресу
EEPROM выполняется по установке бита EEWE. При этом бит EEMWE
обязательно должен быть в состоянии 1, иначе запись не произойдет.
Процесс записи EEPROM выполняется следующей процедурой
(очередность выполнения пунктов 2 и 3 значения не имеет):
-
Подождать сброса бита EEWE в состояние 0.
-
Записать новый адрес в EEAR (при необходимости).
-
Записать новые данные (при необходимости).
-
Установить в состояние 1 бит EEMWE регистра EECR.
-
В течение четырех тактовых циклов после установки EEMWE
установить в состояние 1 бит EEWE.
По истечении времени записи (типовое значение 2,5 мс при напряжении
питания Vcc = 5 В) бит EEWE аппаратно очищается. Пользовательское
программное обеспечение может тестировать состояние этого бита для
определения момента сброса его в 0, чтобы начать запись следующего
байта. После установки бита EEWE процессорное ядро, прежде чем начать
выполнение следующей команды, останавливается на два тактовых цикла.
º Бит 0 – EERE (EEPROM Read Enable) - разрешение чтения EEPROM. Сигнал
разрешения чтения EERE является стробом чтения EEPROM. Бит EERE
должен быть установлен после записи в регистр EEAR требуемого адреса.
После аппаратной очистки бита EERE считываемые данные будут
располагаться в регистре EEDR. Считывание байта данных выполняется
одной командой и не требует опроса бита EERE. При установленном бите
EERE CPU останавливается на четыре тактовых цикла, прежде чем начнет
выполнение следующей команды. Пользователю необхо димо тестировать
состояние бита EEWE перед началом операции чтения. Если новые данные
или адрес будут записываться в регистры ввода/вывода EEPROM в то
время, когда будет выполняться операция записи, то операция записи будет
прервана и результат записи будет неопределенным.
Содержимое EEPROM может быть разрушено при снижении напряжения питания
V
cc
до уровня, при котором процессорное ядро и EEPROM работают неправильно.
Разруше ние данных EEPROM происходит по двум причинам. Во-первых, для
правильного выполне ния операций записи необходимо, чтобы напряжение питания было
не ниже определенного. Во-вторых, само ядро при слишком низком напряжении питания
может неправильно выполнять команды.
Разруше ния данных можно предотвратить при следу ющ их условиях:
º Во время снижения напряжения питания аппаратно удерживать сигнал
сброса #RESET в активном (низком) состоянии.
º В период снижения напряжения питания переводить ядро
микроконтроллера в режиме пониженного энергопотребления (Power Down
Sleep).
º Сохранять константы в Flash-памяти программ, если нет необходимости
изменять их программно. Flash память не изменяется процессорным ядром
и, следовательно, не может быть повреждена.