Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

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

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

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

Регистр адреса EEPROM – EEAR

Бит                
$1E ($3E) - EEAR6 EEAR5 EEAR4 EEAR3 EEAR2 EEAR1 EEAR0
Чт./зап (R/W) R R/W R/W R/W R/W R/W R/W R/W
Начальн.знач.                

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

Биты 6..0 - EEAR6..0 - Адрес EEPROM. Адресный регистр EEPROM задает адрес в 128-байтном пространстве EEPROM. Байты данных EEPROM адресуются линейно в диапазоне 0..127.

Регистр данных EEPROM – EEDR

Бит                  
$1D ($3D) MSB - - - - - - LSB EEDR
Чт./зап (R/W) R/W R/W R/W R/W R/W R/W R/W R/W  
Начальн.знач.                  

Биты 7..0 - EEDR7..0 - Данные EEPROM. При записи регистр EEDR содержит данные, которые записываются в EEPROM по адресу в регистре EEAR. Для операции чтения в этот регистр читаются данные прочитанные из EEPROM по адресу заданному в регистре EEAR.

Регистр управления EEPROM – EECR

Бит                  
$1C ($3C) - - - - - EEMWE EEWE EERE EECR
Чт./зап (R/W) R R R R R R/W R/W R/W  
Начальн.знач.                  

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

Бит 2 - EEMWE - Управление разрешением записи. Этот бит определяет, будут ли записаны данные при установке EEWE. Если бит EEMWE установлен, при установке EEWE данные записываются по выбранному адресу EEPROM. Если этот бит сброшен, установка EEWE не имеет эффекта. После программной установки этот бит сбрасывается аппаратно через четыре такта процессора.

Бит 1 - EEWE - Разрешение записи в EEPROM. Сигнал EEWE является стробом записи в EEPROM. После установки правильных адреса и данных для записи в EEPROM необходимо установить бит EEWE. При записи "1" в бит EEWE должен быть установлен бит EEMWE, тогда происходит запись в EEPROM. Для записи в EEPROM должна соблюдаться следующая последовательность:

После того как время записи истечет (типично 2.5 mS для Vcc=5V и 4mS для Vcc=2.7), бит EEWE очищается аппаратно. Пользователь может отслеживать этот бит и ожидать его установки в ноль, перед тем как записывать следующий байт. При установке EEWE, ЦПУ останавливается на два цикла перед исполнением следующей команды.

Бит 0 - EERE - разрешение чтения из EEPROM. Сигнал EERE является стробом чтения из EEPROM. После установки нужного адреса в регистре EEAR, необходимо установить бит EERE. После того как бит EERE будет аппаратно очищен, в регистре EEDR. Чтение EEPROM занимает одну команду и не требует отслеживания бита EERE. При установке бита EERE, ЦПУ останавливается на два цикла перед тем как будет выполнена следующая команда. Перед чтением пользователь должен проверять состояние бита EEWE, если регистры данных или адреса изменяются во время операции записи, запись в ячейку прерывается и результат операции записи становится неопределенным.





Дата публикования: 2015-01-26; Прочитано: 234 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...