
- •Встраиваемые микроконтроллеры 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. Встроенный цап
- •6.5. Терморегулятор
- •Часть 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 фрейм
- •Логические ошибки
- •Стандартные коды ошибок
.
Встраиваемые микроконтроллеры avr-8
Учебное пособие по дисциплинам
«Микропроцессорные устройства»
и
«Компьютерная и микропроцессорная техника»
Составитель Бондаренко Д.Н.
Санкт-Петербург 2013 Содержание
В |
Введение |
4 |
Часть 1 |
Архитектура микроконтроллеров |
7 |
1.1 |
МК для встраиваемых приложений и семейство AVR-8 |
7 |
1.2 |
Структура и архитектура МК |
8 |
1.3 |
Тактирование, процессор и арифметико-логическая группа команд |
13 |
1.4 |
Структура и адресация памяти программ. Ветвления, циклы, подпрограммы, и группа команд передачи управления |
18 |
1.5 |
Структура и адресация памяти данных. Группа команд передачи данных |
20 |
1.6 |
Порты ввода/вывода. Типовая схема включения МК. Структура управляющей программы, поллинг |
23 |
Часть 2 |
Процесс проектирования устройств на МК |
29 |
2.1 |
Этапы процесса проектирования устройств на МК |
29 |
2.2 |
Техническое задание и разработка алгоритма (блок-схемы) |
30 |
2.3 |
Языки программирования и синтаксическая проверка проекта |
31 |
2.4 |
Средства загрузки кодов программ и данных (программаторы) |
33 |
2.5 |
Средства отладки для выявления логических и схемотехнических ошибок |
34 |
2.6 |
Подключение индикаторов и клавиатуры |
35 |
|
Контрольные вопросы по р. 1, 2 |
45 |
Часть 3 |
Ввод/вывод в МПУ |
47 |
3.1 |
Понятие и характеристики интерфейса |
47 |
3.2 |
Внутрисистемные интерфейсы в МПУ |
48 |
3.3 |
Параллельный порт AVR |
50 |
3.4 |
Внешняя магистраль памяти данных |
51 |
3.5 |
Принцип и средства ввода/вывода по прерываниям |
52 |
3.6 |
Принцип прямого доступа к памяти |
54 |
Часть 4 |
Прерывания |
56 |
4.1 |
Механизм прерываний в AVR и его программирование |
56 |
4.2 |
Входы прерываний INTx и PCINTx |
58 |
Часть 5 |
Таймеры/счетчики в задачах формирования и измерения временных интервалов |
61 |
5.1 |
Задачи формирования и измерения временных интервалов |
61 |
5.2 |
Принципы программного формирования/измерения временного интервала |
63 |
5.3 |
Таймер/счетчик с прерыванием по переполнению |
65 |
5.4 |
Таймер/счетчик с дополнительными узлами захвата и сравнения |
72 |
|
Контрольные вопросы по р. 2-5 |
|
Часть 6 |
Задачи и устройства аналогового ввода/вывода |
82 |
6.1 |
Задачи аналогового ввода и вывода |
82 |
6.2 |
Встроенный аналоговый компаратор |
83 |
6.3 |
Встроенный многоканальный АЦП |
86 |
6.4 |
Встроенный ЦАП |
93 |
Часть 7 |
Задачи и устройства последовательного интерфейса |
96 |
7.1 |
Принципы и преимущества последовательного интерфейса |
96 |
7.2 |
Функции встроенного контроллера последовательного интерфейса |
100 |
7.3 |
Устройство контроллера SPI и его применение |
101 |
7.4 |
Устройство контроллера I2C и его применение |
106 |
7.5 |
ЦАП с последовательным интерфейсом |
113 |
7.6 |
Устройство контроллера U(S)ART и его применение |
123 |
|
Программная реализация протоколов связи |
130 |
7.7 |
Сетевые протоколы и их стандартизация |
132 |
7.8 |
Открытый протокол Modbus |
134 |
|
Контрольные вопросы по р. 6, 7 |
139 |
|
Список литературы |
141 |
|
Приложения |
142 |
П1 |
Системы счисления и форматы представления чисел |
142 |
П2 |
Архитектура МК MCS-51 (Intel) |
143 |
П3 |
Система команд МК AVR |
145 |
П4 |
Язык ассемблер и директивы транслятора МК AVR |
148 |
П5 |
Технические характеристики МК AVR |
150 |
П6 |
Словарь аббревиатур и технических терминов |
154 |
Введение (Л1)
Микропроцессорное устройство (МПУ) служит для выполнения арифметических, логических операций и операций управления, записанных в машинном коде. Процессор – исполнитель машинных инструкций, часть аппаратного обеспечения компьютера или программируемого логического контроллера; отвечает за выполнение операций, заданных программами. Приставка микро- означает – реализованный в виде одной микросхемы.
История микропроцессоров началась в 70-е годы 20 века с модели для построения калькулятора. Сейчас понятие микропроцессор стало очень широким, этим термином называют устройства разные как по своим техническим характеристикам, так и по области применения. Наиболее широкое применения микропроцессоры нашли в задачах управления, что отразилось в появлении еще одного термина – микроконтроллер (МК – от английского controller – устройство управления). Первым широко распространенным микроконтроллером стала модель MCS-8048 фирмы Intel, следующая модель MCS-8051 стала «стандартом де-факто» на следующие 25 лет.
Нас в первую очередь будут интересовать МПУ как устройства промышленной автоматики.
Цель автоматизации – повышение производительности труда, улучшение качества продукции, оптимизация управления, устранение человека от производств, опасных для здоровья. Автоматизация требует дополнительного применения датчиков (сенсоров), устройств ввода, управляющих устройств (контроллеров), исполнительных устройств, устройств вывода, использующих электронную технику и методы вычислений, иногда копирующие нервные и мыслительные функции человека.
Основными объектами в промышленной автоматике выступают объект управления (ОУ) и система управления (СУ). В качестве объекта управления нас интересует технологическая установка или комплекс. Система управления обеспечивает требуемый уровень автоматизации, то есть степень участия человека в процессе управления.
Процесс разработки любого устройства управления обязательно включает разработку алгоритма. Алгоритм (от имени учёного аль-Хорезми) – точный набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное время.
Особенностью устройств управления на базе МПУ является взаимодействие аппаратных узлов и программного обеспечения, что усложняет разбиение алгоритма на элементы. Программная реализация алгоритма управления обеспечивается за счет циклического выполнения заданного набора команд (программы). Вариации поведения МПУ при изменении внешних условий обеспечиваются поведением данных (вычисление арифметических и логических выражений) и структурой программы (ветвления и частные циклы при проверке заданных условий).
Программная реализация обеспечивает высокую степень гибкости, так как одно и тоже МПУ путем замены управляющей программы может решать совершенно разные задачи или легко изменять набор решаемых задач.
Недостатком программной реализации является повышенное время реакции по сравнению с чисто аппаратным решением. Это ограничивает использование принципа программного управления в задачах, требующих высокого быстродействия, хотя это компенсируется непрерывным ростом частоты тактирования и производительности МПУ.
Фактор времени является очень важным в задачах управления – выполнение той или иной части алгоритма должно соответствовать достаточно жестким требованиям «не раньше и не позже».
В итоге фактор времени и прогресс производства микропроцессоров привел к появлению в составе их аппаратных средств разнообразных периферийных блоков, аппаратно реализующих элементы типовых задач управления, прежде всего разнообразные задачи ввода/вывода.
В соответствии с задачами микропроцессорное устройство управления кроме вычислительно-решающего устройства должно иметь:
- входы для получения сигналов с датчиков,
- выходы для подачи управляющих сигналов,
- средства поддержки человеко-машинного интерфейса от простейшего, состоящего из светодиодных индикаторов, кнопок, тумблеров, потенциометров, до цветных графических дисплеев с сенсорным вводом,
- узлы для аппаратной поддержки последовательных интерфейсов, обеспечивающих интеграцию подобных устройств управления в распределенную систему управления с регулярными и иерархическими связями.
На уровне кристалла подобные МПУ называются микроконтроллерами для встраиваемых приложений [microcontroller for embedded applications], они хорошо приспособлены для построения узлов или законченных систем управления, имеют небольшую цену, габариты и вес.
Наибольшее распространение среди них получили 8-разрядные МК. Это объясняется тем, что большинство задач управления не требует значительной арифметической производительности, большую часть задач составляют задачи логической обработки, задачи ввода/вывода и четкая координация выполнения задач во времени.
Использование микроконтроллеров для встраиваемых применений предполагает обязательную разработку электрической схемы и конструкции печатной платы, что удлиняет время разработки устройства управления и ограничивает область применения встраиваемых МК в основном тиражируемыми устройствами.
Для автоматизации единичных и мелкосерийных установок более подходит обширный класс готовых устройств управления на базе МПУ:
- простейшие устройства «релейной» автоматики (таймеры, терморегуляторы),
- интеллектуальные датчики и исполнительные органы,
- программируемые логические контроллеры,
- операторские панели,
- панельные/промышленные компьютеры,
- разнообразные каналы связи, позволяющие объединять перечисленные устройства между собой для построения распределенных систем управления.
Несмотря на значительные отличия в технических характеристиках, все перечисленные устройства имеют подобную организацию и во многом похожие средства и способы программирования.
Базовой частью данного курса является достаточно близкое знакомство с семейством 8-разрядных микроконтроллеров AVR фирмы Atmel. Выбор данного семейства обусловлен хорошим соотношением цена/качество, доступностью на отечественном рынке, богатым инструментарием по программированию и отладке и личным опытом автора данного пособия.
Основной упор в изучении МК сделан на освоение принципов программного управления, механизмов прерывания, использованию таймеров/счетчиков в задачах формирования и измерения временных интервалов, знакомству с задачами аналогового ввода/вывода и задачами организации обмена данными по последовательному интерфейсу.
Во второй части курса планируется краткое знакомство с разновидностями микропроцессорных устройств для встраиваемого применения и готовых устройств промышленной автоматики на базе так называемых программируемых логических контроллеров (ПЛК).
Лабораторный практикум ориентирован на использование программ-симуляторов, имитирующих поведение МК под управлением программы. Каждая тема сопровождается многочисленными готовыми примерами программ с подробным описанием алгоритма и методики его тестирования в том или ином симуляторе. Для закрепления осваиваемого материала по каждой теме предлагаются наборы заданий разного уровня сложности. Простые требуют лишь незначительного изменения параметров или структуры алгоритма управления, более сложные требуют осмысленного объединения элементов алгоритмов из нескольких примеров.
Отличие практикума от текста лекций (данного УП): в лекциях больший упор на алгоритмы и схемы и лишь фрагментарный показ текста программ (на ассемблере или С), в практикуме – цельные примеры с полным текстом и схемой…
Свободно распространяемая фирмой Atmel среда AVR-Studio поддерживает процесс разработки программ для МК на языке ассемблер и процесс отладки программ, написанных как на языке ассемблер, так и на языке С (ANSI C). Встроенный симулятор микроконтроллера реализует только цифровые функции как ядра МК, так и большинства встроенных узлов ввода/вывода.
Свободно распространяемая фирмой HP InfoTech среда CodeVisionAVR Evaluation поддерживает процесс разработки программ на языке С, в качестве среды отладки подразумевается использование симулятора среды AVR-Studio.
Альтернативой полукоммерческому компилятору CodeVisionAVR может служить полностью бесплатный компилятор AVR_GCC. Он поставляется с оболочкой WinAVR, но при установке поверх среды AVR-Studio, последнюю можно использовать как общую надстройку, то есть работать только в среде AVR-Studio на языке С/С++, пользуясь всеми возможностями символьной отладки.
Данный набор программ является достаточным для освоения минимальных навыков программирования и отладки МК.
Для знакомства со схемотехникой подключения к МК цифровых и аналоговых задатчиков и измерителей сигналов, устройств индикации, кнопок, переключателей, потенциометров и пр. рекомендуется использовать пакет аналого-цифрового моделирования Proteus VSM из среды сквозного проектирования электронных устройств Proteus (программа ISIS) фирмы Labcenter Electronic. Наличие моделей МК управляемых программой пользователя и моделей стандартного набора компонентов электронной техники позволяет глубже понять алгоритмы работы примеров и расширяет возможности отладки не только программы, но и схемотехники примеров.
Контрольные вопросы по итогам лекционного материала и лабораторного практикума помогают проверить запоминание терминов, определений и понимание пройденного материала.