Микроконтроллер (МК) — это миниатюрный компьютер на одной интегральной схеме, созданный для управления конкретными задачами в электронных системах.
В 1971 году удалось объединить процессор, запоминающее устройство и периферийные устройства в одном корпусе. С того момента развитие микроконтроллеров и микропроцессоров происходило параллельно. Наступала эра компьютерной автоматизации в системах управления. Востребованность в миниатюрных устройствах, взаимодействующих с окружающей средой, стремительно росла.
Сооснователь американской компании-производителя электронных устройств Intel Гордон Мур сформулировал закон (закон Мура), определяющий тенденцию в развитии микропроцессорной техники. Согласно этому закону, количество транзисторов в интегральной схеме удваивается каждые два года, что приводит к резкому увеличению вычислительной мощности и снижению стоимости.
Технологичность и относительно низкая себестоимость производства привела к росту разнообразия микроконтроллеров по вычислительной мощи и доступности. Поэтому они применяются и в простейших схемах, таких как мигающие светодиоды, и в сложных системах управления, включая автоматизацию производства, робототехнику и в аппаратуре «умного дома».
В предложенной статье рассмотрены текущие тенденции в области использования микроконтроллеров. Это AVR, ARM, и PIC, а также созданные на их основе популярные платформы Arduino и Raspberry Pi. Показаны достоинства и показаны недостатки. Это поможет как новичкам, так и профессионалам адаптироваться к быстро меняющемуся миру микроэлектроники.
Время чтения: 20 минут
- Простые схемы
- Преимущества микроконтроллеров в простых схемах
- Популярные платформы для создания схем: Arduino и Raspberry Pi
- Сложные системы управления
- Особенности программирования и проектирования сложных систем
- Выбор микроконтроллера для проекта
- Выбор типа микроконтроллера
- Оборудование для работы с микроконтроллерами
Простые схемы
Чтобы лучше разобраться в том, что такое микроконтроллер, понять его сильные и слабые стороны, начнём с простого.
Примеры схем
Мигалка светодиода
Пример простейшей схемы — светодиодная мигалка, в составе которой:
- МК;
- микросхемы стабилизатора (необязательно, если подаётся требуемое напряжение) светодиода;
- резистора (для ограничения тока через светодиод).
Принцип работы
МК включает и выключает светодиод с периодичностью, заданной зашитой в него программой.
Чтение данных с датчика (пример сложнее)
Эта схема для начинающих будет поинтереснее. Поможет собирать полезные устройства для дома, повышая этим мотивацию изучения электроники.
Например, можно сделать приборы для измерения температуры и влажности окружающей среды.
Схема включает:
- МК;
- датчик температуры;
- датчик влажности;
- два резистора (для подтяжки сигналов в цепи датчиков);
- индикатор.
Принцип работы
МК считывает данные с датчиков через заданные временные промежутки, обрабатывает и отправляет на индикатор.
Прототип можно дополнять индикацией, например, атмосферного давления, освещённости, уровня звука и т. д. Для этого нужны соответствующие датчики и несложная коррекция программы. Можно ещё, например, подключить звуковую или световую сигнализацию превышения температуры, только через реле, чтобы хватило мощности. И это решается почти без затрат, а за счёт изменения программы.
Преимущества микроконтроллеров в простых схемах
- Алгоритмы управления занесены в память в виде программы, которую можно корректировать в ходе отладки без изменения фундамента схемы. Например, легко изменять временные интервалы миганий светодиода в приведённой ранее схеме.
- Упрощение конструкции. Меньшее количество необходимых дискретных элементов приводит к компактным схемам.
- Экономия времени. Меньше времени уходит на сборку и настройку схемы.
- Отладка и диагностика. Проще выявлять и исправлять ошибки в коде и аппаратной части с помощью отладочных средств.
Эти характеристики делают МК неплохим выбором для радиолюбителей и студентов, желающих создавать проекты.
Популярные платформы для создания схем: Arduino и Raspberry Pi
Такая гибкость и универсальность МК привела к появлению модульных конструкций, упрощающих разработку и отладку прототипов схем. Среди них выделяются платформы Arduino и Raspberry Pi.
Arduino
Arduino — это универсальная платформа, которая подходит для проектов, организующих взаимодействие датчиков с исполнительными элементами. Её характеристики:
- лёгкость в эксплуатации и доступность огромной библиотеки, техподдержка;
- лёгкость программирования благодаря понятному языку, основанному на C/C++;
- разнообразие плат по мощности и функционалу;
- наличие дополнительных плат-расширителей — шилдов, разработанных со специальным формфактором. За счёт них легко собирать электронные конструкции с нужным функционалу.
А ещё разработано много программ-симуляторов Arduino для разработки и первичной отладки несложных схем «без железа» на компьютере или планшете. Это, например, UnoArduSim, а также облачные симуляторы Tinkercad или Arduino Create.
Сфера применения:
- Учебные и развивающие проекты.
- Создание моделей «на скорую руку» для решения модульных задач — часто встречается в профессиональной среде.
- Устройства для домашних автоматизаций.
Raspberry Pi
Raspberry Pi — это мини-компьютер, с помощью которого решают сложные задачи. Его характеристики:
- благодаря операционной системе на базе Linux и вычислительной мощности выполняются многозадачные операции;
- с его участием создаются сетевые приложения;
- поддержка Python и других языков программирования обеспечивает адаптацию к сложным проектам.
Сфера применения:
- Сложные проекты, требующие сетевых решений (например, удалённое управление).
- Обработка больших объёмов данных, таких как, например, анализ изображений.
- Мультиязычное программирование.
Сравнение платформ Arduino и Raspberry
- Порог вхождения. Arduino проще для начинающих.
- Применение. Arduino больше подходит для примитивных проектов, тогда как Raspberry Pi лучше справляется с многозадачностью.
- Вычислительная мощность. Raspberry Pi опережает по производительности.
- Стоимость. Arduino часто дешевле.
- Энергозатраты. В портативных устройствах, критичных к потреблению энергии, лидирует Arduino. Ещё Raspberry Pi критичнее к качеству электропитания.
Выбор между Arduino и Raspberry Pi определяется масштабами проекта. Обе платформы позволяют создавать разные схемы, но отличаются уровнем подготовки разработчика. Для решения комбинированных задач создают проекты с применением двух платформ одновременно, используя преимущество обеих. Так, например, в робототехнике обмен с периферией возлагают на Arduino, а вычислительным центром задаётся Raspberry Pi.
Сложные системы управления
Преимущество микроконтроллеров в простых схемах оценили.
Рассмотрим теперь их достоинства в сложных системах.
Примеры сложных систем управления
Автоматизация в «умном доме»
Идея автоматизации в домах рождалась ещё у Никола Теслы в конце XIX века. Но всё осталось только идеей — технологий для её воплощения не было. Попытки практической реализации делались американцем Эмилем Матиасом в середине XX. Но тогда это было слишком сложно и непрактично, поэтому распространения не получило. Сегодня «умный дом» перестаёт быть редкостью. Поблагодарим за это микроконтроллер — сердце и мозг электронных устройств, без которых он бы не работал.
«Умный дом» — это МК с подключёнными к нему датчиками и исполнительными механизмами. Согласно зашитой в него программе, включается освещение по сигналу акустического датчика, перекрывается кран водоснабжения по сигналу датчика протечки, жилец получает СМС-сообщение о наличии запаха газа в квартире и другие действия, на что способен «умный дом».
Робототехника
Сейчас робототехника — это не только железные андроиды, планируемые для освоения иных планет. Она пришла в дома в виде пылесосов, моек окон и полов, образовательных и развлекательных роботов, роботов-игрушек, наконец. И в этом тоже немалую, если не основную роль, сыграли микроконтроллеры. Ведь во всех этих роботах он командует исполнительными элементами по сигналам датчиков.
Применение в медицине
Да, и «синеглазый» робот-сиделка Гарми из Мюнхенского института робототехники и машинного интеллекта для ухода за пожилыми и больными людьми, и мило улыбающаяся пациентам брюнетка по имени Надин из Института Медиа Инноваций в Наньянском Технологическом Университете в Сингапуре напичканы разноплановыми МК. Американская компания Perceptive создаёт и уже результативно испытывает робота-стоматолога… Однако медицине нужны не только сенсационные изобретения, но и примитивные устройства-помощники медсёстрам, лаборантам, массажистам. И везде успевает чудо электронной техники — Его Величество микроконтроллер.
Применение на атомных электростанциях
Атомные электростанции (АЭС) лидируют по экономичности и экологической чистоте вырабатываемой электроэнергии. И в то же время — это сложные и небезопасные объекты. Чтобы за дешёвую энергию вдруг не пришлось расплачиваться дорогой ценой, нужно максимально исключить человеческий фактор в управлении станцией. Для этого на АЭС внедрены специальные автоматизированные системы управления технологическим процессом (АСУ ТП), которые также не обходятся без микроконтроллеров.
Применение на беспилотных летательных аппаратах (БПЛА)
Использование беспилотных летательных аппаратов в научно-исследовательских, топографических и военных целях теперь «на взлёте». Главную часть летающих беспилотников представляет авионика — это комплекс электронных бортовых устройств, в состав которого входят управляющие блоки, в т. ч. управления полётом и навигацией. И опять микроконтроллеры!
Применение в автомобильной индустрии
Современный автомобиль не двинется с места без электроники. МК регулируют подачу топлива и зажигания в системе управления двигателем. Следят за сигналами датчиков ABS и ESP для предотвращения аварийных ситуаций. Выдают на водительский монитор главные параметры автомобиля и аварийную сигнализацию.
Наконец, МК играют главную роль в системах управления беспилотными автомобилями. Они обрабатывают сигналы датчиков камеры, лидаров и радаров, позволяя автомобилю определять своё местоположение и окружение. Они контролируют режимы движения, обеспечивают автоматизированное торможение и маневрирование, а также взаимодействие с другими дорожными участниками.
Особенности программирования и проектирования сложных систем
К сложным системам предъявляются жёсткие требования по надёжности, среди которых обязательно: долговечность, время безотказной работы, устойчивость к внешним факторам и ремонтопригодность. Поэтому при проектировании сложных систем нужны специальные схемотехнические приёмы, и тщательно подбирать элементную базу. В частности, МК нужно подбирать не только по вычислительной мощности, но и по допустимым диапазонам температур, вибраций, ударных воздействий, ионизирующих излучений. А ещё и по другим параметрам, исходя из конкретных условий эксплуатации. Кроме того, на надёжность влияет качество инструмента и ПО, применяемых в процессе разработки и изготовления. Например, из-за некачественного программатора в память загрузится программа с ошибками, что приводит к непредсказуемым последствиям.
Выбор микроконтроллера для проекта
Поскольку МК является главнейшим компонент любого современного электронного устройства, проектирование схем начинается с его выбора. И от того, насколько точно подобран МК, зависит в итоге эффективность разработки.
Факторы, влияющие на выбор микроконтроллера
Производительность
Базовые параметры производительности:
- тактовая частота (МГц или ГГц);
- количество процессорных ядер;
- поддержка многопоточности.
Запоминающее устройство (ЗУ)
Базовые виды:
- Оперативное (RAM). Применяется для временного хранения данных и выполнения программ.
- Постоянное (ROM). Хранит программное обеспечение постоянно, включая прошивки.
- Flash. Располагает свойствами RAM и ROM, т. е. обеспечивает запись и стирание данных.
Периферия
Периферия МК — это интерфейсы связи с внешними устройствами. Главные из них:
- UART, I2C, SPI для взаимодействия с другими устройствами;
- GPIO для управления внешними компонентами;
- ADC/DAC для работы с аналоговыми сигналами.
Выбор типа микроконтроллера
Потребительский спрос, технологическая востребованность и конкуренция производителей наводнила рынок большим разнообразием МК по разрядности и архитектуре. Умение ориентироваться в этом потоке предложений поможет разработчику повысить результативность проектирования.
Разрядность
Разрядность процессора определяет границы объёма внутренней памяти и предел производительности. Значения разрядности серийных МК в зависимости о типа равны 4, 8, 16, 32 и 64.
Архитектура
Архитектура МК определяется системой команд и способом организации ЗУ
Архитектура системы команд есть двух типов: RISC и CISC. Подробнее о них:
- RISC (Reduced Instruction Set Computer — «компьютер с сокращённым набором команд») — это архитектура, где применяется сокращённый набор команд. Это даёт высокую скорость работы при низком энергопотреблении. Подходит для задач с жёсткими требованиями к производительности и энергозатратности. Она встроена в популярные микроконтроллеры AVR, ARM, PIC.
- CISC (Complex Instruction Set Computer — «компьютер с полным набором команд») — это тип архитектуры с большим специализированным и сложным набором команд. Такой МК пригоден для сложных операций, но это негативно отражается на производительности. Микроконтроллеры с CISC-архитектурой выпускают фирмы Zilog, Intel, Motololla, Siemens.
В ЗУ хранятся коды программ и данных. ЗУ делится на Фон-Неймана и Гарвардское.
Архитектура Фон-Неймана. Команды и данные в ЗУ не разделены. Это упрощает конструкцию, но может создавать «узкие места» в производительности при одновременном доступе к ним.
- Преимущества. Простота структуры
- Недостатки. Ограниченная производительность при работе с большими объёмами данных.
Гарвардская архитектура. Команды и данные заносятся в отдельные области. Это повышает производительность за счёт параллельного обмена информацией.
- Преимущества. Высокая скорость доступа к данным, эффективная работа.
- Недостатки. Сложная архитектура; требуется большее количество компонентов.
Сравнение архитектур
Микроконтроллеры AVR
Аббревиатура AVR расшифровывается так: Advanced Virtual RISC — усовершенствованный виртуальный RISC. Его история началась в 1996 году в компании Atmel, в дальнейшем вошедшей в компанию Microchip.
Сейчас популярны три подсемейства:
tinyAVR (ATtinyxxx), megaAVR (ATmegaxxx) и XMEGA AVR (ATxmegaxxx)
TinyAVR применяют для простых приложений
Популярность MegaAVR объясняется множеством встроенных периферийных устройств. Подходит для сложных проектов и решений.
XmegaAVR больше подходит для сложных задач, которым требуется большая память программ и высокая скорость обработки. Наиболее часто встречается в коммерческих решениях.
Микроконтроллер ARM
ARM — это аббревиатура названия компании Advanced RISC Machines.
ARM не производит микросхемы, однако разрабатывает микропроцессоры и лицензирует собственные технологии третьим фирмам для производства чипов.
Так, например, компания STMicroelectronics производит семейство 32-битных микроконтроллеров STM32 на 32-битных ядрах ARM. Это Cortex-M33, Cortex-M7F, Cortex-M4F, Cortex-M3, Cortex-M0+, Cortex-M0
Эти МК — обладатели внушительных параметров даже для линейки широкого применения:
Большая номенклатура и бесплатное программное обеспечение (stm32cubeide) обеспечило популярность этих МК как у любителей, так и у профессионалов.
Микроконтроллер PIC
8, 16 и 32-битные микроконтроллеры PIC (peripheral interface controller) от компании Microchip Technology Inc. состоят из 4 больших семейств:
- PIC10 (10FXXX).
- PIC12 (PIC12FXXX).
- PIC16 (16FXXX).
- PIC 17/18(18FXXX).
Характеристики:
- RISC — архитектура команд.
- Гарвардская архитектура ЗУ.
- Тактовая частота: до 64 МГц.
- Память: до 128 КБ Flash, до 4 КБ RAM.
- Периферия: UART, I2C, SPI, ADC.
Такие МК отличаются хорошей преемственностью различных семейств. Есть программная совместимость (общие средства разработки: бесплатная IDE MPLAB, общие библиотеки, общие стеки популярнейших протоколов передачи данных), совместимость по выводам, по периферии, по напряжениям питания.
Основные различия между микроконтроллерами AVR, ARM и PIC
Оборудование для работы с микроконтроллерами
Программирование МК — это загрузка цифрового кода в ЗУ. Для этого применяется специальный электронный прибор — программатор. По назначению программаторы делятся на любительские и профессиональные, универсальные и специальные.
Универсальные программаторы характеризуются большим охватом разных типов программируемых элементов. Поэтому они больше востребованы в конструкторских бюро и лабораториях. Также популярны они и среди радиолюбителей.
В качестве примера можно привести универсальный программатор RT809F.
Универсальный программатор RT809F
Это эффективный, надёжный и относительно недорогой универсальный программатор от китайской компании Ifix.
Достоинства:
- Не требователен к мощности компьютера, достаточно Pentium IV с ОС Windows XP.
- Программное обеспечение легко устанавливается утилитой из прилагаемого инсталляционного пакета.
- Встроенный генератор поможет в ремонте телевизоров и мониторов сигналами HDMI и VGA.
- Производит Pin тест при каждой операции с программируемым чипом для выявления плохих контактов с выводами.
Технические характеристики RT809F
Поддержка микроконтроллеров |
AVR, ATMEGA, Attiny, PIC, AT90, AT89S |
Поддержка памяти | EEPROM, Flash, 24, 25, 26, 93, 95 |
Совместимость с ОС | Windows 2000/XP/2003/2008/Vista/7 |
Выход | VGA, HDMI |
Вход | VGA |
Интерфейсы | ICSP, I2C, UART, JTAG |
Специальные возможности ПО | Smart Identify SmartID, Auto ISP |
Рабочее напряжение | 5 В |
Панель | ZIF16-контактная с нулевым усилением и ручкой-фиксатором |
Светодиодная индикация | питания |
Общие характеристики | |
Источник питания | USB 5 В |
Габариты | 103 х 50 х 27 мм |
Вес | 100 г |
Комплектация |
программатор RT809F – 1 шт USB кабель – 1 шт VGA кабель – 1 шт SOP-адаптер – 1 шт |
Совместимость |
Набор переходников для программатора (SOP8/16-DIP8) Переходники для программирования микросхем в корпусах SOP8/16/20/28 (5 шт.) Кабель EDID для программирования LED матриц SPI переходник 3V - 1.8V Набор адаптеров для программирования микросхем (20 шт.) Адаптеры PLCC панельки для микросхем (набор 5 в 1) Набор адаптеров для микросхем в корпусе PLCC (6 в 1) Переходники для программирования микросхем с PLCC IC экстрактором (набор 18 в 1) Переходник-панелька SSOP8/TSSOP8-DIP8 |
Программатор автомобильных микросхем Xhorse VVDI PROG
В современном автомобиле электроника имеет определённую специфику, под которую подстраиваются производители электронных элементов, а вслед за ними и производители соответствующего оборудования.
Программатор автомобильных микросхем Xhorse VVDI PROG от компании Xhorse — признанным многими инженерами лидером в области разработок автоэлектроники. Создан специально для работы с микросхемами памяти, процессорами в ЭБУ двигателем, иммобилайзерами, приборными панелями и защищённых от записи микросхем транспондеров.
Достоинства:
- Техподдержка от компании-производителя.
- ПО VVDI Prog поддерживает русскоязычную локализацию и имеет подробные инструкции по подключению.
- Встроенное ПО, которе позволяет своевременно обновлять прошивку VVDIProg.
- Встроенная функция самопроверки.
Функционал:
- Поддержка чипов R&W и большинство микросхем EEPROM и других.
- Поддержка проверки данных чипа, проверка пустой функции.
- Поддержка функции сравнения файлов данных.
- Поддержка чтения и записи BMW N20, N55 ECU (непосредственно показать ISN).
- Стабильное чтение и запись микросхем серии MC9S12XE.
- (5M48H/1N35H/2M53J/3M25J и т. д.).
- Поддержка обновлённого пульта ДУ PCF79XX, на данный момент поддерживается серия BMW E/F.
- Имеет обширную базу данных схем подключения.
Целью этой статьи было желание показать место электроники в мире и перспективы её развития. Создать понимание, что электроника — это не удел исключительно учёных и инженеров.
Популярность радиолюбительства растёт. Микроконтроллеры становятся доступнее и легче в освоении, что открывает новые возможности для экспериментов и инноваций. Образовательные учреждения активнее внедряют современные технологии в учебные программы, обучая студентов основам проектирования и программирования.
Тем, кто лишь начинает работать с микроконтроллерами, неплохим стартом станут популярные платформы Arduino и Raspberry Pi. Они открывают огромные возможности для любительских и серьёзных проектов, обладают дружелюбным интерфейсом и обширными сообществами, где всегда найдутся советы и поддержка. И вообще, электроника — это интересно!