Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CheatReader.doc
Скачиваний:
16
Добавлен:
30.04.2013
Размер:
329.73 Кб
Скачать

Организация памяти

На следующем рисунке показана организация памяти данных в AT90S2313:

224 ячейки памяти включают в себя регистровый файл, память ввода/вывода и статическое ОЗУ данных.

Первые 96 адресов используются для регистрового файла и памяти ввода/вывода, следующие 128 - для ОЗУ данных.

При обращении к памяти используются пять различных режимов адресации: прямой, непосредственный со смещением, непосредственный, непосредственный с предварительным декрементом и непосредственный с постинкрементом. Регисты R26..R31 регистрового файла используются как указатели для непосредственной адресации.

Прямая адресация имеет доступ ко всей памяти данных.

Непосредственная адресация со смещением используется для доступа к 63 ячейкам базовый адрес которых задается содержимым регистров Y или Z. Для непосредственной адресации с инкрементом и декрементом адреса используются адресные регистры X, Y и Z.

При помощи любого из этих режимов производится доступ ко всем 32 регистрам общего назначения, 64 регистрам ввода/вывода и 128 ячейкам ОЗУ.

Хранение текста

Второй немаловажной частью устройства является само хранилище информации - память. В качестве нее была выбрана микросхема фирмы AtmelAT24C512. Она представляет собой последовательное ЭСППЗУ (SEEPROM) ёмкостью 65 Кбайт. Её главной отличительной особенностью от других подобных микросхем памяти, но с параллельным вводом адреса и данных – это её маленькие размеры. Загрузка и считывание этой памяти происходит по стандартному 2-х проводному интерфейсу, созданному фирмойPhilipsSemiconductors, именуемым какIIC (I2C).

Описание выводов

A0, A1 –для установки аппаратного адреса микросхемы

WP – защита от записи в рабочем режиме

SCL шина стробов

SDA – шина данных

GND –земля

VCC –вывод источника питания

Управление памятью

Управление, как было сказано выше, производится посредством интерфейса I2C. Он имеет 2 сигнальных линии: стробов (SCL) – для побитной записи данных, поступающих через линию данных (SDA). Также через эти линии производится управление режимами работы микросхемы: “нормального” и “спящего”, то есть режима пониженного энергопотребления.

Данная микросхема поддерживает возможность подключения до 3-х дополнительных аналогичных микросхем памяти на одну пару линий (стробов и данных). Выбор микросхемы для проведения над ней последующих операций производится путём выбора её адреса в процедуре инициализации, который устанавливается заранее на её выводах A0 иA1 логическими нулём и единицей.

Для начала сеанса связи с памятью используются следующие условия:

START– выводит микросхему из “спящего” режима и устанавливает её в режим приёма адреса. Это условие для микросхемы создаётся путём переведения логического состояния линии данных из “1” в “0”, в то время как шина стробов находится в состоянии “1”.

STOP – аналогичноSTART, но переход состояния линии данных происходит из “0” в “1”.

Для дальнейшей работы с памятью используются следующие процедуры:

Инициализация- Выбор нужной микросхемы для последующих операций. Выбор производится передачей последовательности битов указанных на рисунке ниже.MSB– первый бит,LSB– последний, указывающий микросхеме, какая операция будет следовать дальше: “1” – чтение из данных микросхемы, “0” - запись;A0,A1– логическое состояние выводовA0 иA1.

Запись -запись байта или последовательности байтов (до 128 байт) – страницы в память микросхемы. Перед передачей байт - данных производится передача адреса, по которому будет записан последующий байт или последовательность байт, при передачи которой адрес текущего байта будет автоматически увеличиваться на единицу после каждого байта. Адрес представляет собой слово (2 байта). По окончанию передачи любого байта в ходе работы с памятью производится передача подтверждения от принимающего устройства передающему. Передающее устройство выставляет на линии данных логическую “1” после 8-го строба и в ходе 9-го строба принимающее устройство должно выставить на линии данных “0”, что и будет означать подтверждение. Для окончания операции записи необходимо сформироватьSTOP-условие.

Чтение -чтение байта или последовательности байтов из памяти микросхемы. Процедура чтения аналогична процедуре записи, но в этом случае передающим устройством будет не микроконтроллер, а сама микросхема памяти. При чтении последовательности байт адрес текущего байта будет инкрементироваться автоматически, и когда адрес дойдёт до конечного значения (65535) он автоматически установится в 0 и продолжит увеличиваться в ходе чтения. Для окончания Операции чтения нужно не давать подтверждения памяти при приходе последнего байта, то есть стробировать единицу на линии данных и сформироватьSTOP-условие.