Микроконтро́ллер () — микросхема для программного управления электронными устройствами. Обычно изготавливается в виде единого кристалла с функциями ядра микропроцессора, шин команд и данных, периферийных устройств, ОЗУ и ПЗУ. По сути, это компьютер в чипе, выполняющий роль периферийного процессора.

История С появлением однокристальных микроЭВМ связывают начало эры массового применения компьютерной автоматизации в области управления. По-видимому, это обстоятельство и определило термин «контроллер» ( — регулятор, управляющее устройство).

В связи со спадом отечественного производства и возросшим импортом техники, в том числе вычислительной, термин «микроконтроллер» (МК) вытеснил из употребления ранее использовавшийся термин «однокристальная микроЭВМ».

Первый патент на однокристальную микроЭВМ был выдан в 1971 году инженерам Майклу Кокрэну и Гэри Буну, сотрудникам американской Texas Instruments. Именно они предложили на одном кристалле разместить не только процессор, но и память с устройствами ввода-вывода.

В 1976 годуВасильев А. Е. , Микроконтроллеры: разработка встраиваемых приложений, изд. «БХВ-Петербург» 2008 американская фирма Intel выпускает микроконтроллер i8048. В 1978 году фирма Motorola выпустила свой первый микроконтроллер MC6801, совместимый по системе команд с выпущенным ранее микропроцессором MC6800. В 1980 году Intel выпускает следующий микроконтроллер: i8051. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер i8051 являлся для своего времени очень сложным изделием — в кристалле было использовано 128 тыс. транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре i8086.

В СССР велись разработки оригинальных микроконтроллеров. В 1979 году в СССР ЛКТБ разработало однокристальную 16-разрядную микро-ЭВМ «Электроника С5-31» (К1827 ВЕ1) с системой команд семейства «Электроника С5» и НИИ ТТ разработал однокристальную 16-разрядную ЭВМ К1801ВЕ1, микроархитектура которой получила название «Электроника НЦ». Уровень их разработки соответствовал лучшим мировым результатам того периода в области 16-разрядных однокристальных микро-ЭВМ. Также осваивался выпуск клонов наиболее удачных зарубежных образцов.

На 2013 год существовало более 200 модификаций микроконтроллеров, совместимых с i8051, выпускавшихся двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные, 16-битные и 32-битные микроконтроллеры PIC фирмы Microchip Technology, микроконтроллеры AVR фирмы Atmel (с 2016 года производятся фирмой Microchip), 16-битные MSP430 фирмы TI, а также 32-битные микроконтроллеры архитектуры ARM, которую разрабатывает фирма ARM Limited и продаёт лицензии другим фирмам для их производства. Несмотря на популярность в России микроконтроллеров, упомянутых выше, на 2009 год мировой рейтинг по объёму продаж, по данным Gartner Group, выглядел иначе: первое место с большим отрывом занимала Renesas Electronics, на втором — Freescale, на третьем — Samsung, затем шли Microchip и TI, далее — все остальные.

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

В отличие от обычных компьютерных микропроцессоров, в микроконтроллерах часто используется гарвардская архитектура памяти, то есть раздельное хранение данных в ОЗУ, а команд — в ПЗУ.

Кроме ОЗУ, микроконтроллер может иметь встроенную энергонезависимую память для хранения программы и данных. Многие модели контроллеров вообще не имеют шин для подключения внешней памяти.

Наиболее дешёвые типы памяти допускают лишь однократную запись, либо хранимая программа записывается в кристалл на этапе изготовления (конфигурацией набора технологических масок). Такие устройства подходят для массового производства в тех случаях, когда программа контроллера не будет обновляться. Другие модификации контроллеров обладают возможностью многократной перезаписи программы в энергонезависимой памяти.

Неполный список периферийных устройств, которые могут использоваться в микроконтроллерах, включает в себя: универсальные цифровые порты, которые можно настраивать как на ввод, так и на вывод; различные интерфейсы ввода-вывода, такие, как UART, I²C, SPI, CAN, USB, IEEE 1394, Ethernet; аналого-цифровые и цифро-аналоговые преобразователи; компараторы; широтно-импульсные модуляторы (ШИМ-контроллер); таймеры; контроллеры бесколлекторных двигателей, в том числе шаговых; контроллеры дисплеев и клавиатур; радиочастотные приемники и передатчики; массивы встроенной флеш-памяти; встроенные тактовый генератор и сторожевой таймер.

Ограничения по цене и энергопотреблению ограничивает тактовую частоту контроллеров. Хотя производители стремятся обеспечить работу своих изделий на высоких частотах, они, в то же время, предоставляют заказчикам выбор, выпуская модификации, рассчитанные на разные частоты и напряжения питания. Во многих моделях микроконтроллеров используется статическая память для ОЗУ и внутренних регистров. Это даёт контроллеру возможность работать на меньших частотах и даже не терять данные при полной остановке тактового генератора. Часто предусмотрены различные режимы энергосбережения, в которых отключается часть периферийных устройств и вычислительный модуль.

Известные семейства ARM (ARM Limited) ST Microelectronics STM32 ARM-based MCUs ARM Cortex, ARM7 и ARM9-based MCUs Texas Instruments Stellaris MCUs NXP ARM-based LPC MCUs Toshiba ARM-based MCUs Analog Devices ARM7-based MCUs Cirrus Logic ARM7-based MCUs Freescale Semiconductor ARM9-based MCUs Silicon Labs EFM32 ARM-based MCUs AVR (Atmel) ATmega ATtiny XMega MCS 51 (Intel) Espressif ESP8266 и ESP32 MSP430 (TI) PIC (Microchip) STM8 (STMicroelectronics) С8051F34x RL78 (Renesas Electronics) RISC-V (открытая расширяемая система команд) Espressif ESP32-C3 … ESP32-P4 SiFive FE310 WCH CH32V003 … CH32V307 Миландр Счётчик К1986ВК025 Микрон/Прогресс АМУР К1948ВК018 НИИЭТ линейка чипов с К1921ВГ015

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

Используются в управлении различными устройствами и их отдельными блоками: в вычислительной технике: материнские платы, контроллеры дисководов жестких и гибких дисков, CD и DVD, калькуляторах; электронике и разнообразных устройствах бытовой техники, в которой используется электронные системы управления — стиральных машинах, микроволновых печах, посудомоечных машинах, телефонах и современных приборах, различных роботах, системах «умный дом», и др.

В промышленности: устройства промышленной автоматики — от программируемого реле и встраиваемых систем до ПЛК, систем управления станками

В то время как 8-разрядные микропроцессоры общего назначения полностью вытеснены более производительными моделями, 8-разрядные микроконтроллеры продолжают широко использоваться. Это объясняется тем, что существует большое количество применений, в которых не требуется высокая производительность, но важна низкая стоимость. В то же время, есть микроконтроллеры, обладающие больши́ми вычислительными возможностями, например, цифровые сигнальные процессоры, применяющиеся для обработки большого потока данных в реальном времени (например, аудио-, видеопотоков).

Программирование Программирование микроконтроллеров осуществляется на низкоуровневых языках типа ассемблера и языках с возможностью непосредственного доступа к адресам памяти (Си/C++, Оберон, Форт), хотя существуют компиляторы для любых других языков с добавлением низкоуровневых рантаймов.

Известные компиляторы Си для МК:

GNU Compiler Collection — поддерживает ARM, AVR, MSP430 и многие другие архитектуры Small Device C Compiler — поддерживает множество архитектур CodeVisionAVR (для AVR) IAR (для любых МК) WinAVR (для AVR и AVR32) Keil (для архитектуры 8051 и ARM) HiTECH (для архитектуры 8051 и PIC от Microchip) STM32CubeIDE — это продвинутая платформа разработки на C/C++ с функциями настройки периферийных устройств, генерации кода, компиляции кода и отладки для STM32.

Известные компиляторы бейсика для МК:

MikroBasic (архитектуры PIC, AVR, 8051 и ARM) Bascom (архитектуры AVR и 8051) FastAVR (для архитектуры AVR) PICBasic (для архитектуры PIC) Swordfish (для архитектуры PIC)

Для отладки программ используются программные симуляторы (специальные программы для персональных компьютеров, имитирующие работу микроконтроллера), внутрисхемные эмуляторы (электронные устройства, имитирующие микроконтроллер, которые можно подключить вместо него к разрабатываемому встроенному устройству) и отладочный интерфейс, например, JTAG.

См. также Программируемый логический контроллер Система на кристалле Однокристальный микроконтроллер

Примечания

Литература

Ссылки Параметрический поиск и описания архитектур

Микроконтроллеры Категория:Электроника