- •«Инструментальные средства разработки аппаратно-программных систем»
- •Оглавление
- •7 Инструментальные средства разработки систем управления на
- •Введение. Управляющие системы на микроконтроллерах.
- •Характеристика микроконтроллеров семейства avr
- •1.1 Особенности микроконтроллеров
- •1.2 Характеристики микроконтроллера aTмega16
- •1.3 Условное графическое обозначение микроконтроллера
- •2 Архитектура микроконтроллера
- •2.1 Структура микроконтроллера
- •2.2 Организация программной памяти
- •Организация памяти данных
- •2.4 Арифметико-логическое устройство и регистр состояния процессора
- •Методы адресации. Форматы команд
- •Система команд
- •2.6.1 Команды передачи данных (пересылки)
- •2.6.2 Команды передачи управления
- •2.6.3 Команды арифметики и логики (вычислительные)
- •2.6.4 Команды сдвигов и операций с битами
- •2.7 Функционирование конвейера
- •3 Встроенные устройства
- •3. 1 Параллельные порты ввода/вывода
- •Подсистема прерываний микроконтроллера
- •Регистр флагов прерываний таймеров/счетчиков – tifr
- •Таймеры/счетчики
- •Общие сведения
- •Таймер/счетчик т0.
- •3.3.3 Таймер/счетчик т1.
- •Сторожевой таймер (Watchdog Timer).
- •3.4 Последовательные интерфейсы -spi и uart
- •3.4.1 Последовательный периферийный интерфейс - spi
- •3.4.2 Uart - универсальный последовательный порт
- •3.5 Аналоговый компаратор и ацп
- •3.5.1 Аналоговый компаратор
- •3.5.2 Аналого-цифровой преобразователь
- •3.6 Энергонезависимая память данных
- •4 Ассемблер микроконтроллеров avr
- •5 Взаимодействие микроконтроллера с объектом управления
- •5.1 Формирование временных интервалов (задержек)
- •5.1.1 Программный способ формирования временных интервалов
- •Ext_l: ldi r17, X ;х – число внутренних циклов
- •Ext_l: ldi r17, 53 ;Загрузка в r17 константы внутреннего цикла
- •5.2 Генерация импульсных сигналов управления с использованием программных задержек
- •5.2.1 Генерация последовательности импульсов с использованием программных задержек
- •5.2.2 Генерация пакета импульсов
- •5.2.3 Генератор заданного числа пакетов импульсов
- •Формирование импульсных сигналов управления с использованием таймеров микроконтроллера
- •5.4 Ожидание внешних событий
- •5.5 Обработка динамического дисплея
- •5.6 Особенности схемы дисплея в учебной системе управления.
- •5.7 Часы
- •5.8 Измерение временных параметров импульсов
- •5.9 Обработка клавиатуры
- •6 Программирование микроконтроллеров aТmega16
- •7 Инструментальные средства разработки сисТем управления на микроконтроллерах aTmega16
- •Дубров ф.И. Встроенные системы управления на микроконтроллере aTmega16
2.7 Функционирование конвейера
8-разрядная шина данных микроконтроллера используется для пересылки операндов для выполнения операции и результатов, после ее выполнения.
Микроконтроллеры семейства AVR в структуре имеют отдельную 16-разрядную шину данных программной памяти, благодаря чему реализован одноступенчатый конвейер. По этой шине производится считывание команды из программной памяти в регистр команд. В это же время выполняется ранее считанная команда с использованием шины данных. Благодаря конвейеру увеличивается быстродействие микроконтроллера. Очевидно, что первая команда считывается из программной памяти без выполнения.
В случае команд переходов в конвейере образуется задержка. Причина ее в следующем. По команде перехода должна считываться команда, размещенная по адресу перехода, а конвейером считывается следующая команда. Поэтому работа конвейера приостанавливается на время считывания команды, размещенной по адресу перехода. В случае команд классических условных переходов (при выполнении условия в команде производится переход, иначе выполняется следующая команда), если условие команды выполняется, то в конвейере происходит задержка на время считывания команды по адресу перехода, а при невыполнении условия задержки не происходит (следующая команда уже считана).
В системе команд микроконтроллера есть 5 команд условных переходов, при выполнении которых проверяется условие и если оно выполняется, то пропускается следующая команда, иначе следующая команда не пропускается. На выполнение этих команд может дополнительно потребоваться 1 или 2 такта, так длина следующей команды может составлять 1 или 2 слова, которые в этих тактах будут считываться из памяти программ.
Тактовыми импульсами от тактового генератора микроконтроллера устанавливается временное положение управляющих сигналов на выводах блоков микроконтроллера. Управляющие сигналы формируются в схеме управления микроконтроллера и по шине управления поступают на соответствующие выводы блоков микроконтроллера. Управляющими сигналами являются: сигналы записи и чтения регистров, сигналы чтения и записи ячеек памяти и др..
Контрольные вопросы к разделам 1 и 2.
Функциональные блоки в составе микроконтроллера?
Функция программной памяти и ее основные параметры.
Функция, аппаратная реализация и работа счетчика команд.
В чем состоит упрощенная работа микроЭВМ?
Функция и разрядность регистра команд.
Информация в коде команды.
Функция и состав памяти данных микрконтроллера.
Стек: организация, адресация ячеек стека, указатель стека, особенности стековой памяти.
Функции и особенности регистров общего назначении РОН.
Состав регистров ввода/вывода.
Адреса РОН, РВВ и ОЗУ в едином адресном пространстве.
Функция и состав арифметико-логического устройства.
Функция регистра состояния процессора SREG.
Функции и особенности флагов регистра состояния SREG.
Размещение операндов в двухоперандной команде при регистровом способе адресации, формат команды и назначения отдельных групп разрядов.
Размещение операндов в однооперандной команде при регистровом способе адресации, формат команды и назначения отдельных групп разрядов.
Размещение операндов при прямом способе адресации, формат команды и назначения отдельных групп разрядов.
Размещение операндов при непосредственном способе адресации, формат команды, назначения отдельных групп разрядов, используемые регистры РОН.
Размещение операндов при косвенном способе адресации, формат команды и назначения отдельных групп разрядов.
Особенности косвенной адресации с постинкрементом и преддекрементом.
Особенности стековой адресации.
Операции, выполняемые по командам: LDI R17,34; OUT PORTD,R2; SBI PORTB,5; CBI DDRD,3; DEC R6; BRNE 6;
RCALL 134; RET; ADD R4,R23; ADC R4,R31;
RJMP 89; SBIC PORTD,7; CBIS PIND,4;
CBR R2,32; SBR R24,48; LPM; INC R6;
LD R9,X+; ROL R28; BRCS 4; PUSH R22;
POP R5.
23. Регистры, ячейки памяти или биты, которые участвуют при выполнении команд предыдущего вопроса.