Программирование микроконтроллеров
Что такое микроконтроллер?
Что такое микроконтроллер?
Что такое микропроцессор?
Что такое микропроцессор?
Чем микроконтроллер отличается от микропроцессора?
Что такое ПЛИС (FPGA)?
Что такое ПЛИС (FPGA)?
Чем отличается микроконтроллер от ПЛИС?
Чем отличается микроконтроллер от ПЛИС?
Чем отличается микроконтроллер от ПЛИС?
Интерактивный аттракцион ведения воздушных боев FLY-Motion создан на ПЛИС
Интерактивный аттракцион ведения воздушных боев FLY-Motion создан на ПЛИС
Что такое микрокомпьютер?
Что такое микрокомпьютер?
Что такое микрокомпьютер?
Что такое микрокомпьютер?
Что такое микрокомпьютер?
Что такое AVR микроконтроллер?
Что такое AVR микроконтроллер?
Что такое AVR микроконтроллер?
Программатор AVR микроконтроллеров
Программатор AVR микроконтроллеров
Пример создания устройства на AVR микроконтроллере
Пример создания устройства на AVR микроконтроллере
Пример создания устройства на AVR микроконтроллере
Аппаратные платформы
Введение в электронику
Введение в электронику
Введение в электронику
Введение в электронику
Введение в электронику
Принципиальные схемы
Принципиальные схемы
Принципиальные схемы
Принципиальные схемы
Микроконтроллер Arduino UNO
Практика
Практика
Практика
7.16M
Категория: ЭлектроникаЭлектроника

Программирование микроконтроллеров

1. Программирование микроконтроллеров

Робототехника
Подоляка Олег Николаевич
Учитель по информатике
ГБОУ г. Москвы «Школа в
Капотне»
2017-2018г.

2. Что такое микроконтроллер?

• Микроконтроллер — (англ. Micro Controller Unit, MCU) —
микросхема, предназначенная для управления электронными
устройствами.
• Данная микросхема работает в соответствии с заложенной в нее
программой, которую создает программист.
• В отличие от компьютера в микроконтроллере ядро, память и
управление периферийными устройствами заключены в один
кристалл.
Микроконтроллер 62E40
1993 года
Микроконтроллер
ATtiny2313
Микроконтроллер ATmega8
от Atmel

3. Что такое микроконтроллер?

• Примеры использования микроконтроллеров

4. Что такое микропроцессор?

• Микропроце́ссор — процессор (устройство, отвечающее за
выполнение арифметических, логических операций и операций
управления, записанных в машинном коде)

5. Что такое микропроцессор?

• Микропроцессор, задействует по большей части внешние
устройства.

6. Чем микроконтроллер отличается от микропроцессора?

• Основное отличие микроконтроллера от микропроцессора в том,
что в микроконтроллере основные модули, необходимые для
выполнения им своих функций, — встроенные.

7. Что такое ПЛИС (FPGA)?

• Программи́руемая логи́ческая интегра́льная
схе́ма (ПЛИС, англ. programmable logic device, PLD) —
электронный компонент, используемый для
создания цифровых интегральных схем.
• В отличие от обычных цифровых микросхем, логика работы
ПЛИС не определяется при изготовлении, а задаётся
посредством программирования (проектирования).
ПЛИС типа CPLD компании «Altera»,
модель «MAX 7128»

8. Что такое ПЛИС (FPGA)?

• ПЛИС широко используется для построения различных по сложности и
по возможностям цифровых устройств, например:
• устройств с большим количеством портов ввода-вывода (бывают ПЛИС
с более чем 1000 выводов («пинов»));
• устройств, выполняющих цифровую обработку сигнала (ЦОС);
• цифровой видеоаудиоаппаратуры;
• устройств, выполняющих передачу данных на высокой скорости;
• устройств, выполняющих криптографические операции, систем защиты
информации;
• реализаций нейрочипов;
• устройств, выполняющих моделирование квантовых вычислений.

9. Чем отличается микроконтроллер от ПЛИС?

• ПЛИС позволяет реализовать свой собственный контроллер. Если в
микроконтроллере все внутренние соединения транзисторов жестко
заданы производителем, то в ПЛИС все связи задаются прошивкой.
• Переконфигурировав внутренние блоки нужным образом, можно
получить микросхему, выполняющую на аппаратному уровне нужные
нам действия. Можно сконфигурировать так, что получится
микроконтроллер. А можно сделать просто таймер, мигающий на
выходе светодиодом. Главное чтобы для реализуемой задачи хватило
программируемых блоков, число которых может меняться в большом
диапазоне, в зависимости от производителя и модели ПЛИС.

10. Чем отличается микроконтроллер от ПЛИС?

• С точки зрения программиста микроконтроллер — как человек.
• Может выполнять только одну задачу одновременно.
• Может переключаться между разными задачами, ставить будильник,
чтобы выполнить что-то по расписанию.
• Может производить сложные действия и пользоваться разными
инструментами (периферией микроконтроллера).
• ПЛИС же скорее как стадо муравьёв. Каждый из них примитивен, зато
их можно группировать для выполнения задачи. Например, если мы
сделаем так, что 10 муравьёв срезают колосок пшеницы и
выковыривают из него зёрна за одну минуту, то имея достаточное
количество муравьёв (объём ПЛИС), можно легко убрать целое поле
пшеницы за ту же минуту :)

11. Чем отличается микроконтроллер от ПЛИС?

• Или к примеру, помигать светодиодом на микроконтроллере легко.
Включил, подождал, выключил, подождал, вернулся в начало.
• А теперь попробуем добавить второй светодиод, который должен мигать
с другой частотой, да ещё не кратной первой. Задача резко усложняется.
• На ПЛИС же, сделав блок мигания светодиодом, достаточно просто
скопировать его, только поменять частоту и ножку со светодиодом. И
два этих блока будут работать параллельно, никак друг другу не мешая,
не снижая производительности. Таким образом на ПЛИС можно
реализовывать устройства, которые сложно сделать на МК.

12. Интерактивный аттракцион ведения воздушных боев FLY-Motion создан на ПЛИС

Интерактивный аттракцион ведения воздушных
боев FLY-Motion создан на ПЛИС
• Аттракцион FLY-Motion представляет собой кабину «пилота»,
установленную на неподвижном основании.
• Кабина вращается вокруг своих осей на 360 градусов в четырех
направлениях: вперед, назад, влево и вправо.
• Такая конструкция аппарата позволяет «пилоту» FLY-Motion ощутить
реальность «полета»: «набирать высоту» и «пикировать», выполнять
фигуры пилотажа (например, правую и левую «бочку», «крен» и
«мертвую петлю»).
• Управление аттракционом осуществляется с помощью джойстика
авиационного типа.

13. Интерактивный аттракцион ведения воздушных боев FLY-Motion создан на ПЛИС

Интерактивный аттракцион ведения воздушных
боев FLY-Motion создан на ПЛИС
• https://www.youtube.com/watch?v=S8kSf0EWXFU

14. Что такое микрокомпьютер?

• Одноплатный компьютер (SBC, англ. single-board computer) —
самодостаточный компьютер, собранный на одной печатной
плате, на которой установлены микропроцессор, оперативная
память, системы ввода-вывода и другие модули, необходимые для
функционирования компьютера.
• Размером они с кредитную карту (бывают модели и больше и
меньше).

15. Что такое микрокомпьютер?

• Видеовыходы могут быть разные: от устаревшего VGA или
композитного видео до вполне современного HDMI.
• Питаются они, как правило, от разъёма USB и требуют ток в
диапазоне 500-1500 мА. То есть их можно питать при помощи
обычного зарядного устройства для мобильного телефона или
(лучше) планшета.

16. Что такое микрокомпьютер?

• Количество задач, с которыми справится такой компьютер,
довольно велико. Список начинается домашним компьютером и
заканчивается роутерами и модемами.
• Например, на такое устройство можно без проблем установить
почти полный Linux, превратив его в неплохую машинку для
работы с документами, веб-сёрфинга, прослушивания музыки и
других несложных задач.
• Некоторые модели способны переварить даже проигрывание
видеороликов вплоть до 1080р! И всё это — с привычным
графическим интерфейсом.
• Микрокомпьютер можно превратить в Wi-Fi роутер, сетевое
хранилище данных или беспроводной сетевой плеер.

17. Что такое микрокомпьютер?

• Возможности поистине безграничны — вы можете соорудить
целый умный дом.
• Не стоит также забывать о набирающем популярность явлении
под названием «интернет вещей» (IoT). Например, Microsoft
выпустила специальную версию Windows 10 IoT Edition.
Устройство, использующее специальные протоколы (и сборку
софта, разработанную ими же), сможет взаимодействовать с
телефонами Lumia.

18. Что такое микрокомпьютер?

• Главная вещь, позволяющая одноплатным компьютерам общаться
с окружающим миром — порты GPIO. Это порты, которые могут
быть и входами и выходами, позволяя устройству
взаимодействовать на уровне “включил-выключил”.
• Такая простота идеи позволяет, например, включать или
выключать лампочку, при получении электронного письма с
соответствующей командой.
• Типичный одноплатный компьютер оснащается 5-10 портами
GPIO, но их количество можно расширить разными путями.

19. Что такое AVR микроконтроллер?

• AVR микроконтроллер – это 8-битный
микроконтроллер с RISC архитектурой и
различными периферийными устройствами.
• RISC (англ. reduced instruction set computer —
«компьютер с сокращённым набором команд»)
— это архитектура процессора, в котором
быстродействие увеличивается за счёт
упрощения инструкций, чтобы их декодирование
было более простым, а время выполнения —
меньшим. Первые RISC-процессоры даже не
имели инструкций умножения и деления.

20. Что такое AVR микроконтроллер?

• Идея разработки нового RISC-ядра принадлежит двум студентам
из норвежского города Тронхейма — Альфу Богену (Alf-Egil
Bogen) и Вегарду Воллену (Vegard Wollen).
• В 1995 году Боген и Воллен решили предложить американской
корпорации Atmel, которая была известна своими чипами с Flashпамятью, выпускать новый 8-битный RISC-микроконтроллер и
снабдить его Flash-памятью для программ на одном кристалле с
вычислительным ядром.

21. Что такое AVR микроконтроллер?

• Идея была одобрена Atmel Corp., и было принято решение
незамедлительно инвестировать в данную разработку.
• В конце 1996 года был выпущен опытный микроконтроллер
AT90S1200, а во второй половине 1997 г. корпорация Atmel
приступила к серийному производству нового семейства
микроконтроллеров, к их рекламной и технической поддержке.
• Новое ядро было запатентовано и получило название AVR.

22.

Есть огромное количество AVR микроконтроллеров в
корпусах: DIP, SOIC, TQFP, PLCC.

23.

Программирование микроконтроллеров
Программные средства разработки
• Свободные
WinAVR — программный пакет под Windows,
включающий в себя компилятор, ассемблер,
компоновщик и другие инструменты.
Algorithm Builder — алгоритмическая среда
разработки программного обеспечения для
микроконтроллеров с архитектурой AVR
(последнее обновление в 2010 г).
Code::Blocks — кроссплатформенная среда
разработки.
DDD — графический интерфейс к avr-gdb.
V-USB — программная реализация протокола
USB для микроконтроллеров AVR.
Avrdude — средство для прошивки
микроконтроллеров.
AVRDUDE_PROG 3.1 - визуальный редактор.
PonyProg — универсальный программатор
через LPT-порт, COM-порт (подерживается и
USB-эмулятор COM-порта).
AVR-Eclipse — плагин для среды
разработки Eclipse, позволяющий
разрабатывать программы на С/С++ и
ассемблере, программировать и отлаживать
контроллеры, используя внешний набор
инструментов (WinAVR, Atmel AVR Toolchain,
Khazama AVR Programmer is a Windows
XP/Vista GUI application for USBasp and
avrdude.
eXtreme Burner - AVR is a Windows GUI
Software for USBasp based USB AVR
programmers.
Zadig 2.3
Проприетарные
AVR Studio — бесплатная IDE от самой Atmel
IAR AVR — коммерческая среда разработки для
микроконтроллеров AVR
Bascom-avr — среда разработки, основанная
на Basic-подобном языке программирования.
CodeVisionAVR — компилятор C и
программатор — CVAVR, генератор начального
кода.
Proteus — симулятор электрических цепей,
компонентов, включая различные МК и другое
периферийное оборудование.

24. Программатор AVR микроконтроллеров

• Простейший программатор AVR микроконтроллеров для LPT
порта компьютера можно собрать самому. Он поддерживает SPI
интерфейс связи с AVR микроконтроллером.
Для сборки AVR-программатора понадобится:
• Разъем SUB-25 (Папа) 1шт.
• Резисторы 100-300ом 4шт.
• Разъём IDC-10 (Розетка) 1шт.
• Шлейф RC-10 (не длиннее 20см)

25. Программатор AVR микроконтроллеров

• На рынке предлагается много вариантов — от самых дешевых ISP
(In-System Programming) программаторов за несколько долларов,
до мощных программаторов-отладчиков за пару сотен.
• Китайская версия программатора от Thomas Fischl. Поддерживает
достаточно много AVR контроллеров серий ATmega и ATtiny.
• Для прошивки надо соединить выходы программатора VCC,
GND, RESET, SCK, MOSI, MISO с соответствующими выходами
микроконтроллера.

26. Пример создания устройства на AVR микроконтроллере

• Прототип был собран на макетной плате и запрограммирован:

27. Пример создания устройства на AVR микроконтроллере

• После тестирования прототипа пришло время все это добро
разместить в корпусе, обеспечить питание и т.д.

28. Пример создания устройства на AVR микроконтроллере

• Окончательный вид устройства. Часы питаются от 9-вольтовой
батарейки типа “Крона”. Потребление тока — 55 мА.

29. Аппаратные платформы

• Аппаратные платформы - это микроконтроллеры, а не
компьютеры. На них нет операционной системы как таковой.
• В большинстве случаев аппаратные платформы служат для
построения простых систем автоматики и робототехники. Проще
говоря их главная задача - это управление устройствами.

30. Введение в электронику

Молекулы, атомы и электроны
• Простоты ради будем полагать, что атом – это положительно
заряженное ядро и вращающиеся вокруг ядра электроны, несущие
отрицательные заряды, рис.
Рис. Строение вещества

31. Введение в электронику

Электроны обычно считаются «привязанными» к ядрам. Здесь
хорошо воспринимается аналогия с родителем (ядро, большое и
положительное), держащим за руки детей (электроны, маленькие и
отрицательные), рис.
Рис. Ядро, удерживающее свои электроны

32. Введение в электронику

Существуют вещества, в которых имеются свободные заряды
(аналогия с детской площадкой, где сидят родители, а вокруг снуют
дети (электроны), рис.
Рис. Хаотично движущиеся электроны

33. Введение в электронику

• Однако стоит приложить электрическое поле, то свободно и
хаотично движущиеся заряды (электроны) начнут двигаться в
одном направлении (аналогия с детьми, которым дали мяч и
которые побежали в одну сторону. Или подул ветер и всех детей
стало сносить).
Рис. Направленное движение зарядов
Это движение заряженных частиц и есть электрический ток.
Разумеется, определение электрического тока – это дело сложное.
Здесь бы надо помнить о протекании тока в газах, в жидкостях и
т.п., однако базовое – инженерное - представление может быть и
таким.

34. Введение в электронику

• Поведение электрической цепи можно сравнить с гидравлической
системой.
Электрическая цепь
Гидравлическая система

35. Принципиальные схемы

• Чтобы изобразить на бумаге как должна выглядеть та или иная
электрическая цепь используют схемы.
• Схемы бывают разных видов со своими преимуществами и
недостатками.
• Ниже приведена одна и та же электрическая схема, изображённая
по-разному, в четырёх вариациях.
Рисованная схема
Красиво, но громоздко и непрактично:

36. Принципиальные схемы

Принципиальная схема
Компактно и наглядно:
•То, что соединено линией, в реальности должно быть соединено
проводником
•то, что не соединено линией, в реальности должно быть
электрически изолировано

37. Принципиальные схемы

• Принципиальная схема без явного источника питания
• Источник питания зачастую не рисуют в явном виде, а
используют отдельные символы для плюса и минуса. Такая схема
ещё более компактна.

38. Принципиальные схемы

Принципиальная схема с отдельными контурами
• Часто для удобства одну цепь на схемах разбивают на отдельные
части. В сложных проектах так добиваются наглядности и делят
зоны ответственности между несколькими инженерамиразработчиками.

39. Микроконтроллер Arduino UNO

• Сердцем платформы Arduino Uno является 8-битный микроконтроллер
семейства AVR — ATmega328P.
• Микроконтроллер ATmega16U2 обеспечивает связь микроконтроллера
ATmega328P с USB-портом компьютера. При подключении к ПК
Arduino Uno определяется как виртуальный COM-порт. Прошивка
микросхемы 16U2 использует стандартные драйвера USB-COM,
поэтому установка внешних драйверов не требуется.

40. Практика

Принципиальная схема
Практика
Схема на макетке

41. Практика

42. Практика

English     Русский Правила