Микроконтроллер из чего состоит. Что такое микроконтроллеры - назначение, устройство, софт

В этой статье второго выпуска журнала Электрон, я хочу затронуть очень интересную тему, касающуюся цифровой электроники. Сегодня я хочу ответить на вопрос что такое микроконтроллер .

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

Основное назначение микроконтроллеров – это управление различными электронными устройствами. Таким образом, они применяются не только в персональных компьютерах, но и почти во всей бытовой технике, автомобилях, телевизорах, промышленных роботах, даже в военных радиолокаторах.

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

Так выглядят современные микроконтроллеры.

В настоящее время существует множество различных платформ и семейств микроконтроллеров, однако назначение, применение и суть их функционирования почти одинакова.

Мы сказали, что микроконтроллер это своего рода микрокомпьютер (старое название однокристальные микроЭВМ). Представим его в виде черного ящика. Внутри этого ящика расположены основные структурные элементы микроконтроллера.

Арифметико-логическое устройство (АЛУ) – предназначено для выполнения арифметических и логических операций, на самом деле в совокупности с регистрами общего назначения АЛУ выполняет функции процессора.

Оперативно – запоминающее устройство (ОЗУ) – предназначено для временного хранения данных при работе микроконтроллера.

Память программ - выполнена в виде перепрограммируемого постоянного запоминающего устройства и предназначена для записи микропрограммы управления микроконтроллером, так называемая прошивка.

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

Микроконтроллер в своем составе может иметь и другие вспомогательные элементы.

Аналоговый компаратор – предназначен для сравнения двух аналоговых сигналов на его входах

Таймеры в микроконтроллерах применяются для осуществления различных задержек и установки различных интервалов времени в работе микроконтроллера.

Аналогово-цифровой преобразователь (АЦП) необходим для ввода аналогового сигнала в микроконтроллер и его функция перевести аналоговый сигнал в цифровой.

Цифро-аналоговый преобразователь (ЦАП) выполняет обратную функция, то есть сигнал из цифрового вида преобразует в аналоговый вид.

Работа микроконтроллера синхронизируется тактовыми импульсами с генератора и управляется устройством управления микроконтроллера.

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

Предлагаю вам посмотреть видео, в котором я рассказываю, что такое микроконтроллер и привожу пару примеров практического применения микроконтроллеров.

Кстати тем, кто заинтересовался темой и хочет создать самостоятельно устройство на основе микроконтроллеров фирмы Atmel, предлагаю посмотреть следующее видео.

Видео посвящено видеокурсу о программировании микроконтроллеров фирмы Atmel , пройдя который вы не только познакомитесь с замечательным миром микроконтроллеров, но и научитесь программировать микроконтроллеры, а следовательно самостоятельно создавать электронные устройства на микроконтроллерах.

Видеокурс "Программирование микроконтроллеров для начинающих" более 70 часов качественного видео.

В результате изучения вы получите те знания с помощью которых сможете самостоятельно разработать устройство любой сложности.

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

Многообразие применений

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

Что это такое?

Микроконтроллер - это компьютер. Все компьютеры, независимо от того, являются ли они персональными или большими мэйнфреймами, обладают некоторыми общими чертами. У них есть который выполняет программы, загружая команды из какого-либо хранилища данных. На ПК, например, это жесткий диск. Компьютер также оборудован оперативным запоминающим устройством (ОЗУ). Для коммуникации с внешним миром должны предусматриваться специальные средства. На ПК клавиатура и мышь являются устройствами ввода информации, а монитор и принтер используются для ее вывода. Жесткий диск объединяет в себе обе эти функциональные возможности, поскольку работает как с входными, так и выходными данными.

ЦПУ

Тип используемого в микроконтроллере процессора зависит от конкретного приложения. Доступны варианты от простых 4-, 8- или 16-разрядных до более сложных 32- или 64-битных. Что касается памяти, то могут использоваться ОЗУ, флэш-память, EPROM или EEPROM. Как правило, микроконтроллеры рассчитаны на использование без дополнительных вычислительных компонентов, поскольку они спроектированы с достаточным объемом встроенной памяти, а также имеют контакты для общих операций ввода-вывода, чтобы напрямую взаимодействовать с датчиками и другими компонентами.

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

Программирование

Процессоры микроконтроллеров могут базироваться на расширенном (CISC) или сокращенном наборе команд (RISC). CISC обычно включает около 80 инструкций (RISC - около 30), а также большее число режимов адресации - 12-24 по сравнению с 3-5 у RISC. Хотя расширенный набор команд проще реализовать и он эффективнее использует память, его производительность ниже из-за большего количества тактовых циклов, необходимых для их выполнения. RISC-процессоры уделяют больше внимания программному обеспечению и более производительны.

Первоначально языком микроконтроллеров был ассемблер. Сегодня популярным вариантом является язык C.

При наличии соответствующего кабеля, программного обеспечения и ПК запрограммировать микроконтроллер своими руками несложно. Необходимо подключить контроллер кабелем к компьютера, запустить приложение и загрузить набор команд.

Определяющие характеристики

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

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

  • Микроконтроллеры - это маломощные чипы. Их мощность при питании от батареи составляет около 50 мВт. Настольный компьютер почти всегда подключен к розетке и потребляет 50 Вт и больше.
  • Микроконтроллер отличается наличием специального блока ввода и часто (но не всегда) небольшого светодиода или ЖК-дисплея для вывода. Принимает входные данные от устройства, которым он управляет, посылая сигналы различным его компонентам. Например, микроконтроллер телевизора получает сигналы с ПДУ и отображает вывод на экране телевизора. Он управляет селектором каналов, динамиками и некоторыми настройками изображения, такими как контраст и яркость. Контроллер автомобильного двигателя принимает входные сигналы от датчиков кислорода и детонации, регулирует создание топливной смеси и синхронизирует работу свечей зажигания. В микроволновой печи он принимает ввод с клавиатуры, отображает вывод на ЖК-дисплее и управляет реле включения и отключения СВЧ-генератора.
  • Микроконтроллеры - это зачастую небольшие и недорогие устройства. Компоненты выбираются таким образом, чтобы минимизировать размеры и максимально удешевить производство.
  • Часто, но не всегда, работа микроконтроллера осуществляется в неблагоприятных условиях. Например, устройство управления двигателем автомобиля должно работать в экстремальных температурах, при которых обычный компьютер вообще не может функционировать. На севере микроконтроллер автомобиля должен функционировать при температуре -34 °C, а на юге - при 49 °C. В моторном отсеке температура может достигать 65-80 °C. С другой стороны, микроконтроллер, встроенный в проигрыватель Blu-ray, вообще не должен быть особо прочным.

Требования к ЦПУ

Процессоры, используемые в микроконтроллерах, могут сильно различаться. Например, в сотовых телефонах применялся 8-разрядный микропроцессор Z-80, разработанный в 1970-х годах и первоначально использовавшийся в домашних компьютерах. GPS-навигатор Garmin оборудовался маломощной версией Intel 80386, которую также первоначально устанавливали в настольных ПК.

Большая часть бытовой техники, такой как микроволновые печи, нетребовательна к процессорам, но их цена является важным фактором. В этих случаях производители обращаются к специализированным микроконтроллерам, разработанным из недорогих, небольших и маломощных ЦПУ. Motorola 6811 и Intel 8051 являются хорошими примерами таких чипов. Также выпускается серия популярных компании Microchip. По сегодняшним меркам эти процессоры невероятно минималистичны, но они чрезвычайно дешевы и часто могут полностью удовлетворить потребности конструктора.

Экономичность

Типичный микроконтроллер - это чип с 1000 байтов ПЗУ, 20-ю байтами ОЗУ и 8-ю контактами ввода-вывода. При выпуске большими партиями их стоимость невысока. Конечно, запустить Microsoft Word на таком чипе невозможно - для этого потребуется не менее 30 МБ ОЗУ и процессор, выполняющий миллионы операций в секунду. Но для управления микроволновой печью этого и не нужно. Микроконтроллер выполняет одну конкретную задачу, а низкая стоимость и энергопотребление являются его главными преимуществами.

Как работает?

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

  • При отключенном питании устройство никак себя не проявляет.
  • Подключение микроконтроллера к источнику энергии запускает блок логики системы управления, который отключает все другие схемы, кроме кварцевого кристалла.
  • Когда напряжение достигает своего максимума, частота генератора стабилизируется. Регистры заполняются битами, отражающими состояние всех схем микроконтроллера. Все контакты конфигурируются как входы. Электроника начинает работать согласно ритмической последовательности тактовых импульсов.
  • Счетчик команд обнуляется. Инструкция по этому адресу отправляется в декодер команд, который ее распознает, после чего она немедленно выполняется.
  • Значение счетчика команд увеличивается на 1, и весь процесс повторяется со скоростью миллион операций в секунду.

Для работы с микроконтроллерами, такими как Ардуино или Iskra JS и подобными, нужны дополнительные знания, которые мы постепенно будем познавать.

Сегодня я хотел бы написать о микроконтроллерах в целом, чтобы свои знания подтянуть и заодно другим рассказать.

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

Микроконтроллеры широко используются в вычислительной технике (процессоры, материнские платы, контроллеры дисководов, накопители HDD/FDD), бытовой электронике (стиральные машины, микроволновые печи, телефоны и т.д.), в промышленности и т.д. Рассмотрим, как проходит подключение и управление микроконтроллером, а также другие нюансы, связанные с ними.

Подключение микроконтроллера

Нижеописанная схема является упрощенным вариантом подключения микроконтроллера AVR. AVR - это семейство восьмибитных микроконтроллеров фирмы Atmel. Год разработки - 1996.

По-хорошему, необходимо добавить еще несколько дополнительных внешних элементов в схему.


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

Вывод AREF используется как вход для опорного напряжения АЦП - сюда подается напряжение, относительно которого будет высчитываться АЦП. Допустимо использование внутреннего источника опорного напряжения на 2.56В, или же использовать напряжение от AVCC.

АЦП (Аналого-цифровой преобразователь) - электронное устройство, преобразующее напряжение в двоичный цифровой код

На вывод AREF рекомендуется подключить конденсатор, который позволит увеличить качество напряжения АЦП и, тем самым, позволит провести правильные измерения АЦП. Между AVCC и GND установлен конденсатор и дроссель, а между GND и VCC установлен керамический конденсатор с емкостью 100 нФ (поближе к выводам питания схемы) для сглаживания кратких импульсов помех, образующихся в результате работы микросхемы.

Также между GND и VCC устанавливается ещё один конденсатор с емкостью в 47 мкФ для того, чтобы сгладить возможные броски напряжения.

Управление микроконтроллером

Микроконтроллеры AVR оснащены Гарвардской архитектурой. Каждая из областей памяти располагаются в своем адресном пространстве. Память данных в контроллерах осуществляется посредством регистровой, энергонезависимой и оперативной памяти.


Регистровая память предусматривает наличие 32 регистров общего назначения, которые объединены в файл, а также служебные регистры для ввода и вывода. И первые, и вторые располагаются в пространстве ОЗУ, однако не являются его частью.

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

Устройства на микроконтроллерах

Микроконтроллеры AVR являются простыми в использовании, имеют низкую потребляемую мощность и высокий уровень интеграции.

Как правило, такие микроконтроллеры могут использоваться на самых разных устройствах, в том числе системах общего назначения, системах оповещения, для ЖК-дисплеев, плат с ограниченным пространством.

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

  • Регистратор температуры на Atmega168;
  • Кухонный таймер на Attiny2313;
  • Термометр;
  • Измеритель частоты промышленной сети на 50 Гц;
  • Контроллер светодиодного стоп-сигнала на Attiny2313;
  • Светодиодные лампы и светильники, реагирующие на температуру или звук;
  • Электронные или сенсорные выключатели.

Отметим, что для разных устройств используются разные модели микроконтроллеров. Так, 32-разрядные микроконтроллеры AVR UC3 (а также XMEGA, megaAVR, tinyAVR и т.д.) подойдут для систем общего назначения с технологиями picoPower, QTouch, EEPROM, системами обработки событий и самопрограммированием.

Микроконтроллеры для начинающих

Если вы собираетесь программировать микроконтроллеры, такие как Ардуино, например, а также собирать устройства, которые предусматривают их наличие в схеме, необходимо учитывать некоторые правила и рекомендации :

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

Для того, чтобы новичок мог заниматься микроконтроллерами, рекомендуется изучать базовые материалы. К таким материалам можно отнести следующие книги: "Применение микроконтроллеров AVR: схемы, программы и алгоритмы" Баранов В.Н., 2006 год, "Микроконтроллеры AVR: вводный курс" , Дж. Мортон, 2008 год, "Программирование микроконтроллеров ATMEL на языке С" Прокопенко В.С, 2012 год.

Данные книги являются практическим руководством, в котором затрагиваются аспекты и основы цифровой логики, а также рассматриваются примеры программ для микроконтроллеров, написанных на языке С с различными имитаторами схем, компиляторами и средами.

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

Первыми идею создания микроконтроллера в 1971 году выдвинули сотрудники американской электронной компании Texas Instruments. Именно они предложили собрать на одном кристалле небольшой компьютер, поместив туда процессор, память и устройства ввода/вывода. Через 5 лет эту идею подхватила вездесущая Intel, выпустив первый микроконтроллер i8048.

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

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

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

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

Что нужно для того, чтобы стать профессиональным разработчиком программ для микроконтроллеров и выйти на такой уровень мастерства, который позволит с лёгкостью найти и устроиться на работу с высокой зарплатой (средняя зарплата программиста микроконтроллеров по России на начало 2015 года составляет
80 000 рублей).

Чтобы понимать то, о чём я буду говорить, желательно, чтобы вы хотя бы на начальном уровне знали электронику или хотя бы более-менее помнили школьный курс физики. Если этим вы похвастаться не можете, то тоже не страшно, так как я буду стараться объяснять всё максимально доступно. Ну а если какие-то вещи останутся для вас непонятными, то задавайте вопросы . Только прошу описывать вашу проблему как можно более подробно, чтобы не тратить своё и моё время на переписку с дополнительными уточнениями.

Для тех, у кого проблемы с просмотром видео, я коротко расскажу его содержание.

Итак, микропроцессор и микроконтроллер - это специальные микросхемы. Но чем они отличаются друг от друга?

Вопрос не такой простой, как хотелось бы. Скажу больше, я не уверен, что знаю правильный ответ))) Однако, опираясь на свои немалые знания и опыт, я могу попытаться на него ответить.

В далёкие времена вычислительные системы строились на множестве микросхем разных типов. Когда-то вообще не было микропроцессоров. Вычислительные системы сначала были механическими, потом ламповыми, потом транзисторными. Потом пришло время интегральных микросхем.

Мне довелось работать на первой советской автоматической телефонной станции (АТС) с программным управлением. Её процессор был собран на микросхемах 155-й серии (электронщики меня поймут). Эта АТС занимала целую комнату.

Но со временем элементная база становилась всё меньше и меньше по размеру. То, что раньше собирали из нескольких десятков микросхем, удалось впихнуть в одну микросхему. Так и получился микропроцессор.

Однако для создания полноценной вычислительной системы требовались и другие элементы: память, элементы ввода-вывода и т.п. В итоге микропроцессорная система состояла из нескольких микросхем, и управлял всей этой системой микропроцессор .

Однако техника не стояла на месте. Учёным и инженерам удалось сделать кристаллы микросхем ещё меньше. И кому-то пришла идея объединить все элементы микропроцессорной системы в одну микросхему. Так появился микроконтроллер .

Итак, современный микроконтроллер - это микросхема, которая включает в себя все элементы микропроцессорной системы, такие как процессор, порты ввода-вывода, оперативную память и т.п.

Таким образом, чтобы собрать какое-нибудь простейшее устройство, нужно всего лишь:

  • Разработать схему устройства
  • Выбрать микроконтроллер
  • Написать программу для микроконтроллера
  • Загрузить программу в микроконтроллер (“прошить” микроконтроллер)
  • Собрать устройство
  • Наслаждаться результатом

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

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

Сегодня микроконтроллеры применяются практически во всех электронных устройствах - от китайских гирлянд до систем управления атомными станциями. Разумеется, функциональность и надёжность микроконтроллеров в гирляндах и на АЭС отличаются.

Практически вся бытовая техника (за исключением, быть может, простых электрочайников и подобных устройств) управляется микроконтроллерами: стиральные машины, телевизоры, холодильники, мультиварки и т.п.

В современных автомобилях также используются микроконтроллеры в бортовых компьютерах.

В общем, трудно в современном мире найти сферу человеческой деятельности, где бы не применялись микроконтроллеры.

Какой из этого вывод?

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

Но об этом мы ещё поговорим в следующих статьях. Ждите писем. А если вы ещё не подписаны, то



Загрузка...
Top