Обращение к EEPROM при чтении/записи
Обращение к EEPROM ведется посредством регистров расположенных в пространстве I/O. Время обращения при записи составляет от 2,5 до 4 мс, в зависимости от напряжения VCC. Однако существует специальная функция, которая позволяет пользовательскому ПО обнаруживать момент, когда можно начинать запись следующего байта - для индикации момента готовности EEPROM к записи новых данных может быть установлено специальное прерывание по завершению записи EEPROM (EEPROM Write Complete). Случайная запись в EEPROM предотвращается выполнением специальной процедуры, показанной подробнее в описании регистра управления EEPROM.
После процедуры записи в EEPROM CPU, прежде чем начать выполнение следующей команды, останавливается на два тактовых цикла. При чтении EEPROM CPU останавливается на 4 тактовых цикла.
Регистр адреса EEPROM- EEARH, EEARL - (EEPROM Address Register)
Биты
|
|
$1F ($3F) $1E ($3E)
| -
| -
| -
| -
| EEAR11
| EEAR10
| EEAR9
| EEAR8
| EEAR7
| EEAR6
| EEAR5
| EEAR4
| EEAR3
| EEAR2
| EEAR1
| EEAR0
|
| EEARH EEARL
|
|
|
|
Чтение/Запись
| R
| R
| R
| R
| R/W
| R/W
| R/W
| R/W
| R/W
| R/W
| R/W
| R/W
| R/W
| R/W
| R/W
| R/W
|
|
|
Начальное состояние
|
|
|
Посредством регистров адреса EEARH и EEARL определяется адрес в пространстве адресов EEPROM емкостью 2 К/4 К. Байты данных EEPROM адресуются линейно в пределах от 0 до 2047/4095. Микроконтроллер ATmega603 оснащен EEPROM с адресным пространством 2 К и бит I/O EEAR11 при чтении всегда будет в состоянии 0.
Регистр данных EEPROM - EEDR - (EEPROM Data Register)
Биты
|
|
$1D1 ($3D)
|
| EEDR
|
Чтение/Запись
| R/W
| R/W
| R/W
| R/W
| R/W
| R/W
| R/W
| R/W
|
|
|
Начальное состояние
|
|
|
- Bits 7..0 - EEDR7..0: EEPROM Data - Данные EEPROM
В процессе выполнения операции записи в регистре EEDR содержатся данные, записываемые в EEPROM по адресу, задаваемому регистром EEAR. При чтении регистр EEDR содержит данные, считываемые из EEPROM по адресу, определяемому EEAR.
Регистр управления EEPROM - EECR - (EEPROM Control Register)
Биты
|
|
$1C ($3C)
| -
| -
| -
| -
| EERIE
| EEMWE
| EEWE
| EERE
|
| EECR
|
Чтение/Запись
|
|
|
Начальное состояние
|
|
|
- Bits 7..4 - Res: Reserved bits - Зарезервированные биты
Эти биты в микроконтроллерах ATmega603/103 зарезервированы и при считывании всегда покажут состояние 0. - Bit 3 - EERIE: EEPROM Ready Interrupt Enable - Разрешение прерывания по готовности EEPROM
При установленных в состояние 1 бите EERIE и I-бите регистра SREG разрешается прерывание по готовности EEPROM. При очищенном бите EERIE прерывание запрещено. Запрос прерывания по готовности EEPROM при очищенном бите EEWE генерируется непрерывно. - Bit 2 - EEMWE: EEPROM Master Write Enable - Управление разрешением записи EEPROM
Бит EEMWE определяет, будет ли установленный в состояние 1 бит EEWE разрешать запись в EEPROM. При установленном в состояние 1 бите EEMWE установка бита EEWE приведет к записи в EEPROM по заданному адресу. Если же бит EEMWE будет находиться в состоянии 0, то установка бита EEWE никакого эффекта не окажет. Установленный программным путем бит EEMWE аппаратно очищается через четыре тактовых цикла. См. описание процедуры записи EEPROM в описании бита EEWE. - Bit 1 - EEWE: EEPROM Write Enable - Разрешение записи EEPROM
Сигнал разрешения записи EEPROM EEWE (EEPROM Write Enable Signal) является стробом записи в EEPROM. Запись установленных данных по установленному адресу EEPROM выполняется по установке бита EEWE. При этом бит EEMWE обязательно должен быть в состоянии 1, иначе запись не произойдет. Процесс записи EEPROM выполняется следующей процедурой (очередность выполнения пунктов 2 и 3 значения не имеет): -
- Подождать сброса бита EEWE в состояние 0.
- Записать новый адрес в EEAR (при необходимости).
- Записать новые данные (при необходимости).
- Установить в состояние 1 бит EEMWE регистра EECR.
- В течение четырех тактовых циклов после установки EEMWE установить в состояние 1 бит EEWE.
По истечении времени записи (типовое значение 2,5 мс при V CC = 5 В или 4 мс при V CC = 2,7 В) бит EEWE аппаратно очищается. Пользовательское программное обеспечение может тестировать состояние этого бита для определения момента сброса его в 0, чтобы начать запись следующего байта. После установки бита EEWE CPU, прежде чем начать выполнение следующей команды, останавливается на два тактовых цикла.
- Bit 0 - EERE: EEPROM Read Enable - Разрешение чтения EEPROM
Сигнал разрешения чтения EERE (EEPROM Read Enable Signal) является стробом чтения EEPROM. Бит EERE должен быть установлен по установлении в регистре EEAR требуемого адреса. После аппаратной очистки бита EERE считываемые данные будут располагаться в регистре EEDR. Считывание байта данных выполняется одной командой и не требует опроса бита EERE. При установленном бите EERE CPU останавливается на четыре тактовых цикла, прежде чем начнет выполнение следующей команды. Пользователю необходимо тестировать состояние бита EEWE перед началом операции чтения. Если новые данные или адрес будут записываться в регистры I/O EEPROM в то время, когда будет выполняться операция записи, то операция записи будет прервана и результат записи будет неопределенным.
Дата добавления: 2015-07-10; просмотров: 116 | Нарушение авторских прав
Читайте в этой же книге: Регистр управления коэффициентом деления частоты кварцевого генератора - XTAL Divide Control Register - XDIV | Сброс по включению питания | Внешнее управление сбросом | Обработка прерываний | Время отклика на прерывание | Таймеры/счетчики | Регистры сравнения выхода таймеров/счетчиков | Асинхронная работа таймера/счетчика0 | Разрядный таймер/счетчик1 | Регистры сравнения выхода таймера/счетчика1 |
mybiblioteka.su - 2015-2024 год. (0.007 сек.)