Микроконтроллер что это. Применение микроконтроллеров в современных устройствах: возможности, преимущества и проблемы

Что такое микроконтроллер и как он работает. Какие преимущества дает использование микроконтроллеров. С какими проблемами можно столкнуться при разработке устройств на микроконтроллерах. Как микроконтроллеры изменили электронику.

Содержание

Что такое микроконтроллер и как он работает

Микроконтроллер представляет собой миниатюрный компьютер, выполненный в виде интегральной микросхемы. В отличие от обычного процессора, микроконтроллер содержит на одном кристалле не только вычислительное ядро, но и периферийные устройства:

  • Оперативную память (RAM)
  • Постоянную память для хранения программ (ROM, Flash)
  • Порты ввода-вывода для подключения внешних устройств
  • Таймеры
  • Аналого-цифровые и цифро-аналоговые преобразователи
  • Интерфейсы для связи с другими устройствами (UART, SPI, I2C и др.)

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


Основные преимущества использования микроконтроллеров

Применение микроконтроллеров дает разработчикам электронных устройств ряд существенных преимуществ:

Упрощение схемотехники

Вместо сложных схем на дискретных компонентах и логических микросхемах теперь можно использовать один микроконтроллер. Это значительно упрощает проектирование и снижает количество компонентов на плате.

Гибкость и легкость модификации

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

Снижение стоимости

За счет унификации и массового производства стоимость микроконтроллеров постоянно снижается. Использование одного микроконтроллера вместо множества дискретных компонентов часто оказывается экономически выгоднее.

Области применения микроконтроллеров

Сегодня микроконтроллеры можно встретить практически в любой современной электронике:

  • Бытовая техника (стиральные машины, микроволновые печи, кондиционеры)
  • Автомобильная электроника (системы управления двигателем, климат-контроль)
  • Промышленная автоматика
  • Измерительные приборы
  • Системы «умного дома»
  • Портативная электроника (смартфоны, фитнес-трекеры)
  • Компьютерная периферия (принтеры, сканеры)
  • Игрушки

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


Проблемы разработки устройств на микроконтроллерах

Несмотря на все преимущества, применение микроконтроллеров сопряжено с рядом сложностей:

Повышенные требования к разработчикам

Для создания устройств на микроконтроллерах требуются знания как в области электроники, так и в программировании. Найти специалистов, одинаково хорошо владеющих обеими областями, непросто.

Сложность отладки

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

Проблемы с надежностью программного обеспечения

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

Как микроконтроллеры изменили подход к разработке электроники

Массовое внедрение микроконтроллеров привело к существенным изменениям в электронной отрасли:

  • Сместился акцент с аппаратного проектирования на программирование
  • Упростилась модификация и обновление устройств
  • Появилась возможность быстрого прототипирования на стандартных платформах
  • Снизился порог входа в разработку электроники для программистов
  • Изменились требования к компетенциям разработчиков

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


Перспективы развития микроконтроллеров

Основные тенденции в развитии микроконтроллеров на ближайшие годы:

  • Дальнейшее повышение производительности и снижение энергопотребления
  • Увеличение объема встроенной памяти
  • Интеграция беспроводных интерфейсов (Wi-Fi, Bluetooth)
  • Повышение уровня информационной безопасности
  • Развитие средств разработки и отладки

Микроконтроллеры продолжат проникать во все новые сферы, делая окружающие нас устройства все более «умными» и функциональными.


Микроконтроллер — это… Что такое Микроконтроллер?

СБИС контроллера на плате управления жёстким диском 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, микроархитектура которой называлась «Электроника НЦ».

Описание

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

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

Неполный список периферии, которая может присутствовать в микроконтроллерах, включает в себя:

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

Известные семейства

Применение

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

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

В промышленности:

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

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

Программирование микроконтроллеров обычно осуществляется на языке ассемблера или Си, хотя существуют компиляторы для других языков, например, Форта. Используются также встроенные интерпретаторы Бейсика.
Известные компиляторы Си для МК:

Для отладки программ используются программные симуляторы (специальные программы для персональных компьютеров, имитирующие работу микроконтроллера), внутрисхемные эмуляторы (электронные устройства, имитирующие микроконтроллер, которые можно подключить вместо него к разрабатываемому встроенному устройству) и интерфейс 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

Ссылки

Примечания

  1. А. Е. Васильев, Микроконтроллеры: разработка встраиваемых приложений, изд. «БХВ-Петербург» 2008
  2. 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.
  3. под редакцией Шахнова В. А. Микропроцессоры и микропроцессорные комплекты интегральных микросхем. — М.: «Радио и связь», 1988. — Т. 2.
  4. Под. ред. В. Г. Домрачева. Одноплатные микроЭВМ = Одноплатные микроЭВМ. — Микропроцессорные БИС и их применение. — М.: Энергоатомиздат, 1988. — С. 128. — ISBN 5-283-01489-4
  5. Под. ред. чл.-корр. АН УССР Б. Н. Малиновского. Глава 2. Элементная база отечественных перональных ЭВМ // Справочник по персональным ЭВМ = Справочник по персональным ЭВМ. — К.: Тэхника, 1990. — С. 384. — ISBN 5-335-00168-2
  6. А. А. Молчанов, В. И. Корнейчук, В. П. Тарасенко и др. Справочник по микропроцессорным устройствам = Справочник по микропроцессорным устройствам. — К.: Тэхника, 1987. — С. 288.

¡- Что такое микроконтроллер

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

В этой небольшой статье я постараюсь рассказать о том, что это за зверь такой «микроконтроллер», какие у них плюсы и минусы, их особенностях и возможностях, а также о том, как их можно применять в мозгочинских целях.

Что такое микроконтроллер?

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

Общий вид микроконтроллера

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

Поскольку под разные задачи лучше всего использовать наиболее подходящие для них микроконтроллеры, а количество применений для микроконтроллеров поистине неиссякаемое, то логично, что компании производители выпускают большое, измеряемое в сотнях, количество самых разнообразных по своим техническим характеристикам микроконтроллеров. По своим характеристикам, микроконтроллеры бывают как совсем простые — четырех разрядные (4 битные) с небольшой рабочей частотой, измеряемой в килогерцах, так и очень навороченные — до 64 битных с тактовой частотой, измеряемой в мегагерцах.

Микроконтроллеры выпускаются очень большим количеством разнообразных компаний, для перечисления которых не хватило бы даже целой статьи, так что я расскажу о микроконтроллерах, которые производит корпорация Атмел (Atmel), основанная в далеком 1984 году. Семейство этих микроконтроллеров зовётся AVR — это восьмибитные микроконтроллеры, разработанные в 1996 году. Фирма Atmel выпускает несколько семейств микроконтроллеров:

  • 4-разрядные
  • 8-разрядные: MCS-51, AVR
  • 32-разрядные: ARM, AVR32

Само семейство микроконтроллеров AVR делится на две большие группы микроконтроллеров: Tiny и Mega. Отличаются они между собой набором функций, которые в них заложены. Основным же различием внутри группы является внутренняя частота и объём памяти, используемый для хранения программы. Большее распространение среди радиолюбителей получили микроконтроллеры семейства Mega по причине того, что они имеют больше возможностей и функций, конкретнее – ATmega8, который имеет тактовую частоту 16 МГц и объём памяти в 8 Кбайт.

Возможности и особенности микроконтроллеров

Так что же могут микроконтроллеры? Благодаря тому что микроконтроллер является маленьким компьютером — его возможности очень широки. К примеру, микроконтроллеру можно поручить измерение разнообразных величин, обработку различных сигналов и управление широким спектром разных девайсов. Во многом возможности микроконтроллеров ограничены только вашим воображением и умениями работать с ними. Но у микроконтроллеров есть и определенные особенности, одной из которых является то, что все микроконтроллеры поступают с завода в продажу «пустые», то есть, если на них подать напряжение, то мы не получим ровным счетом ничего. Просто кусок кремния. Для того, что бы микроконтроллер начал выполнять какие-то операции, начиная с включения светодиода, заканчивая ШИМ-регулированием напряжения — ему нужно «объяснить» как это сделать, т.е. прошить микроконтроллер исполняющей программой, которую можно написать на ассемблере или на Си.

Многие, наверняка, уже догадались, что можно сделать с микроконтроллерами, дочитав для этого момента. Конечно же, их можно и нужно применять в компьютерном моддинге! Поскольку так называемым «обвесом» микроконтроллера (набором электродеталей, периферией и т.д.) может быть практически всё (реле, транзисторы, светодиоды, индикаторы, LCD дисплеи и многое другое), в зависимости от нужных функций микроконтроллера (сигнализация, управление), то и возможности использования микроконтроллеров в моддинге поистине безграничны. Коротко перечислим некоторые из них.

Your ads will be inserted here by

Easy AdSense Pro.

Please go to the plugin admin page to paste your ad code.

Микроконтроллеры можно «научить» считывать сигнал с таходатчика (датчика скорости вращения) вентилятора или помпы и выводить значения на LCD или индикаторный дисплей. Таким же образом микроконтроллер может послужить для вычисления основных электрических величин: сопротивления, напряжения и силы тока. Всё это так же можно вывести на LCD дисплей.

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

Термометр на основе светодиодных индикаторов

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

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

Индикатор, собранный на основе микроконтроллеров

 

Использование микроконтроллеров

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

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

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

Программу для микроконтроллера пишете на языке программирования Си (кстати, Си намного проще, чем ассемблер), после чего создаёте файл прошивки и с помощью программы прошивальщика прошиваете ваш микроконтроллер данной прошивкой. На самом деле всё довольно просто и, при желании, достаточно легко осваивается! Лично я использую для всех этих действий программу CodeVisionAVR так как она очень удобна и поддерживает практически все виды программаторов. От себя — очень советую!

Собирать устройство на основе микроконтроллера можно как на протравленной плате, так и на макетной или даже методом навесного монтажа, в зависимости от того, как вам удобней и сложности предполагаемого устройства.

Выводы про микроконтроллеры

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

Из плюсов микроконтроллеров я бы выделил:

  • широкий спектр применения
  • минимум материальной базы для изготовления устройств
  • нет трудностей с приобретением

Ну, куда без минусов:

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

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

ПОДЕЛИТЕСЬ С ДРУЗЬЯМИ!

About Nayka

Две стороны повсеместного применения микроконтроллеров / Хабр

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

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

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

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

Упрощение схемотехники


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

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

Унификация


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

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

Простота внесения изменений


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

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


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

Снижение надежности


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

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

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

Часто источником сбоев становится плохо отлаженная прошивка. Или же причина ненадежной работы лежит на стыке программной и аппаратной части. Например, многократная запись в одну и ту же ячейку flash-памяти рано или поздно приводит к исчерпанию ресурса ячейки, и данные начинают повреждаться. Микроконтроллер может обеспечить уровень надежности, необходимый для большинства задач, но только при грамотном подходе к проектированию. Об этом, кстати, стоит сказать отдельно.

Кажущаяся простота разработки


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

Порог входа для программирования гораздо ниже. Можно за один вечер изучить основы любого языка и научиться писать «Hello world»ы. Ясно, что между «программистом» и «хорошим программистом» лежит огромная пропасть, но легкость, с которой можно начать писать, подкупает.

Точно также низок порог входа для разработки устройств на контроллерах. Сейчас полно отличных Arduino-подобных комплектов, огромный выбор периферийных модулей к ним, осталось потратить тот самый вечер на освоение IDE (среды разработки) — и можно приступать к своему первому проекту.

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

Получается, что легкость разработки под контроллеры — только иллюзия. Микроконтроллер гораздо чувствительнее к ошибкам программиста, чем «большие» компьютеры. Ограниченный объем памяти, требования к быстродействию «по тактам» и почти полное отсутствие «защит от дурака» требуют высокой квалификации разработчика.

Функциональная перегруженность и неудобные интерфейсы


— Как выглядит идеальный интерфейс? Одна кнопка с надписью «Сделай мне хорошо».
— Нет, никаких кнопок, просто надпись «Тебе уже хорошо».

Шутка с долей правды.


Для решения той или иной задачи микроконтроллер всегда выбирается c запасом по параметрам. Соответственно, часть ресурсов контроллера (иногда до 90%) остается свободной. Это приводит к тому, что добавить несколько дополнительных функций можно практически «бесплатно», дописав пару десятков строк в коде прошивки. И такой возможностью часто злоупотребляют. В результате нарушается принцип K.I.S.S., объявляющий простоту системы одним из основных приоритетов в проектировании. Получается устройство, большая часть возможностей которого никогда не используется, а о половине из них пользователь даже не знает.

Наличие ненужных функций — лишь вершина айсберга. Казалось бы, не используется — и ладно, может когда-нибудь пригодится… Но функциональная сложность приводит к сложности пользовательских интерфейсов. Тут возможно два пути. Можно попытаться «втиснуть» управление всеми функциями в ограниченный набор элементов ввода-вывода. Так появляются меню с N-надцатью уровнями вложенности, или кнопки с десятками альтернативных действий. Как пример сумеречного инженерного гения в этом направлении можно привести телефон-АОН «Русь». У кого был этот агрегат, тот знает, что его настройка похожа на программирование в машинных кодах.

Второй путь — сделать интерфейс удобным для пользователя путем применения большого цветного экрана (лучше сенсорного) или добавления своей кнопки для каждой функции. Этот вариант уже лучше, но увеличиваются габариты, уменьшается время автономной работы, снижается надежность устройства. И не забываем о цене. Даже если затраты на производство возрастают незначительно, наличие «супер-пупер экрана с 5000000 цветов» позволяет без лишних угрызений совести накрутить +50…250% к конечной стоимости устройства.

Недокументированные функции


В крупном торговом комплексе ни с того ни с сего открываются фрамуги дымоудаления (большие окна с электроприводом) и выдают неисправность на реле управления. Ночью обещали дождь; не починим — зальёт полкомплекса.
Вызываю из фирмы спеца, который релюху эту программировал. Он на город один, зараза, сам всё паяет и ставит. Описал проблему; он ответил, мол, всё понятно, сейчас приеду и сделаю.
Приезжает, уверенной походкой идет к релюхе, снимает с неё плату, тыкает в переходник. Открывает редактор какой-то — всё в шестнадцатиричном коде, ни черта не понять. Что же, думаю, он делать будет? Наблюдаю как бы случайное движение мышки в правый нижний угол — навёл, каналья, дату посмотрел, открыл конвертер, перевёл какие-то числа в hex, поиском нашёл их в коде и заменил на другие. «Чё, — спрашиваю, — таймер отработал?»

IThappens.ru


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

Какова вероятность того, что помимо основных функций, в прошивке не присутствуют какие-либо дополнительные? Это может быть отправка статистики производителю, намеренно сделанная ошибка, модуль перехвата данных, backdoor — все, что угодно. Причем «закладку» не обязательно добавлять во время разработки, можно внести изменения в прошивку любого существующего устройства. В качестве примера можно привести червя StuxNet, который внедрял свой код в ПЛК ядерно-обогатительных предприятий [2]. Если вы не обогащаете уран, это еще не значит, что вам ничего не угрожает. Уже разработаны механизмы атаки на принтеры [3] и роутеры [4], использующие смену прошивки. Учитывая, с какой легкостью перепрошивается большинство устройств, в ближайшем будущем следует ожидать появления новых «программно-аппаратных» вирусов и разновидностей атак.

А вы уверены, что прямо сейчас ваша микроволновка не следит за вами? 🙂


В ходе чтения этой статьи, особенно второй её части, может сложиться впечатление, что я призываю отказаться от широкого использования контроллеров. Это ни в коем случае не так. Во-первых, технический прогресс невозможно повернуть вспять. Во-вторых, для многих задач контроллеры — единственная альтернатива, и заменить их нечем. И, наконец, в-третьих, описанные негативные аспекты никоим образом не перевешивают достоинств микроконтроллера.

Основной вывод, который хотелось бы сделать — а он подходит для любой технологии — необходимо умело пользоваться преимуществами, которые дает эта технология, но не забывать об их оборотной стороне. Благодарю за внимание, и да пребудет с вами Сила!

Литература


[1] — Г. Горюнов. «Почему одни микроконтроллеры надежнее других».
[2] — «Как Symantec взломала Stuxnet». Хабрахабр.
[3] — «Десятки миллионов принтеров HP LaserJet уязвимы». Хакер.
[4] — «Троян в роутере: заражение D-link 500T в домашних условиях». Хакер №7/10

Что такое микроконтроллер. Применение микроконтроллеров

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Микроконтроллер | Электроника для всех

Почти все микроконтроллеры имеют на борту последовательный порт — UART. Работает он по стандартному последовательному протоколу, а значит его можно без проблем подключить к компу на COM порт. Но есть тут одна проблема — дело в том, что комповый RS232 он за логические уровни принимает +/- 12 вольт, а UART работает на пятивольтовых уровнях. Как их совместить? Для этого существует несоколько вариантов схем преобразователей уровня, но самая популярная это все же на специальном преобразователе RS232-TTL. Это микросхема MAX232 и ее аналоги.
Практически каждая фирма делает свой преобразователь, так что тут сгодится и ST232, и ADM232, и HIN232. Схемка простая как три копейки — вход, выход, питание и обвязка из пяти конденсаторов. Конденсаторы обычно ставятся 1uF электролиты, но в некоторых модификациях ставится 0.1uF керамика. Я везде впаивал 0.1uF керамику и обычно этого хватало. 🙂 Работает как часы. Если же на высоких скоростях будет глючить, то надо будет повышать емкость.
 


 

Кстати, существует еще и MAX3232 это то же самое, но на выходе у него не 5вольт TTL, а 3.3 вольта TTL. Её используют для низковольтных контроллеров.
 

Я себе сделал один такой универсальный шнурочек, чтобы к контроллерам цепляться было удобно по UART. Для общей компактности всю схему запихал прям в разъем, благо у меня были ST232 в soic корпусе. Получилась платка не больше рублевой монеты. Так как под рукой не было мелких SMD конденсаторов, то пришлось напаять кондеры сверху, кто во что горазд. Главное работает, хоть и не очень красиво вышло.
 


 

Если сомневаешься, что у тебя получится столь мелкий монтаж, то я тебе развел плату на стандартный PDIP корпус. Размером она будет со спичечный коробок, зато мельчить не надо.
 


 

После сборки проверяется просто:
Втыкается в разъем COM порта. Подается 5 вольт питания на схему, а затем замыкаешь Rx на Tx (у меня это зеленый и желтый провода).
 
Дальше открваешь любую терминалку, хоть Hyper Terminal, цепляешься к порту и начинаешь посылать байты, они должны тотчас возвращаться обратно. Если этого не произошло — проверяй схему, где то косяк.
 

Если работает, то дальше все просто. Тот провод который идет от ножки 9 микросхемы MAX232 это передающий вывод, его заводи на ногу RxD контроллера. А тот который с ножки 10 — принимающий, его смело сажай на вывод TxD контроллера.
 


 

Плата сделана была методом ЛУТ, в одном месте по моему недосмотру толщина просвета оказалась 0.05мм, протравилась, но со спайками, пришлось процарапывать. А в целом с первого раза ать и никаких проблем. Аж сразу захотелось сделать что нибудь маленькое маленькое, нафаршированное нафаршированное 🙂
 


 

Все, аппаратная часть для связи микроконтроллера с компом готова. Ждите следующего поста в котором я расскажу как конфигурировать и использовать UART в микроконтроллерах AVR. В будущем я буду через UART осуществлять отладочную связь с компом. Может быть даже ради этого соберу отдельный модуль с LCD экранчиком. Для отладки в железе. Посмотрим как попрет.
 

Печатная плата в формате Sprint Layout. Два варианта маленький и большой
 

Та же бодяга, но для работы через USB
 

Read More »

Устройство и работа портов ввода-вывода микроконтроллеров AVR. Часть 1 / Хабр

Работа портов ввода/вывода

Изучив данный материал, в котором все очень детально и подробно описано с большим количеством примеров, вы сможете легко овладеть и программировать порты ввода/вывода микроконтроллеров AVR.

Пример будем рассматривать на микроконтроллере ATMega8.

Программу писать будем в Atmel Studio 6.0.

Эмулировать схему будем в Proteus 7 Professional.

С внешним миром микроконтроллер общается через порты ввода вывода. Схема порта ввода вывода указана в даташите:

Но новичку разобраться довольно со схемой довольно сложно. Поэтому схему упростим:

Pxn – имя ножки порта микроконтроллера, где x буква порта (A, B, C или D), n номер разряда порта (7… 0).
Cpin — паразитная емкость порта.
VCC — напряжение питания.
Rpu — отключаемый нагрузочный верхний резистор (pull-up).
PORTxn — бит n регистра PORTx.
PINxn — бит n регистра PINx.
DDRxn — бит n регистра DDRx.

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

Конденсатор (см.2) — это паразитная емкость вывода. Хоть она и крошечная, но присутствует. Обычно ее не учитывают, но она есть. Не забивай голову, просто знай это.

Дальше идут ключи управления (см.3,4). Каждый ключ подчинен логическому условию, которые нарисованы на рисунке. Когда условие выполняется — ключ замыкается.

Каждый порт микроконтроллера AVR (обычно имеют имена A, B и иногда C или даже D) имеет 8 разрядов, каждый из которых привязан к определенной ножке корпуса. Каждый порт имеет три специальных регистра DDRx, PORTx и PINx (где x соответствует букве порта A, B, C или D). Назначение регистров:

DDRx – Настройка разрядов порта x на вход или выход.

PORTx – Управление состоянием выходов порта x (если соответствующий разряд настроен как выход), или подключением внутреннего pull-up резистора (если соответствующий разряд настроен как вход).

PINx –Чтение логических уровней разрядов порта x.

PINхn – это регистр чтения. Из него можно только читать. В регистре PINxn содержится информация о реальном текущем логическом уровне на выводах порта. Вне зависимости от настроек порта. Так что если хотим узнать что у нас на входе — читаем соответствующий бит регистра PINxn. Причем существует две границы: граница гарантированного нуля и граница гарантированной единицы — пороги за которыми мы можем однозначно четко определить текущий логический уровень. Для пятивольтового питания это 1.4 и 1.8 вольт соответственно. То есть при снижении напряжения от максимума до минимума бит в регистре PINx переключится с 1 на 0 только при снижении напряжение ниже 1.4 вольт, а вот когда напряжение нарастает от минимума до максимума переключение бита с 0 на 1 будет только по достижении напряжения в 1.8 вольта. То есть возникает гистерезис переключения с 0 на 1, что исключает хаотичные переключения под действием помех и наводок, а также исключает ошибочное считывание логического уровня между порогами переключения.

При снижении напряжения питания разумеется эти пороги также снижаются.

DDRxn – это регистр направления порта. Порт в конкретный момент времени может быть либо входом либо выходом (но для состояния битов PINxn это значения не имеет. Читать из PINxn реальное значение можно всегда).

DDRxy = 0 – вывод работает как ВХОД.

DDRxy = 1 – вывод работает на ВЫХОД.

PORTxn – режим управления состоянием вывода. Когда мы настраиваем вывод на вход, то от PORTх зависит тип входа (Hi-Z или PullUp, об этом чуть ниже).

Когда ножка настроена на выход, то значение соответствующего бита в регистре PORTx определяет состояние вывода. Если PORTxn=1 то на выводе лог.1, если PORTxn=0 то на выводе лог.0.

Когда ножка настроена на вход, то если PORTxn=0, то вывод в режиме Hi-Z. Если PORTxn=1 то вывод в режиме PullUpс подтяжкой резистором в 100к до питания.

Таблица. Конфигурация выводов портов.

DDRxn PORTxn I/O Comment
0 0 I (Input) Вход Высокоимпендансный вход. (Не рекомендую использовать, так как могут наводится наводки от питания)
0 1 I (Input) Вход Подтянуто внутренне сопротивление.
1 0 O (Output) Выход На выходе низкий уровень.
1 1 O (Output) Выход На выходе высокий уровень.

Общая картина работы порта показана на рисунках:

Рис. DDRxn=0 PORTxn=0 – Режим: HI-Z – высоко импендансный вход.

Рис. DDRxn=0 PORTxn=1 – Режим: PullUp – вход с подтяжкой до лог.1.

Рис. DDRxn=1 PORTxn=0 – Режим: Выход – на выходе лог.0. (почти GND)

Рис. DDRxn=1 PORTxn=1 – Режим: Выход – на выходе лог.1. (почти VCC)

Вход Hi-Z — режим высокоимпендансного входа.
Этот режим включен по умолчанию. Все ключи разомкнуты, а сопротивление порта очень велико. В принципе, по сравнению с другими режимами, можно его считать бесконечностью. То есть электрически вывод как бы вообще никуда не подключен и ни на что не влияет. Но! При этом он постоянно считывает свое состояние в регистр PINn и мы всегда можем узнать что у нас на входе — единица или ноль. Этот режим хорош для прослушивания какой либо шины данных, т.к. он не оказывает на шину никакого влияния. А что будет если вход висит в воздухе? А в этом случае напряжение будет на нем скакать в зависимости от внешних наводок, электромагнитных помех и вообще от фазы луны и погоды на Марсе (идеальный способ нарубить случайных чисел!). Очень часто на порту в этом случае нестабильный синус 50Гц — наводка от сети 220В, а в регистре PINn будет меняться 0 и 1 с частотой около 50Гц

Вход PullUp — вход с подтяжкой.
При DDRxn=0 и PORTxn=1 замыкается ключ подтяжки и к линии подключается резистор в 100кОм, что моментально приводит не подключенную никуда линию в состояние лог.1. Цель подтяжки очевидна — не допустить хаотичного изменения состояния на входе под действием наводок. Но если на входе появится логический ноль (замыкание линии на землю кнопкой или другим микроконтроллером/микросхемой), то слабый 100кОмный резистор не сможет удерживать напряжение на линии на уровне лог.1 и на входе будет лог.0.

Режим выхода.
Тут, думаю, все понятно — если нам надо выдать в порт лог.1, мы включаем порт на выход (DDRxn=1) и выдаем лог.1 (PORTxn=1) — при этом замыкается верхний ключ и на выводе появляется напряжение, близкое к питанию. А если надо лог.0, то включаем порт на выход (DDRxn=1) и выдаем лог.0 (PORTxn=1) — при этом открывается уже нижний вентиль, что дает на выводе около нуля вольт.

Simple English Wikipedia, бесплатная энциклопедия

Микроконтроллер (сокращенно MCU или мкКл ) — это компьютерная система на микросхеме, которая выполняет определенную работу. Он содержит встроенный процессор, память (небольшой объем ОЗУ, программной памяти или и то, и другое) и программируемые периферийные устройства ввода / вывода, которые используются для взаимодействия с объектами, подключенными к микросхеме. [1] Микроконтроллер отличается от микропроцессора, который содержит только центральный процессор (тип, используемый в персональном компьютере). [2]

Впервые выпущенные в 1971 году компанией Intel, микроконтроллеры стали популярными в первые несколько лет своего существования. Затем был выпущен чрезвычайно полезный микропроцессор Intel 8008, но он все еще был непрактичным из-за высокой стоимости каждого чипа. Эти первые микроконтроллеры объединили в одном устройстве разные типы компьютерной памяти. [3] После того, как люди начали понимать, насколько они полезны, микроконтроллеры постоянно обновлялись, и люди пытались найти новые способы их улучшения.Стоимость со временем снизилась, и к началу 2000-х годов микроконтроллеры широко использовались во всем мире.

Другие термины для обозначения микроконтроллера — это встроенная система и встроенный контроллер, поскольку микроконтроллер и его вспомогательные схемы часто встроены или встроены в один чип. [4]

В дополнение к обычным арифметическим и логическим элементам обычного микропроцессора, микроконтроллер также имеет дополнительные элементы, такие как RAM для хранения данных, постоянная память для хранения программ, флэш-память для постоянного хранения данных и другие устройства (периферийные устройства). [5]

Микроконтроллеры часто работают на очень низкой скорости по сравнению с микропроцессорами (с тактовой частотой всего 32 кГц), но это полезно для типичных приложений. Также они потребляют очень мало энергии (милливатты или даже микроватты). [6]

Микроконтроллеры используются в автоматических продуктах и ​​устройствах, таких как системы двигателей автомобилей, пульты дистанционного управления, машины, бытовая техника, электроинструменты и игрушки. Это так называемые встроенные системы. Микроконтроллеры также используются в солнечной энергии и при сборе энергии, в антиблокировочных тормозных системах в автомобилях, а также в медицине. [7]

  1. ↑ «Словарь встраиваемых систем» Джека Гэнссла и Майка Барра, стр.173
  2. «Как работают микроконтроллеры». Астрахань . 1 апреля 2000 г.
  3. ↑ «Микроконтроллеры: теория и приложения» Аджай В. Дешмук, стр.6
  4. Бил, Ванги. «Что такое микроконтроллер? Определение Webopedia». www.webopedia.com .
  5. «Архитектура и программирование микроконтроллеров 8051 (электронная книга) 1.1 «. МикроЭлектроника .
  6. EngineersGarage. «Разница между микропроцессором и микроконтроллером». www.engineersgarage.com .
  7. ↑ http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/applications.page
.

Что такое микроконтроллер? — наконечники микроконтроллера

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

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


Основные компоненты микроконтроллера

Микроконтроллеры также объединяют другие устройства, такие как:

  • Модуль таймера, позволяющий микроконтроллеру выполнять задачи в течение определенных периодов времени.

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

  • АЦП, позволяющий микроконтроллеру принимать аналоговые входные данные для обработки.


Чтобы проиллюстрировать функции и взаимосвязь строительных блоков микроконтроллера, мы построим микроконтроллер блок за блоком:
Объяснение строительных блоков микроконтроллера

.

В чем разница между микропроцессором и микроконтроллером?

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

Микроконтроллер

Это как маленький компьютер на одной микросхеме. Он содержит ядро ​​процессора, ПЗУ, ОЗУ и контакты ввода-вывода, предназначенные для выполнения различных задач.Микроконтроллеры обычно используются в проектах и ​​приложениях, требующих прямого управления пользователем. Поскольку он имеет все компоненты, необходимые в его единственном кристалле, ему не нужны никакие внешние схемы для выполнения своей задачи, поэтому микроконтроллеры широко используются во встроенных системах, и крупные компании-производители микроконтроллеров делают их для использования на рынке встроенных систем. Микроконтроллер можно назвать сердцем встраиваемой системы. Некоторыми примерами популярных микроконтроллеров являются микроконтроллеры серий 8051, AVR, PIC.

Microcontroller architecture

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

Микропроцессор

Микропроцессор

имеет только центральный процессор внутри одной или нескольких интегральных схем. Как и микроконтроллеры, в нем нет ОЗУ, ПЗУ и другой периферии. Их работа зависит от внешних цепей периферийных устройств. Но микропроцессоры не предназначены для конкретной задачи, но они необходимы там, где задачи сложные и запутанные, такие как разработка программного обеспечения, игр и других приложений, требующих большого объема памяти и где ввод и вывод не определены.Его можно назвать сердцем компьютерной системы. Некоторые примеры микропроцессоров: Pentium, I3, I5 и т. Д.

microprocessor architecture

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

Итак, в чем разница между микропроцессором и микроконтроллером?

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

1. Ключевое различие между ними — наличие внешнего периферийного устройства, в котором микроконтроллеры имеют встроенные RAM, ROM, EEPROM, а в случае микропроцессоров приходится использовать внешние схемы.

2. Поскольку вся периферия микроконтроллера находится на одном кристалле, он компактен, а микропроцессор громоздок.

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

4. Скорость обработки микроконтроллеров составляет от 8 МГц до 50 МГц, но, напротив, скорость обработки обычных микропроцессоров выше 1 ГГц, поэтому они работают намного быстрее, чем микроконтроллеры.

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

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

7. Задачи, выполняемые микроконтроллерами, ограничены и обычно менее сложны. В то время как задача, выполняемая микропроцессорами, — это разработка программного обеспечения, разработка игр, создание веб-сайтов, создание документов и т. Д., Которые, как правило, являются более сложными, поэтому требуют больше памяти и скорости, поэтому с ними используются внешнее ПЗУ, ОЗУ.

8. Микроконтроллеры основаны на архитектуре Гарварда, где память программ и память данных разделены, а микропроцессоры основаны на модели фон Неймана, в которой программа и данные хранятся в одном модуле памяти.

.

Что такое микроконтроллер MCU для встраиваемых систем »Электроника

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


Встроенные системы Включает:
Основы встроенных систем Микроконтроллер, MCU


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

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

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

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

Основы микроконтроллера

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

Поскольку микроконтроллеры часто предназначены для приложений с низким энергопотреблением и низким уровнем обработки, некоторые микроконтроллеры могут использовать только 4-битные слова, а также могут работать с очень низкими тактовыми частотами — около 10 кГц и меньше для экономии энергии. Это означает, что некоторые микроконтроллеры могут потреблять только милливатт или около того, и они также могут иметь уровни потребления сна в несколько нановатт. С другой стороны, некоторым микроконтроллерам может потребоваться гораздо более высокий уровень производительности и они могут иметь гораздо более высокие тактовые частоты и потребляемую мощность.

Преимущества и недостатки микроконтроллера

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


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

Дополнительные темы по цифровой логике и встраиваемым системам:
Программирование ПЛИС Встроенные системы Как работает компьютер Основы проектирования логических схем Рекомендации по проектированию логики / схем
Возврат в меню Цифра / Логика / Обработка. . .

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *