Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[33]

Обращение к 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)

Чтение/Запись

Начальное значение

15

14

13

12

11

10

-

-

-

-

eear11

eear10

eear9

eear8

eear7

eear6

eear5

eear4

eear3

eear2

eear1

eear0

eearh eearl

7 6 5 4 3 2 10 RRRR R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

00000000 00000000

9

8

Посредством регистров адреса EEARH и EEARL определяется адрес в пространстве адресов EEPROM емкостью 2 К/4 К. Байты данных EEPROM адресуются линейно в пределах от 0 до 2047/4095. Микроконтроллер ATmega603 оснащен EEPROM с адресным пространством 2 К и бит I/O EEAR11 при чтении всегда будет в состоянии 0.

РЕГИСТР ДАННЫХ EEPROM - EEDR - (EEPROM Data Register)

Бит76543210

$1D ($3D)j msb jjjjjjj lsb~[ eedr

Чтение/Запись R/W R/W R/W R/W R/W R/W R/W R/W

Начальное значение 00000000

• Bits 7..0 - EEDR7..0: EEPROM Data - Данные EEPROM

В процессе выполнения операции записи в регистре EEDR содержатся данные, записываемые в EEPROM по адресу, задаваемому регистром EEAR. При чтении регистр EEDR содержит данные, считываемые из EEPROM по адресу, определяемому EEAR.

РЕГИСТР УПРАВЛЕНИЯ EEPROM - EECR - (EEPROM Control Register)

Бит76543210

$1C ($3C)I - -- I - I EERIE I EEMWEEEWE EeRE EECR

Чтение/Запись RRRRRR/WR/WR/W

Начальное значение 00000000


•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 значения не имеет):

1.

2.Подождать сброса бита EEWE в состояние 0.

3.Записать новый адрес в EEAR (при необходимости).

4.Записать новые данные (при необходимости).

5.Установить в состояние 1 бит EEMWE регистра EECR.

6.В течение четырех тактовых циклов после установки 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 в то время, когда будет выполняться операция записи, то операция записи будет прервана и результат записи будет неопределенным.


Защита EEPROM от разрушения

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

Разрушение данных EEPROM, при слишком низком напряжении питания, происходит в двух случаях. Во-первых, для правильного выполнения последовательности операций записи необходимо, чтобы напряжение питания было не ниже уровня, гарантирующего правильное их выполнение. Во-вторых, само CPU, при слишком низком напряжении питания, может неправильно выполнять команды.

Разрушения данных легко избежать если следовать следующим рекомендациям (достаточно выполнения одной из трех):

1.Удержание сигнала сброса в активном (низком) состоянии во время снижения напряжения питания. Лучше всего это реализовывать внешней схемой защиты от снижения напряжения, называемой часто Brown-Out Detector (BOD). Вопросы организации сброса по падению напряжения и детектирования снижения напряжения рассмотрены в руководстве по применению AVR 190 и AVR 180.

2.Удержание ядра AVR микроконтроллера в Power Down Sleep режиме в период снижения напряжения VCC. Это предотвратит неправильное декодирование и выполнение команд CPU, что защитит регистры EEPROM от случайных записей.

3.Сохранение констант в Flash памяти, если нет необходимости изменять их программно. Flash память не изменяется CPU и, следовательно, не может быть повреждена.

Последовательный периферийный интерфейс -SPI - (Serial Peripheral Interface)

Последовательный периферийный интерфейс (SPI) обеспечивает высокоскоростной синхронный обмен данными между микроконтроллерами ATmega603/ 103 и периферийными устройствами или между несколькими микроконтроллерами

ATmega603/103.

Основные характеристики SPI интерфейса:

•Полнодуплексный 3-проводный синхронный обмен данными.

•Режим работы ведущий или ведомый.

•Обмен данными с передаваемыми первыми старшим или младшим битами.

•Четыре программируемые скорости обмена данными.

•Флаг прерывания по окончании передачи.

•Активация из Idle режима (только в режиме ведомого)

Соединения между ведущим и ведомым CPU, использующими SPI интерфейс, показаны на рис. 39. Вывод PB1(SCK) является выходом тактового сигнала ведущего микроконтроллера и входом тактового сигнала ведомого. По записи ведущим CPU данных в SPI регистр начинает работать тактовый генератор SPI и записанные данные сдвигаются через вывод выхода PB2(MOSI) ведущего микроконтроллера на вывод входа PB2 (MOSI) ведомого микроконтроллера. После сдвига одного байта тактовый генератор SPI останавливается, устанавливая флаг окончания передачи (SPIF). Если в регистре SPCR будет установлен бит разрешения прерывания SPI (SPIE), то произойдет запрос прерывания. Вход выбора ведомого PB0(SS), для выбора индивидуального SPI устройства в качестве ведомого, устанавливается на низкий уровень. При установке высокого 110-



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51]