- •Встраиваемые микроконтроллеры avr-8
- •Санкт-Петербург 2013 Содержание
- •Часть 1. Архитектура мк (л2, л3)
- •Понятия мк для встраиваемых приложений и семейства мк. Семейство avr-8
- •Структура и архитектура мк
- •Тактирование, процессор и арифметико-логическая группа команд
- •Структура и адресация памяти программ. Ветвления, циклы, подпрограммы, и группа команд передачи управления
- •Структура и адресация памяти данных. Группа команд передачи данных
- •Порты ввода/вывода. Типовая схема включения мк. Структура управляющей программы, поллинг.
- •Часть 2. Процесс проектирования устройств на мк (л4, л5)
- •2.1. Этапы процесса проектирования устройств на мк
- •2.2.Техническое задание и разработка алгоритма (блок-схемы)
- •2.3. Языки программирования и синтаксическая проверка проекта
- •2.4. Средства загрузки кодов программ и данных (программаторы)
- •2.5. Средства отладки для выявления логических и схемотехнических ошибок
- •2.6. Подключение индикаторов и клавиатуры
- •Часть 3. Ввод/вывод в мпу
- •3.1. Понятие и характеристики интерфейса
- •3.2. Внутрисистемные интерфейсы в мпу
- •3.3 Параллельный порт avr
- •3.4. Внешняя магистраль памяти данных avr мк
- •3.5. Принцип и средства ввода/вывода по прерываниям.
- •3.6. Принцип прямого доступа к памяти
- •Часть 4. Прерывания (л8)
- •4.1. Механизм прерываний в avr и его программирование
- •4.2. Входы прерываний inTx и pcinTx.
- •Часть 5. Таймеры/счетчики
- •5.1. Задачи формирования и измерения временных интервалов
- •5.2. Принципы программного формирования/измерения временного интервала
- •5.3. Таймер/счетчик с прерыванием по переполнению
- •5.4. Таймер/счетчик с дополнительными узлами захвата и сравнения
- •Часть 6. Задачи и устройства аналогового ввода/вывода (л12, л13)
- •6.1. Задачи аналогового ввода и вывода
- •6.2. Встроенный аналоговый компаратор
- •6.3. Встроенный многоканальный ацп
- •6.4. Встроенный цап
- •Часть 7. Задачи и устройства последовательного интерфейса (л14, л15)
- •7.1. Принципы и преимущества последовательного интерфейса
- •7.2. Функции встроенного контроллера последовательного интерфейса
- •7.3. Протокол и контроллер трехпроводного синхронного пи (spi)
- •7.4. Устройство контроллера i2c и его применение
- •7.5 Цап с последовательным интерфейсом
- •7.6. Устройство контроллера u(s)art и его применение
- •7.7. Сетевые протоколы и их стандартизация
- •7.8. Открытый протокол Modbus
- •История
- •Введение
- •Категории кодов функций
- •Модель данных
- •Стандартные функции протокола Modbus
- •Запись одного значения
- •Запись нескольких значений
- •Контроль ошибок в протоколе Modbus rtu
- •Rtu фрейм
- •Логические ошибки
- •Стандартные коды ошибок
3.6. Принцип прямого доступа к памяти
Область применения: значительные объемы данных, передаваемых между внешними блоками памяти и высокая частота обмена.
Такие задачи решаются, как правило, с использованием высокопроизводительных процессорных устройств (16/32 разрядные МК и ЦСП). Обмен с прямым доступом требует от процессора только настройки адресов приемника и передатчика, задания формата данных (байт, слово и пр.), определения количества передач и сигнала синхронизации передач, возможности авто-увеличения или уменьшения адресов приемника и передатчика, разрешения запроса прерывания после завершения заданного количества передач. Далее все действия выполняются аппаратно контроллером прямого доступа к памяти (ПДП) [Direct Memory Access - DMA] в фоновом режиме относительно работы процессора, для чего используются системная магистраль в интервалах, не занятых процессором. В современных МК устройства ПДП различаются по своим характеристикам и называются по разному: контроллер событий [Event Controller], массив процессоров событий [Event Processor Array], сервер периферийных транзакции [Peripheral Transaction Server] и пр.
Рассмотрим основные черты контроллера ПДП ЦСП.
Регистры управления и состояния:
- общий регистр управления ПДП (РУ ПДП) определяет режим работы контроллера и характер изменения адресов источника и приемника (инкремент, декремент, синхронный);
- регистры адресов источников (РАИ) и приемников (РАП) для каждого канала ПДП;
- регистры счетчиков пересылок (РСП), управляющие размером кадров и блоков пересылок по каждому каналу ПДП;
- регистр разрешения прерываний (РРП) ЦПУ/ПДП.
Структура передаваемых данных:
Элемент программно выбираемого размера (1/2/4 байта);
Кадр, состоящий из N элементов (обычно до 64 К);
Блок, состоящий из K кадров (обычно до 64 К, т.е. до 4 G элементов).
Пересылка элемента в каждом канале выполняется за 2 шага:
Чтение элемента данных по адресу РАИ;
Запись прочитанного элемента по адресу РАП.
После этого модифицируются значения РАИ и РАП по правилам, выбранным в РУ ПДП и выполняется декремент РСП. По окончании пересылки блока генерируется прерывание.
Синхронизация каналов ПДП выполняется по внешним или внутренним прерываниям. Программно выбирается одно из прерываний и один из четырех способов синхронизации:
нет синхронизации – все прерывания игнорируются, ПДП выполняет чтения/записи в максимально возможном темпе;
синхронизация источника – чтение по выбранному прерыванию;
синхронизация приемника – запись по выбранному прерыванию;
синхронизация кадра – начать пересылку кадра по прерыванию.
Генерация адресов ПДП выполняется с использованием индивидуального набора индексных регистров: базовый адрес, индекс элемента (смещение на 1/2/4 байта) и индекс кадра (смещение при переходе к новому кадру).
Приоритеты ПДП/ЦПУ: приоритеты между каналами ПДП - фиксированные (0 – старший, 3- младший), для каждого канала программно задается приоритет по отношению к ЦПУ; порядок разбора состязания - сначала выявляется самый старший из активированных каналов ПДП, затем сравнение его приоритета с процессором. Устройство, не получившее право доступа ставится в очередь. Для сохранения данных от источника в очереди используется буфер FIFO (9 ячеек) и еще два регистра задержек.
