- •Часть 1
- •Содержание
- •Исследование системы команд микроконтроллеров семейства avr и средств поддержки разработок avr-Studio и WinAvr
- •2.2. Системы поддержки разработок для микроконтроллеров avr
- •2.3. Описание компилятора ассемблера avr
- •3. Создание программ в avr-Studio и WinAvr
- •3.1. Создание простейшей программы и её отладка средствами avr-Studio
- •3.2. Создание простейшей программы и её отладка средствами WinAvr
- •4. Программа исследования
- •5. Содержание отчета
- •1.6. Контрольные вопросы
- •Построение микропроцессорной системы на основе микроконтроллера семейства avr
- •2.2.2. Использование внешнего озу
- •3. Пример построения схемы мпс
- •3.1. Постановка задачи
- •3.2. Организация шины адреса
- •3.3. Организация шины данных
- •3.5. Организация подсистемы впд
- •3.6. Подключение периферийных микросхем (внешних устройств) в адресное пространство внешней памяти
- •4. Программа исследования
- •4.1. Внеаудиторная подготовка
- •4.2. Выполнение работы в лаборатории
- •4.3. Задание на исследование
- •5. Содержание отчета
- •6. Контрольные вопросы
- •Исследование функционирования мпс на примере стенда can128
- •2.2. Запись в и чтение из flash памяти микроконтроллера с помощью ponyprog и макета can128.
- •3. Описание лабораторной установки
- •4. Задание на лабораторную работу
- •5. Содержание отчёта
- •6. Контрольные вопросы
- •Исследование вывода информации на жидкокристаллический индикатор
- •2.2. Способы управления bc1602h
- •3. Описание лабораторной установки
- •3. Задание на исследование
- •4. Содержание отчёта
- •5. Контрольные вопросы
- •Библиографический список
- •Приложение а (обязательное) Варианты индивидуальных заданий на лабораторную работу №1
- •Приложение б (обязательное) Текст учебной программы на ассемблере для лабораторной работы №3
- •Приложение в (справочное) Пример программы для вывода на жки
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-разрядного счетчика команд.
