Микроконтроллер — это специальная микросхема, предназначенная для управления различными электронными устройствами. Микроконтроллеры впервые появились в том же году, что и микропроцессоры общего назначения (1971).
Разработчики микроконтроллеров придумали остроумную идею – объединить процессор, память, ПЗУ и периферию внутри одного корпуса, внешне похожего на обычную микросхему. С тех пор производство микроконтроллеров ежегодно во много раз превышает производство процессоров, а потребность в них не снижается.
Микроконтроллеры выпускают десятки компаний, причем производятся не только современные 32-битные микроконтроллеры, но и 16, и даже 8-битные (как i8051 и аналоги). Внутри каждого семейства часто можно встретить почти одинаковые модели, различающиеся скоростью работы ЦПУ и объемом памяти.
Дело в том, что микроконтроллеры применяются преимущественно во встроенных системах, в игрушках, в станках, в массовой домашней технике, в домашней автоматике – там, где нужна не мощность процессора, а, скорее, баланс между ценой и достаточной функциональностью.
Именно поэтому самые старые типы микроконтроллеров еще до сих пор в ходу – они многое могут: от автоматического открывания дверей и включения полива газонов до интеграции в систему «умный дом». При этом существуют и более мощные микроконтроллеры, способные выполнять сотни миллионов операций в секунду и обвязанные периферией «до зубов». У них и задачи соответствующие. Таким образом, разработчик сначала оценивает задачу, а уж потом выбирает под нее подходящее «железо».
На сегодняшний день существует более 200 модификаций микроконтроллеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, 16-битные MSP430 фирмы TI, а также 32-битные микроконтроллеры, архитектуры ARM, которую разрабатывает фирма ARM Limited и продаёт лицензии другим фирмам для их производства.
16-битный 28-pin PDIP PIC24 микроконтроллер
Микроконтроллер Atmel AVR ATmega8 в корпусе DIP
Устройство микроконтроллера AVR
Микроконтроллер характеризуется большим числом параметров, поскольку он одновременно является сложным программно-управляемым устройством и электронным прибором (микросхемой). Приставка «микро» в названии микроконтроллера означает, что выполняется он по микроэлектронной технологии.
В ходе работы микрконтроллер считывает команды из памяти или порта ввода и исполняет их. Что означает каждая команда, определяется системой команд микроконтроллера. Сиситема команд заложена в архитектуре микрконтроллера и выполнение кода команды выражается в проведении внутренними элементами микросхемы определенных микроопераций.
Микроконтроллеры позволяют гибко управлять различными электронными и электрическими устройствами. Некоторые модели микроконтроллеров настолько мощны, что могут непосредственно переключать реле (к примеру, на елочных гирляндах).
Микроконтроллеры, как правило, не работает в одиночку, а запаивается в схему, где, кроме него, подключаются экраны, клавиатурные входы, различные датчики и т.д.
Софт для микроконтроллеров может привлечь внимание тех, кто обожает «гоняться за битами», так как обычно память в микроконтроллерах составляет от 2 до 128 Кб. Если меньше, то писать приходится на ассемблере или Форте, если есть возможность, то используют специальные версии Бейсика, Паскаля, но в основном – Си. Прежде чем окончательно запрограммировать микроконтроллер, его тестируют в эмуляторах – программных или аппаратных.
Тут может возникнуть вопрос: микропроцессор и микроконтроллер это просто разное название одного и того же устройства, или это все-таки разные вещи?
Микропроцессор это центральное устройство любой ЭВМ, выполненный по интегральной технологии. Само название говорит о том, что именно в нем происходят вычислительные процессы. Чтобы из него получилась ЭВМ, пусть даже не очень современная и мощная (вспомните любительские конструкции Радио-86 или Синклер), его надо дополнить внешними устройствами. В первую очередь это оперативная память и порты ввода вывода информации.
Микроконтроллер имеет внутри себя процессор, оперативную память, память программ, а кроме этого целый набор периферийных устройств, которые превращают процессор в полнофункциональную ЭВМ. По старой терминологии советских времен подобные устройства назывались Однокристальными Микро ЭВМ. Но советская вычислительная техника, как известно, зашла в тупик, а вместе с ней и ОМЭВМ.
Зарубежная же вычислительная техника на месте не стояла, поэтому ОМЭВМ стали называться контроллерами (от англ. Control – управлять, управление). И в самом деле, контроллеры оказались весьма пригодны для управления различной техникой, даже не очень сложной.
МИКРОКОНТРОЛЛЕР — это уже не процессор, но ещё и не компьютер.
Центральный процессор, имеющийся в каждом компьютере — главный вычислитель. Хотя компьютер и не предназначен исключительно для вычислительной нагрузки, процессор является в нём головным элементом. Но не только в компьютере имеется процессор.
Если вдуматься и присмотреться, то можно обнаружить, что процессоры применяются в большинстве приборов бытового предназначения. Только там используются не такие процессоры как в компьютере, а микропроцессоры и даже микроконтроллеры.
Так что же такое микроконтроллер и чем отличается от собственно процессора или это совершенно различные электронные компоненты?
Большие интегральные микросхемы или микросхемы с большой степенью интеграции и есть процессоры. Микропроцессоры, по сути те же процессоры, но из-за приставки «микро» определяется их суть, что они миниатюрнее своих «больших» собратьев. В своё историческое время процессор со своим размером мог занимать не одну комнату, впору их назвать как вымерших динозавров макро-процессорами, чтобы и их как-то упорядочить в современном представлении об электронике.
Уменьшенный в габаритах и скомпонованный процессор занимает меньше места и его можно поместить в более компактное изделие, это и есть микропроцессор. Но сам процессор мало что способен делать, кроме как данные пересылать между регистрами и совершать какие-то арифметические и логические действия над ними.
Чтобы микропроцессор мог переслать данные в память, эта самая память должна присутствовать либо на самом кристалле, на котором находится сам процессорный элемент, либо подключаться к внешней оперативной памяти выполненной в виде отдельного кристалла или модуля.
Кроме памяти процессор должен взаимодействовать с внешними устройствами – периферией. Иначе какой пользы можно ожидать от работы процессора, перемешивающего и перемещающего данные туда-сюда. Смысл возникает тогда, когда процессор взаимодействует с устройствами ввода-вывода. У компьютера это клавиатура, манипулятор мышь и устройства отображения как дисплей, опционально – принтер и, например, сканер опять же для ввода информации.
Чтобы управлять устройствами ввода-вывода, непременно необходимы соответствующие буферные схемы и элементы. На их основе реализуются интерфейсные так называемые аппаратные средства. Способы взаимодействия с интерфейсными элементами предполагают наличие схем портов ввода-вывода, дешифраторов адреса и формирователей шин с буферными схемами, для увеличения нагрузочной способности микропроцессора.
Интеграция процессора со всеми необходимыми дополнительными элементами, для того чтобы это изделие выливалось в какой-то завершённый конструктив и приводит к образованию микроконтроллера. Микросхема или микроконтроллерный чип реализует на одном кристалле процессор и интерфейсные схемы.
Самодостаточный чип, который содержит практически всё, чтобы этого хватало для построения законченного изделия и есть пример типового микроконтроллера. Например наручные электронные часы или часы-будильник имеют внутри микроконтроллер, который реализует все функции такового устройства. Отдельные периферийные устройства подключаются непосредственно к ножкам микросхемы микроконтроллера, либо совместно используются дополнительные элементы или микросхемы малой либо средней степени интеграции.
Микроконтроллеры широко используются в изделиях которые содержат всю систему целиком исключительно в одной миниатюрной микросхеме, часто называемой микросборкой. Например «чиповая» кредитная карточка содержит микроконтроллер внутри в пластиковой основе. Таблетка домофона так же внутри себя содержит микроконтроллер. И примеров использования и применения микроконтроллеров настолько обширен в современном мире, что легко обнаружить наличие контроллера в любом мало-мальски интеллектуальном устройстве от детской игрушки до беспроводной гарнитуры сотового телефона.
Смотите также у нас на сайте:
История создания и развития микроконтроллеров, их виды и классификация
Электронная книга — руководство про микроконтроллеры AVR для начинающих
Смотрите также по этой теме обучающие видеокурсы Мaкcима Селиванова:
1. Базовый видеокурс «Программирование микроконтроллеров для начинающих»
Кур для тех, кто уже знаком с основами электроники и программирования, кто знает базовые электронные компоненты, собирает простые схемы, умеет держать паяльник и желает перейти на качественно новый уровень, но постоянно откладывает этот переход из-за сложностей в освоении нового материала.
Курс замечательно подойдет и тем, кто только недавно предпринял первые попытки изучить программирование микроконтроллеров, но уже готов все бросить от того, что у него ничего не работает или работает, но не так как ему нужно (знакомо?!).
Курс будет полезен и тем, кто уже собирает простенькие (а может и не очень) схемы на микроконтроллерах, но плохо понимает суть того как микроконтроллер работает и как взаимодействует с внешними устройствами.
2. Видеокурс «Программирование микроконтроллеров на языке Си»
Курс посвящен обучению программирования микроконтроллеров на языке Си. Отличительная особенность курса — изучение языка на очень глубоком уровне. Обучение происходит на примере микроконтроллеров AVR. Но, в принципе, подойдет и для тех, кто использует другие микроконтроллеры.
Курс рассчитан на подготовленного слушателя. То есть, в курсе не рассматриваются базовые основы информатики и электроники и микроконтроллеров. Но, что бы освоить курс понадобятся минимальные знания по программированию микроконтроллеров AVR на любом языке. Знания электроники желательны, но не обязательны.
Курс идеально подойдет тем, кто только начал изучать программирование AVR микроконтроллеров на языке С и хочет углубить свои знания. Хорошо подойдет и тем, кто немного умеет программировать микроконтроллеры на других языках. И еще подойдет обычным программистам, которые хотят углубить знания в языке Си.
3. «Создание устройств на микроконтроллерах на языке Си»
Этот курс для тех, кто не хочет ограничиваться в своем развитии простыми или готовыми примерами. Курс отлично подойдет тем, кому важно создание интересных устройств с полным пониманием того, как они работают. Курс хорошо подойдет и тем, кто уже знаком с программированием микроконтроллеров на языке Си и тем, кто уже давно программирует их.
Материал курса прежде всего ориентирован на практику использования. Рассматриваются следующие темы: радиочастотная идентификация, воспроизведение звука, беспроводной обмен данными, работа с цветными TFT дисплеями, сенсорным экраном, работа с файловой системой FAT SD-карты.