Микроконтроллер | это... Что такое Микроконтроллер? (original) (raw)
СБИС контроллера на плате управления жёстким диском Fujitsu MAP3735NC
Микроконтро́ллер (англ. Micro Controller Unit, MCU) — микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает на одном кристалле функции процессора и периферийных устройств, содержит ОЗУ или ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи.
Содержание
История
С появлением однокристальных микро-ЭВМ связывают начало эры массового применения компьютерной автоматизации в области управления. По-видимому, это обстоятельство и определило термин «контроллер» (англ. controller — регулятор, управляющее устройство).
В связи со спадом отечественного производства и возросшим импортом техники, в том числе вычислительной, термин «микроконтроллер» (МК) вытеснил из употребления ранее использовавшийся термин «однокристальная микро-ЭВМ».
Первый патент на однокристальную микро-ЭВМ был выдан в 1971 году инженерам М. Кочрену и Г. Буну, сотрудникам американской Texas Instruments. Именно они предложили на одном кристалле разместить не только процессор, но и память с устройствами ввода-вывода.
В 1976 году[1] американская фирма Intel выпускает микроконтроллер i8048. В 1978 году фирма Motorola выпустила свой первый микроконтроллер MC6801, совместимый по системе команд с выпущенным ранее микропроцессором MC6800. Через 4 года, в 1980 году, Intel выпускает следующий микроконтроллер: i8051. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер i8051 являлся для своего времени очень сложным изделием — в кристалле было использовано 128 тыс. транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре i8086.
На сегодняшний день существует более 200 модификаций микроконтроллеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, 16-битные MSP430 фирмы TI, а также 32-битные микроконтроллеры, архитектуры ARM, которую разрабатывает фирма ARM Limited и продаёт лицензии другим фирмам для их производства. Несмотря на популярность в России микроконтроллеров упомянутых выше, по данным Gartner Grup от 2009 года мировой рейтинг по объёму продаж выглядит иначе: [2] первое место с большим отрывом занимает Renesas Electronics на втором Freescale, на третьем Samsung, затем идут Microchip и TI, далее все остальные.
В СССР велись разработки оригинальных микроконтроллеров, также осваивался выпуск клонов наиболее удачных зарубежных образцов[3][4][5], [6].
В 1979 году в СССР НИИ ТТ разработали однокристальную 16-разрядную ЭВМ К1801ВЕ1, микроархитектура которой называлась «Электроника НЦ».
Описание
При проектировании микроконтроллеров приходится соблюдать баланс между размерами и стоимостью с одной стороны и гибкостью и производительностью с другой. Для разных приложений оптимальное соотношение этих и других параметров может различаться очень сильно. Поэтому существует огромное количество типов микроконтроллеров, отличающихся архитектурой процессорного модуля, размером и типом встроенной памяти, набором периферийных устройств, типом корпуса и т. д. В отличие от обычных компьютерных микропроцессоров, в микроконтроллерах часто используется гарвардская архитектура памяти, то есть раздельное хранение данных и команд в ОЗУ и ПЗУ соответственно.
Кроме ОЗУ, микроконтроллер может иметь встроенную энергонезависимую память для хранения программы и данных. Во многих контроллерах вообще нет шин для подключения внешней памяти. Наиболее дешёвые типы памяти допускают лишь однократную запись. Такие устройства подходят для массового производства в тех случаях, когда программа контроллера не будет обновляться. Другие модификации контроллеров обладают возможностью многократной перезаписи энергонезависимой памяти.
Неполный список периферии, которая может присутствовать в микроконтроллерах, включает в себя:
- универсальные цифровые порты, которые можно настраивать как на ввод, так и на вывод;
- различные интерфейсы ввода-вывода, такие как UART, I²C, SPI, CAN, USB, IEEE 1394, Ethernet;
- аналого-цифровые и цифро-аналоговые преобразователи;
- компараторы;
- широтно-импульсные модуляторы;
- таймеры;
- контроллеры бесколлекторных двигателей;
- контроллеры дисплеев и клавиатур;
- радиочастотные приемники и передатчики;
- массивы встроенной флеш-памяти;
- встроенный тактовый генератор и сторожевой таймер;
Ограничения по цене и энергопотреблению сдерживают также рост тактовой частоты контроллеров. Хотя производители стремятся обеспечить работу своих изделий на высоких частотах, они, в то же время, предоставляют заказчикам выбор, выпуская модификации, рассчитанные на разные частоты и напряжения питания. Во многих моделях микроконтроллеров используется статическая память для ОЗУ и внутренних регистров. Это даёт контроллеру возможность работать на меньших частотах и даже не терять данные при полной остановке тактового генератора. Часто предусмотрены различные режимы энергосбережения, в которых отключается часть периферийных устройств и вычислительный модуль.
Известные семейства
Применение
Использование в современном микроконтроллере достаточного мощного вычислительного устройства с широкими возможностями, построенного на одной микросхеме вместо целого набора, значительно снижает размеры, энергопотребление и стоимость построенных на его базе устройств. Используются в управлении различными устройствами и их отдельными блоками:
- в вычислительной технике: материнские платы, контроллеры дисководов жестких и гибких дисков, CD и DVD;
- электронике и разнообразных устройствах бытовой техники, в которой используется электронные системы управления — стиральных машинах, микроволновых печах, посудомоечных машинах, телефонах и современных приборах;
В промышленности:
- устройств промышленной автоматики — от программируемого реле и встраиваемых систем до ПЛК,
- систем управления станками
В то время как 8-разрядные процессоры общего назначения полностью вытеснены более производительными моделями, 8-разрядные микроконтроллеры продолжают широко использоваться. Это объясняется тем, что существует большое количество применений, в которых не требуется высокая производительность, но важна низкая стоимость. В то же время, есть микроконтроллеры, обладающие больши́ми вычислительными возможностями, например цифровые сигнальные процессоры.
Программирование
Программирование микроконтроллеров обычно осуществляется на языке ассемблера или Си, хотя существуют компиляторы для других языков, например, Форта. Используются также встроенные интерпретаторы Бейсика.
Известные компиляторы Си для МК:
- GNU Compiler Collection - Поддерживает ARM, AVR, MSP430 и многие другие архитектуры
- CodeVisionAVR (для AVR)
- IAR [1] (для любых МК)
- WinAVR (для AVR и AVR32)
- Keil (для архитектуры 8051 и ARM)
- HiTECH (для архитектуры 8051 и PIC от Microchip)
Для отладки программ используются программные симуляторы (специальные программы для персональных компьютеров, имитирующие работу микроконтроллера), внутрисхемные эмуляторы (электронные устройства, имитирующие микроконтроллер, которые можно подключить вместо него к разрабатываемому встроенному устройству) и интерфейс JTAG.
См. также
Литература
- Бродин В. Б., Калинин А. В. Системы на микроконтроллерах и БИС программируемой логики. — М.: ЭКОМ, 2002. — ISBN 5-7163-0089-8
- Жан М. Рабаи, Ананта Чандракасан, Боривож Николич. Цифровые интегральные схемы. Методология проектирования = Digital Integrated Circuits. — 2-е изд. — М.: Вильямс, 2007. — ISBN 0-13-090996-3
- Микушин А. Занимательно о микроконтроллерах. — М.: БХВ-Петербург, 2006. — ISBN 5-94157-571-8
- Новиков Ю. В., Скоробогатов П. К. Основы микропроцессорной техники. Курс лекций. — М.: Интернет-университет информационных технологий, 2003. — ISBN 5-7163-0089-8
- Фрунзе А. В. Микроконтроллеры? Это же просто! — М.: ООО «ИД СКИМЕН», 2002. — Т. 1. — ISBN 5-94929-002-X
- Фрунзе А. В. Микроконтроллеры? Это же просто! — М.: ООО «ИД СКИМЕН», 2002. — Т. 2. — ISBN 5-94929-003-8
- Фрунзе А. В. Микроконтроллеры? Это же просто! — М.: ООО «ИД СКИМЕН», 2003. — Т. 3. — ISBN 5-94929-003-7
Ссылки
Примечания
- ↑ А. Е. Васильев, Микроконтроллеры: разработка встраиваемых приложений, изд. «БХВ-Петербург» 2008
- ↑ Renesas, Gartner, Chart created by Renesas Electronics based on Gartner data Microcontrollers to enable Smart World (Semiconductor Applications Worldwide Annual Market Share: Database) (25 March 2010). Архивировано из первоисточника 5 февраля 2012.
- ↑ под редакцией Шахнова В. А. Микропроцессоры и микропроцессорные комплекты интегральных микросхем. — М.: «Радио и связь», 1988. — Т. 2.
- ↑ Под. ред. В. Г. Домрачева. Одноплатные микроЭВМ = Одноплатные микроЭВМ. — Микропроцессорные БИС и их применение. — М.: Энергоатомиздат, 1988. — С. 128. — ISBN 5-283-01489-4
- ↑ Под. ред. чл.-корр. АН УССР Б. Н. Малиновского. Глава 2. Элементная база отечественных перональных ЭВМ // Справочник по персональным ЭВМ = Справочник по персональным ЭВМ. — К.: Тэхника, 1990. — С. 384. — ISBN 5-335-00168-2
- ↑ А. А. Молчанов, В. И. Корнейчук, В. П. Тарасенко и др. Справочник по микропроцессорным устройствам = Справочник по микропроцессорным устройствам. — К.: Тэхника, 1987. — С. 288.
Микроконтроллеры | |
---|---|
Архитектура | 8-бит MCS-51 • MCS-48 • PIC • AVR • Z8 • H8 • COP8 • 68HC08 • 68HC11 16-бит MSP430 • MCS-96 • MCS-296 • PIC24 • MAXQ • Nios • 68HC12 • 68HC16 32-бит ARM • MIPS • AVR32 • PIC32 • 683XX • M32R • SuperH • Nios II • Am29000 • LatticeMico32 • MPC5xx • PowerQUICC • Parallax Propeller |
Производители | Analog Devices • Atmel • Silabs • Freescale • Fujitsu • Holtek • Hynix • Infineon • Intel • Microchip • Maxim • Parallax • NXP Semiconductors • Renesas • Texas Instruments • Toshiba • Ubicom • Zilog • Cypress |
Компоненты | Регистр • Процессор • SRAM • EEPROM • Флеш-память • Кварцевый резонатор • Кварцевый генератор • RC-генератор • Корпус |
Периферия | Таймер • АЦП • ЦАП • Компаратор • ШИМ-контроллер • Счётчик • LCD • Датчик температуры • Watchdog Timer |
Интерфейсы | CAN • UART • USB • SPI • I²C • Ethernet • 1-Wire |
ОС | FreeRTOS • μClinux • BeRTOS • ChibiOS/RT • eCos • RTEMS • Unison • MicroC/OS-II • Nucleus |
Программирование | JTAG • C2 • Программатор • Ассемблер • Прерывание • MPLAB • AVR Studio • MCStudio |
Технологии цифровых процессоров | |
---|---|
Архитектура | CISC · EDGE · EPIC · MISC · URISC · RISC · VLIW · ZISC · Фон Неймана · Гарвардская 8 бит · 16 бит · 32 бит · 64 бит · 128 бит |
Параллелизм | Pipeline Конвейер · In-Order & Out-of-Order execution · Переименование регистров · Speculative execution Уровни Бит · Инструкций · Суперскалярность · Данных · Задач Потоки Многопоточность · Simultaneous multithreading · Hyperthreading · Superthreading · Аппаратная виртуализация Классификация Флинна SISD · SIMD · MISD · MIMD |
Реализации | DSP · GPU · SoC · PPU · Векторный процессор · Математический сопроцессор • Микропроцессор · Микроконтроллер |
Компоненты | Barrel shifter · FPU · BSB · MMU · TLB · Регистровый файл · control unit · АЛУ • Демультиплексор · Мультиплексор · Микрокод · Тактовая частота • Корпус • Регистры • Кэш (Кэш процессора) |
Управление питанием | APM · ACPI · Clock gating · Динамическое изменение частоты • Динамическое изменение напряжения |