Микроконтроллер AVR ATmega128 производства компании Atmel имеет объем встроенной cтатической оперативной памяти с произвольным доступом 4 КБайт. Однако, при разработке некоторых типов приложений, даже этого объема может быть недостаточно. Например, если приложение имеет дело с большими объемами данных или управляет операционной системой реального времени, то данный объем SRAM очень быстро исчерпается.
Для решения этой проблемы можно использовать встроенный в микроконтроллер ATmega128 интерфейс внешней памяти, который позволяет расширить объем памяти SRAM до 64 КБайт.
Для экспериментов можно использовать любую отладочную плату на базе микроконтроллера ATmega128, желательно с установленным коннектором XRAM интерфейса. Кроме того, потребуется наличие на плате драйвера и порта RS-232 для наблюдения отладочной информации в терминальной программе на ПК, напрмер для этого можно применить микросхему MAX232 с соотвтетствующими внешними компонентами.
Для подключения дополнительной внешней памяти необходимо изготовить модуль расширения, который будет подключаться к отладочной плате. Модуль содержит установленную микросхему SRAM AS6C6264, производства компании Alliance Memory, микросхему для управления памятью 74HC573 (восьмиразрядный регистр-защелка) и коннектор интерфейса XRAM.
Подключение внешнего статического ОЗУ к AVR-микроконтроллеру
Характеристики интерфейса внешней памяти позволяюют использовать его не только для подключения к внешнему статическому ОЗУ или флэш-памяти, но и в качестве интерфейса с внешними периферийными устройствами, например, ЖК-дисплеями, АЦП и ЦАП. Его основными отличительными особенностями являются:
- Возможность задания четырех различных по длительности состояний ожидания, в т.ч. без состояния ожидания.
- Возможность установки различных состояний ожидания для разных секторов внешней памяти (размер сектора конфигурируется).
- Возможность выбора количества задействованных разрядов в старшем адресном байте.
- Устройство запоминания состояния шины для минимизации потребления тока (опционально).
Интерфейс XRAM характеризуется высоким быстродействием из-за чего фиксация адреса должна выполняться с осторожностью при частотах свыше 8 МГц при 4 В и 4 МГц при 2.7 В.
При использовании более высоких частот применение регистров устаревшей серии 74HC будет неадекватным. Интерфейс внешней памяти разработан для совместимости с регистрами серии 74AHC. Однако, большинство регистров может быть использовано, если они отвечают требованиям временной диаграммы. К основным параметрам, характеризующих фиксацию адреса, относятся:
- Длительность задержки на распространение сигнала с входа D на выход Q.
- Время установки данных перед тем как G станет равным 0.
- Время удержания данных (адреса) после установки низкого уровня на входе G.
Интерфейс XRAM микроконтроллера состоит из:
- AD[0..7] (выводы порта А) - мультиплексированная младшая шина адреса/шина данных.
- A[8..15] (выводы порта C) - cтаршая шина адреса (с конфигурируемым числом разрядов).
- ALE (Вывод PG2) - cтроб адреса внешней памяти.
- RD (вывод PG1) - инвертированный строб чтения из внешней памяти.
- WR (вывод PG0) - инвертированный строб записи во внешнюю память.
Принципиальная схема модуля расширения памяти
AS6C6264 –микросхема КМОП статической оперативной памяти с произвольным доступом 65536 бит (8192 слова по 8 бит). Регистр-защелка используется для работы с мультиплексированной младшей шиной адреса и данных. Для доступа к ячейкам памяти нам необходимо указать 16-битный адрес к 8-битной ячейке и т.к. мы используем 8 КБайт, то использоваться будут только 13 адресных линий.
Автор применил кварцевый резонатор 7.3728 МГц, чтобы временные характеристики интерфейса, при работе с серией 74HC, были в норме и избежать включения дополнительных программных задержек.
Внешний вид модуля расширения
В следующей части мы рассмотрим распределение памяти и алгоритм работы с внешней памятью, основные моменты при организации подпрограмм чтения/записи данных и протестируем работу внешнего модуля расширения памяти.
Загрузки
Принципиальная схема и печатная плата модуля расширения (формат Eagle) - скачать.