Использование внешнего ОЗУ
Микроконтроллер ATmega128x имеют возможность подключения внешнего статического ОЗУ объемом до 64 Кбайт. Для разрешения работы с внешним ОЗУ необходимо установить в «1» разряд SRE регистра MCUCR (см. ниже). Выводы микроконтроллера, используемые для подключения внешнего ОЗУ, сведены в Табл. 1.3. Как видно из таблицы, эти выводы являются линиями портов ввода/вывода общего назначения. При разрешении работы с внешним ОЗУ режим работы этих выводов определяется не содержимым регистра направления передачи данных, а самим микроконтроллером.
Таблица1.3. Выводы, используемые для подключения внешнего ОЗУ
Если работа с внешним ОЗУ разрешена, то при обращении по адресу, находящемуся вне границы внутреннего ОЗУ, автоматически происходит обращение к внешнему ОЗУ. После формирования на выводах порта A младшего байта адреса вывод ALE меняет свое состояние с лог. 1 на лог. 0 и остается в этом состоянии в течение всего цикла чтения/записи. Обращение к внутреннему ОЗУ при разрешенной работе с внешним ОЗУ также может привести к некоторой активности на выводах портов A и C, однако это не влияет на работу схемы, поскольку сигналы стробов чтения (RD) и записи (WR) при этом находятся в неактивном состоянии. При отсутствии обращения к внешней памяти выводы порта A переводятся микроконтроллером в третье состояние. Этого можно избежать, если подключить к выходам порта внутренние подтягивающие резисторы либо установить в «1» разряд XMBK регистра XMCRB. При установленном разряде на выводах порта A всегда сохраняется последнее выведенное значение. Подключение внешнего ОЗУ к микроконтроллеру показано на Рис.1.9. Как видно из рисунка, для этого дополнительно потребуется регистр_защелка. В качестве такой защелки, как правило, используют микросхему типа 74x573 (например, SN74AHC573) или аналогичную, в которой защелкивание данных происходит по низкому уровню управляющего сигнала.
Рис.1.9. Подключение внешнего ОЗУ к микроконтроллеру Микроконтроллер Atmega 128 имеют следующие возможности по работе с внешней памятью: • управление длительностью цикла обращения к внешней памяти; • разделение внешней памяти на два сектора с возможностью задания различной длительности цикла обращения для каждого сектора; • управление разрядностью шины адреса; • удержание значений на шине данных для уменьшения токопотребления. Для управления описанными возможностями в микроконтроллер используются три регистра которые перечислены в Табл. 1.4 Таблица1.4. Регистры для управления внешней памятью
Подробную информацию о подключении внешней памяти к микроконтроллеру можете найти в литературе указанной в конце данной книги. Энергонезависимая память данных (EEPROM) Микроконтроллер Atmega 128 имеtт в своем составе энергонезависимую память (EEPROM_память). Объем этой памяти составляет 4 Кбайт. EEPROM_память расположена в своем адресном пространстве. Для работы с EEPROM_памятью используются три регистра ввода/вывода: регистр адреса, регистр данных и регистр управления.
|