Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ_ПМПС.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
16.39 Mб
Скачать

2.2.2. Использование внешнего озу

Микроконтроллер AT90CAN128 имеет возможность под­ключения внешнего статического ОЗУ объемом до 64 Kбайт [5]. Интерфейс внешней памяти состоит из:

  • AD7:0: Мультиплексированная шина адреса (младшие 8 разрядов)/шина данных – порт А;

  • А15:8: шина адреса (старшие 8 разрядов) – порт С;

  • ALE: сигнал строба адреса;

  • (PG1): сигнал строба чтения;

  • (PG0): сигнал строба записи.

Управляющие биты интерфейса внешней памяти микроконтроллера AT90CAN128 размещаются в двух регистрах – XMCRA и XMCRB. Для разреше­ния работы с внешним ОЗУ необходимо установить в «1» разряд SRE ре­гистра XMCRA. При этом микроконтроллер начинает сам управлять режимом работы порта А (вход/выход), т.е. содержимое регист­ра DDRA (регистр направления передачи данных порта А) игнорируется.

При обращении по адресу, который находится вне границы внутренне­го ОЗУ, автоматически происходит обращение к внешнему ОЗУ (разумеет­ся, если работа с внешним ОЗУ разрешена). После формирования на выво­дах порта A требуемого адреса вывод ALE меняет свое состояние с лог. «1» на лог. «0» и остается в этом состоянии в течение всего цикла чтения /запи­си. При обращении к внутреннему ОЗУ выводы сигналов стробов чтения (RD) и записи (WR) находятся в неактивном состоянии. При этом на вы­воде ALE возможны короткие импульсы, не влияющие на работу схемы. Общая схема подключения внешней памяти данных к микроконтроллеру AVR приведена на рисунке 2.2. Временные диаграммы работы и описание конфигурационных бит более подробно рассмотрены в [5].

Kак показано на рисунке 2.2, для подключения внешнего ОЗУ к микро­контроллеру дополнительно потребуется регистр-защелка, т.к. контроллер имеет общую разделяемую шину адреса/данных (порт А), работающую в режиме временного мультиплексирования. Следовательно, для фиксации младшей части адреса необходимо использовать внешний запоминающий элемент (регистр). В качестве за­щелки можно использовать микросхему 74…373 (отечественные аналоги 1533ИР22, 1564ИР22, 1594ИР22 и др.) с потенциальным управлением или 74…374 (…ИР23) с динамическим управлением. По умолчанию длительность каждого обращения к внешней памяти составляет 3 машинных цикла, при необходи­мости время обращения можно увеличить на 1 машинный цикл путем установки необходимой комбинации бит SRW11, SRW10, SRW01 и SRW00 регистра XMCRA.

Рисунок 2.2 – Схема подключения ВПД к микроконтроллеру AVR

Необходимо помнить, что обращение к внешнему ОЗУ увеличивает время выполнения команды на 1 или 2 (в зависимости от режима обраще­ния к внешнему ОЗУ) машинных цикла для каждого байта данных, обра­батываемого командой. Таким образом, время выполнения команд пере­дачи данных (LD, ST, LDS, STS, PUSH и POP) увеличивается на 1 (2) цикла. Если стек расположен во внешнем ОЗУ, то время перехода к обра­ботке прерываний, вызова и возврата из подпрограмм увеличивается на 2 (4) машинных цикла. Это связано с тем, что во время выполнения указан­ных операций происходит сохранение и восстановление 16-разрядного счетчика команд.