Микроконтроллер что это: Что такое микроконтроллер. Применение микроконтроллеров

Содержание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

СБИС контроллера на плате управления жёстким диском 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.

Как я научился работать с микроконтроллерами — опыт новичка / Хабр

Всем привет. В этой статье хотел рассказать о том, как я научился работать с микроконтроллерами

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



Вместо вступления

Впервые интерес к МК у меня возник, когда я учился в 10 классе. На тот момент был 2009 год. Я умел немного программировать на ПК в QBasic и Visual Basic — школьная программа, но так сложилась жизнь, что я особо не разбирался в программировании, да и отсутствие знающих людей по части электроники и МК рядом сделали своё дело — для меня это была новая ниша. Хотя я с детства ковырялся с платами и микросхемами найденными на помойках, но как оно работало я толком не понимал — толком никто не мог объяснить. Как работает транзистор нормально я узнал только спустя пару лет после описанных событий. Когда я выбирал первый МК то смотрел характеристики на сайте ЧИП-ДИП. Скажу честно — для меня это было как иероглифы. Так что не стоит этого бояться. И да, про Arduino тогда никто понятия не имел.

Как всё началось

Начал ковыряться в яндексах и гуглах. Понимал, что сам контроллер — половина дела, нужна ещё и программа. А как сказано во вступлении — с программированием у меня было не очень. В конце концов попал на какой-то сайт. Как стало позднее ясно, я с этим сайтом реально «попал». Создатель сайта написал ещё и учебник по программированию, я на радостях скачал учебник и первое что там увидел — «В качестве образца для работы я использовал PIC16F84A ». Собственно так я и выбрал свой первый МК. Теперь вопрос — почему я именно «попал». А попал я из-за того, что создатель этого учебника и сайта предлагал программировать МК на АССЕМБЛЕРЕ. Его не все практикующие проггеры то знают, а тут новичок… Контроллер я уже заказал, и только потом начал читать учебник, к сожалению.

Как я выходил из положения

После того, как я понял, что ничего не понял, я забросил МК на пару лет, но параллельно всё-таки шарился на форумах типа Схем.нет и прочих, и ко мне постепенно приходило понимание вопроса. Решил учиться кстати на модели PIC16F877A.

Итак, что нужно знать новичку:

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

  • Рабочие частоты от единиц до ~100 Мгц, я лично использую в своих устройствах как правило частоты 20 Мгц, именно МЕГАгерц, а не ГИГАгерц. Частота задаётся внешним источником тактирования — кварцевым или керамическим резонатором.

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

Микроконтроллер рассчитан на работу на плате, скажем так, в конкретной «железке», на плате, в устройстве. Так что не стоит думать, что на нём можно поиграть в CS 🙂

Языки программирования

Начал выбирать язык программирования и среду в которой можно программировать. Так как я хоть как-то знал Basic, то и задумался, что было бы хорошо прогать на нём. Да, он не очень совершенный и ещё куча недостатков, но для начала подходил как нельзя кстати. Мне повезло, оказалось, что есть язык PIC-Basic. По нему есть учебник, автор Чак Хелибайк и переведённое на русский руководство, собственно до всего доходил дальше по учебнику и руководству. Среда работает из-под ДОС, но можно прикрутить CodeStudio и всё будет работать из-под Windows.

Программатор

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

  • В настоящее время есть адаптированные языки программирования для МК, тот же Бэйсик, СИ и прочие.
  • После написания программы она компилируется в машинный код — файлик с расширением HEX, его-то и надо прошивать в память МК.
  • Для того, чтобы «прошить МК» — записать в него выполняемый код нужно две вещи:

    1) плата-программатор, которая является промежуточным устройством между разъёмом компьютера и самим чипом
    2) Программа-программатор, которая будет знать как работать с программатором, собранным по конкретной схеме.
    То есть нужно чтобы программа на ПК знала какая схема подключена к ПК чтоб правильно прошить чип. В моём случае это заводское решение — вместе с программатором PicKit идет диск с нужными программами.

  • Памяти в МК ограниченное количество, это надо учитывать, иногда приходится выкраивать каждый байт прошивки, лишь бы влезть в объём памяти чипа. Так же следует понимать, что в МК нет никакой операционной системы, и Ваша прошивка — единственные данные которые знает МК.

Несколько слов про периферию

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

Например у PIC16F877А их 40 штук, причем 7 штук вылетают сразу, т.к. используются для подачи питания, подключения резонатора и управления аварийным сбросом. Так же надо внимательно смотреть документацию на чип. Например тот же АЦП — в PIC16F877А он может измерять напряжение только на 8 конкретных ножках чипа, на других он это делать не может. То есть под каждую встроенную функцию отводятся конкретные выводы и поменять их нельзя.

Суть сей басни такова

Освоить МК реально даже самому и с нуля, но есть места где не очень понятно. Если с программированием никогда не сталкивались, то сначала выучите хотя-бы азы программирования и напишите «Hello World» на компьютере. После этого будет проще. Если не хотите особо заморачиваться — Arduino Ваше всё. МК расчитаны на использование в «железках» — блоки управления, платы, контроллеры итд итп, это не полноценный компьютер, а контроллер. И ожидать от него следует соответственно. Благо сейчас полно примеров на ютубе, и я надеюсь, что мой опыт начинания с нуля будет не таким горьким и моя статья кому-нибудь, да поможет.

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

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

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

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

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

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

Программирование микроконтроллеров. Компоненты

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

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

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

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

Принципы программирования микроконтроллеров

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

Первый этап. Определение задач, которые должно выполнять микроконтроллер.

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

Второй этап. Создание или выбор структурной схемы устройства на основе заданного микроконтроллера.

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

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

Третий этап. Создание программы для прошивки, на основе выбранного языка программирования.

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

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

Языки программирования микроконтроллеров

Языки программирования микроконтроллеров делятся на две группы:

  • низкого уровня
  • высокого уровня

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

К языкам высокого уровня можно отнести такие языки программирования микроконтроллеров, как PL/M, C/C++, Java, Pascal, Basic и другие. При работе с такими языками происходит увеличение производительности за счет замены одного оператора несколькими машинными командами. Языки программирования высокого уровня требуют больших затрат памяти, так как объем такой программы достаточно большой. Преимущество их использования, это возможность работы программы на различных микропроцессорах, при использовании программ-трансляторов.

В настоящее время в программировании микроконтроллеров наиболее часто используются языки Ассемблер и C/C++, так как обеспечивают компактность кода и быстродействие соответственно.

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

Наиболее популярными средами программирования микроконтроллеров являются: FlowCode(практически единственная среда, позволяющая программировать сразу несколько видов микроконтроллеров PIC, AVR, ARM),AlgorithmBuilder (графическая среда программирования AVR микроконтроллеров),CodeVisionAVR, IAR Systems, CodeComposerStudio (CCS), Energia, Virtualbreadboard, FlashMagic, MPLAB, WinAVR, AtmelStudio.

Микроконтроллеры. Устройство и особенности. Применение

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

Устройство и применение

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

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

Внутри корпуса микроконтроллера находятся основные элементы всей его структуры. Существует три класса таких устройств: 8, 16 и 32-разрядные. Из них 8-разрядные модели имеют малую производительность. Она достаточна для решения простых задач управления объектами. 16-разрядные микроконтроллеры – модернизированные 8-разрядные. Они имеют расширенную систему команд. 32-разрядные устройства включают в себя высокоэффективный процессор общего назначения. Они используются для управления сложными объектами.

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

  • Для связи с внешними устройствами существуют порты ввода-вывода. Их также используют для подключения внешней памяти, различных датчиков, исполнительных устройств, светодиодов, индикаторов. Интерфейсы портов ввода-вывода разнообразны: параллельные, последовательные, оборудованные USB выходами, WI FI. Это расширяет возможности применения микроконтроллеров для различных сфер управления.
  • Аналого-цифровой преобразователь требуется для введения аналогового сигнала на вход микроконтроллера. Его задачей является преобразование сигнала из аналогового вида в цифровой.
  • Аналоговый компаратор служит для выполнения сравнения двух сигналов аналогового вида на входах.
  • Таймеры используются для выполнения установки диапазонов и задержки времени в функционировании микроконтроллера.
  • Цифро-аналоговый преобразователь исполняет обратную работу по преобразованию из цифрового сигнала в аналоговый.
  • Действие микроконтроллера синхронизируется с генератором тактовыми импульсами при помощью блока синхронизации, который работает совместно с микропрограммой. Генератор тактовых импульсов может быть как внутренним, так и внешним, то есть, тактовые импульсы могут подаваться с постороннего устройства.

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

Микроконтроллеры и их применение
Сфера их использования постоянно расширяется. Микроконтроллеры применяются в различных механизмах и устройствах. Основными областями их применения являются:
  • Авиационная промышленность.
  • Робототехника.
  • Промышленное оборудование.
  • Железнодорожный транспорт.
  • Автомобили.
  • Электронные детские игрушки.
  • Автоматические шлагбаумы.
  • Светофоры.
  • Компьютерная техника.
  • Автомагнитолы.
  • Электронные музыкальные инструменты.
  • Средства связи.
  • Системы управления лифтами.
  • Медицинское оборудование.
  • Бытовая техника.

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

Советы по выбору

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

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

— Нужное количество.
— Выпускается ли в настоящее время.
— Наличие поддержки разработчика.
— Наличие языков программирования, внутрисхемных эмуляторов, средств отладки и компиляторов.

  • Информационная поддержка, включающая в себя:

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

  • Надежность завода изготовителя. В этот фактор входит:

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

Похожие темы:

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

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

Микроконтроллеры выпускают десятки компаний, причем производятся не только современные 32-битные микроконтроллеры, но и 16, и даже 8-битные (как i8051 и аналоги). Внутри каждого семейства часто можно встретить почти одинаковые модели, различающиеся скоростью работы ЦПУ и объемом памяти.

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

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

На сегодняшний день существует более 200 модификаций микроконтроллеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, 16-битные MSP430 фирмы TI, а также 32-битные микроконтроллеры, архитектуры ARM, которую разрабатывает фирма ARM Limited и продаёт лицензии другим фирмам для их производства.

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

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

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

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

Софт для микроконтроллеров может привлечь внимание тех, кто обожает «гоняться за битами», так как обычно память в микроконтроллерах составляет от 2 до 128 Кб. Если меньше, то писать приходится на ассемблере или Форте, если есть возможность, то используют специальные версии Бейсика, Паскаля, но в основном – Си. Прежде чем окончательно запрограммировать микроконтроллер, его тестируют в эмуляторах – программных или аппаратных. 

МИКРОКОНТРОЛЛЕР — это уже не процессор, но ещё и не компьютер.

Центральный процессор, имеющийся в каждом компьютере — главный вычислитель. Хотя компьютер и не предназначен исключительно для вычислительной нагрузки, процессор является в нём головным элементом. Но не только в компьютере имеется процессор.

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

Так что же такое микроконтроллер и чем отличается от собственно процессора или это совершенно различные электронные компоненты?

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

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

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

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

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

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

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

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

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

AVR микроконтроллеры – это тип устройств, разработанный компанией Atmel, которые имеют определенное преимущество перед обычными микросхемами, но, сначала, давайте разберемся, что такое микроконтроллер?

Самый простой способ понять это – сравнить микроконтроллер с вашим компьютером, в котором установлена материнская плата. На этой плате стоит микропроцессор (на чипе Intel или AMD), который обеспечивает устройство вычислений, память RAM и EEPROM, и интерфейсы остальных систем, например, серийные порты (в настоящее время в основном USB), жесткие диски и графические интерфейсы. В микроконтроллере все эти возможности встроены в один чип, а это значит, что отсутствует потребность в материнской плате и многих других компонентах, например, светодиод может быть подключен напрямую к AVR. В микропроцессорах нет такой возможности!

AVR микроконтроллеры выпускаются в нескольких корпусах, некоторые предназначены для монтажа в отверстия, некоторые для поверхностного. AVR бывают 8-ми и 100-пиновыми, хотя все, что выше 64-х пинов только для монтажа в отверстия. Большинство людей начинают с DIL (Сдвоенный в линию) 28—х пинового чипа, например, ATmega328 или 40-ка пинового ATmega16 или ATmega32.

Компьютерные микропроцессоры бывают минимум 32-х битными, а теперь чаще 64-х битные. Это означает, что они могут обрабатывать данные 32-х битными или 64-х битными блоками, если они подключены к шине. AVR гораздо проще и работает с 8-ми битными блоками, пропускная ширина потока 8 бит, хотя сейчас стали появляться AVR32 с 32-х битной шиной.

На компьютере установлена операционная система (Windows или Linux), и именно в ней запускаются программы, такие, как Word, InternetExplorer или Chrome. На 8-ми битном микроконтроллере, например, на таком, как AVR обычно нет установленной операционной системы, хотя, при необходимости, она может быть установлена. Вместо этого реализована возможность запуска одной программы.

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

Так что же это за программа? Она состоит из серии инструкций, очень простых, и направленных на обработку данных. В большинстве приложений, которые вы будете использовать с AVR, например, в контроллере промышленного оборудования, необходимо, чтобы считывалась информация со входов, проводилась проверка состояния и, соответственно, происходило переключение на выходы. Иногда вам нужно менять данные, управлять ими, или передавать их на другое устройство, например, на ЖК дисплей или на серийный порт. Чтобы выполнять эти простые задачи, используется серия простых бинарных инструкций, каждая из которых соответствует команде на ассемблере, понятной пользователю. Самый простой способ написать программу для AVR – использовать ассемблер (хотя, если хотите оставаться педантичным, можете записывать двоичные числа).

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

Чтобы этого избежать, для написания программ для AVR были использованы языки программирования более высокого уровня, основным считается Cи, а также, можно использовать Basic и Java. Высокий уровень означает, что каждая строка Cи (или Basic, или Java) кода может переводиться в множество строк ассемблера. Компилятор также разбирается со структурой программы и управлением памятью, так что все становится гораздо проще. Наиболее часто используемые процессы, например, задержки или вычисления, могут храниться в библиотеках, и доступ к ним очень простой.

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

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

У AVR также есть I/O, которое используется, чтобы контролировать аппаратные средства микроконтроллера. К аппаратным средствам относятся порты, АЦП (ADC), коммуникационные интерфейсы, например, I2C (2—х проводной интерфейс), SPI и UART (серийный порт), таймеры и система watchdog, которая восстанавливает систему после сбоя. Все эти периферийные устройства контролируется из-под программы, используя специальные инструкции. Большая часть кода программирования AVR посвящена тому, как устанавливать и контролировать эти аппаратные интерфейсы.

 


Примеры работ
Услуги
Контакты

Время выполнения запроса: 0,00628018379211 секунд.

Что такое микроконтроллер? Определяющие характеристики и архитектура общего компонента

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

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

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

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

 

Этот генератор сигналов произвольной формы является одной из многих плат, которые я разработал на основе 8-битного микроконтроллера.

 

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

 

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

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

Наиболее распространенным способом обозначения этой категории интегральных схем является «микроконтроллер», но аббревиатура «MCU» используется взаимозаменяемо, поскольку она означает «микроконтроллер». Иногда вы также можете увидеть «µC» (где греческая буква мю заменяет «микро»).

Название

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

 

Микроконтроллеры и микропроцессоры

Люди иногда используют термин «микропроцессор» или «MPU» по отношению к микроконтроллеру, но эти два устройства не обязательно являются одним и тем же.И микропроцессоры, и микроконтроллеры функционируют как небольшие высокоинтегрированные компьютерные системы, но они могут служить разным целям.

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

Диаграмма ниже иллюстрирует эту концепцию.

 

 

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

 

Микроконтроллеры и цифровые сигнальные процессоры (DSP)

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

Элементы микроконтроллера

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

 

Центральный процессор

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

 

Память

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

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

 

Периферийные устройства

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

  • Преобразователи данных: аналого-цифровой преобразователь, цифро-аналоговый преобразователь, генератор опорного напряжения

 

На этом графике показаны данные трехосного акселерометра, которые я оцифровал с помощью встроенного в микросхему АЦП микроконтроллера.

 

  • Генерация тактового сигнала: внутренний генератор, схема кварцевого привода, контур фазовой автоподстройки частоты
  • Синхронизация: таймер общего назначения, часы реального времени, счетчик внешних событий, импульсная модуляция
  • Обработка аналоговых сигналов: операционный усилитель, аналоговый компаратор
  • Ввод/вывод: универсальная схема цифрового ввода и вывода, параллельный интерфейс памяти
  • Последовательная связь: UART, SPI, I2C, USB

 

Мой коллега Марк Хьюз разработал эту сенсорную подсистему на основе 16-битного микроконтроллера.
Схема поддержки

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

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

 

Программы микроконтроллера, написанные на C, организованы в функции.Прерывание вызывает «вектор» выполнения программы в подпрограмму обслуживания прерываний (ISR), и после того, как ISR завершит свои задачи, процессор возвращается к функции, которая выполнялась в момент возникновения прерывания.

 

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

 

Следующие статьи

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

В следующем выпуске этой серии «Введение в микроконтроллеры» мы рассмотрим, как правильно выбрать микроконтроллер. Затем мы перейдем к тому, как читать техническое описание микроконтроллера.

Если у вас есть какие-либо темы, которые вы хотели бы видеть в будущих статьях, сообщите нам об этом в комментариях ниже.

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

Вы можете перейти к остальной части серии «Введение в микроконтроллеры» здесь:

Дополнительные ресурсы

Дополнительные ресурсы о микроконтроллерах см. в следующих статьях:

Что такое микроконтроллер? — Как работают микроконтроллеры

Микроконтроллер — это компьютер. Все компьютеры — говорим ли мы о персональном настольном компьютере, большом мейнфрейме или микроконтроллере — имеют несколько общих черт:

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

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

  • Микроконтроллеры « встроены » в какое-либо другое устройство (часто потребительский продукт), чтобы они могли управлять функциями или действиями продукт.Следовательно, другое название микроконтроллера — «встроенный контроллер».
  • Микроконтроллеры выделены для одной задачи и запускают одну конкретную программу. Программа хранится в ПЗУ (постоянной памяти) и в основном не изменяется.
  • Микроконтроллеры часто маломощные устройства . Настольный компьютер почти всегда подключен к сетевой розетке и может потреблять 50 Вт электроэнергии. Микроконтроллер с батарейным питанием может потреблять 50 мВт.
  • Микроконтроллер имеет специальное устройство ввода и часто (но не всегда) имеет небольшой светодиодный или ЖК-дисплей для вывода .Микроконтроллер также получает входные данные от устройства, которым он управляет, и управляет устройством, отправляя сигналы различным компонентам устройства. Например, микроконтроллер внутри телевизора принимает входные данные с пульта дистанционного управления и отображает выходные данные на экране телевизора. Контроллер управляет селектором каналов, системой динамиков и некоторыми настройками электроники кинескопа, такими как оттенок и яркость. Контроллер двигателя в автомобиле получает информацию от датчиков, таких как датчики кислорода и детонации, и управляет такими вещами, как топливная смесь и синхронизация свечей зажигания.Контроллер микроволновой печи получает ввод с клавиатуры, отображает выходные данные на ЖК-дисплее и управляет реле, которое включает и выключает микроволновый генератор.
  • Микроконтроллер часто бывает маленьким и недорогим . Компоненты выбираются таким образом, чтобы минимизировать размер и быть как можно более дешевыми.
  • Микроконтроллер часто, но не всегда, каким-то образом упрочняет . Например, микроконтроллер, управляющий двигателем автомобиля, должен работать при экстремальных температурах, с которыми обычному компьютеру не справиться.Микроконтроллер автомобиля на Аляске должен нормально работать при температуре -30 градусов по Фаренгейту (-34 С), в то время как тот же микроконтроллер в Неваде может работать при 120 градусах по Фаренгейту (49 С). Когда вы добавляете тепло, естественно вырабатываемое двигателем, температура в моторном отсеке может достигать 150 или 180 градусов по Фаренгейту (65-80 C). С другой стороны, микроконтроллер, встроенный в видеомагнитофон, совершенно не защищен.

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

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

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

Что такое микроконтроллер? Взгляд внутрь микроконтроллера | Стрела.ком

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

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

Микроконтроллер (иногда называемый MCU или блоком микроконтроллера) представляет собой единую интегральную схему (ИС), которая обычно используется для определенного приложения и предназначена для выполнения определенных задач.Прекрасными примерами являются продукты и устройства, которыми в определенных ситуациях должно управляться автоматически, например бытовая техника, электроинструменты, системы управления автомобильными двигателями и компьютеры, но микроконтроллеры далеко не ограничиваются этими приложениями.

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

Внутри микроконтроллера: основные компоненты

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

Рис. 1: Части микроконтроллера. (Источник: Max Embedded)

Проект процессора микроконтроллера

Центральный процессор, иногда называемый процессором или микропроцессором, управляет всеми потоками инструкций/данных, которые он получает. Вы можете думать о нем как о мозге системы, обрабатывающем все поступающие данные и выполняющем необходимые инструкции.Его двумя основными компонентами являются арифметико-логическое устройство (ALU), которое выполняет арифметические и логические операции, и управляющее устройство (CU), которое обрабатывает выполнение всех инструкций процессора. На рис. 2 показан обычный «машинный цикл», через который проходит ЦП.

Рис. 2: Типичный машинный цикл, выполняемый ЦП. (Источник: Компьютер Хоуп)

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

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

Использование флэш-памяти в микроконтроллерах

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

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

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

Интерфейс последовательной шины

Интерфейс последовательной шины — это последовательная связь в микроконтроллере, отправляющая данные по одному биту за раз. С платами микроконтроллеров он соединяет ИС с сигнальными дорожками на печатной плате (PCB). Для ИС они используют последовательную шину для передачи данных, чтобы уменьшить количество контактов в корпусе, что делает их более экономичными.Примерами последовательных шин в ИС являются SPI или I2C.

Порты ввода/вывода микроконтроллера

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

Рисунок 3: Общие компоненты ввода и вывода, которые используются для микроконтроллера. (Источник: Маршалл Болл)

См. соответствующий продукт
См. соответствующий продукт
См. соответствующий продукт
См. соответствующий продукт

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

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

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

Посмотрите на разницу между популярным микроконтроллером Arduino Uno Rev3 и популярным одноплатным компьютером Raspberry Pi 3.

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

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

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

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

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

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

Внутри микроконтроллера

Как мы объясняли выше, в микроконтроллер встроены различные элементы, такие как ЦП, ОЗУ, ПЗУ и т. д.

ЦП

ЦП

аналогичен процессору в компьютере, который в основном состоит из арифметического и логического блока (АЛУ), блока управления и массива регистров. Как следует из названия, АЛУ выполняет все арифметические и логические операции над данными, полученными от устройств ввода или памяти. Массив регистров состоит из серии регистров, таких как аккумулятор (A), B, C, D и т. Д., Которые действуют как временные ячейки памяти быстрого доступа для обработки данных. Как видно из названия, блок управления управляет потоком инструкций и данных по всей системе.

ОЗУ

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

ПЗУ или память программ

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

Порты ввода/вывода (I/O)

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

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

Часы

Микроконтроллеру требуются часы, поскольку он работает и управляется последовательной логикой, как описано выше.Источник синхронизации может быть внешним, как кварцевый генератор, или внутренним, как RC-генератор. Различные микроконтроллеры будут иметь разные параметры тактирования. Некоторые продвинутые микроконтроллеры даже имеют внутреннюю PLL (фазовую автоподстройку частоты) или FLL (цикл частотной автоподстройки частоты) для умножения тактовой частоты на более высокие частоты.

Периферийные устройства

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

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

  • UART, SPI, I2C для последовательной связи.
  • Таймеры/счетчики
  • Модули захвата/сравнения/ШИМ
  • Аналого-цифровой преобразователь

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

Представьте, что вы хотите построить большое здание. Использование КИРПИЧЕЙ сделает процесс строительства простым и экономичным. И это также даст вам свободу сделать здание такой формы и размера, какие вам нравятся. Набор инструкций в микроконтроллере — это кирпичики, которые вы можете использовать для решения своей проблемы. Используя эти инструкции, вы можете легко решить сложную программу.

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

На рынке доступны различные микроконтроллеры, произведенные разными компаниями.

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

Серия микроконтроллеров

8051 является одним из самых популярных микроконтроллеров общего назначения. Впервые он производится Intel. В настоящее время мы можем видеть множество клонов микроконтроллеров 8051 с разницей в ОЗУ, ПЗУ, периферийных устройствах и т.д., производимые различными компаниями, такими как Atmel, Texas Instruments, Philips, Infineon и т. д. Микроконтроллеры серии 8051 популярны среди любителей и образовательных целей.

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

PIC означает контроллер периферийного интерфейса. Это серия микроконтроллеров производства Microchip Inc. Она популярна среди профессионалов, студентов и любителей электроники. Он недорог и широко доступен на рынке, а также поставляется с 8-битной, 16-битной и 32-битной архитектурой.

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

ARM

расшифровывается как Advanced RISC Machine, это микроконтроллер компьютера с сокращенным набором команд (RISC). Микроконтроллеры ARM наиболее популярны среди профессионалов. Микроконтроллеры ARM производятся различными компаниями, такими как NXP Semiconductors, STMicroelectronics, Microchip Inc., Atmel и т. д.

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

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

AVR широко распространены среди любителей и студентов. Микроконтроллеры AVR разработаны компанией Atmel, позже приобретенной компанией Microchip.В популярных платах Arduino используется микроконтроллер AVR.

Маленький размер

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

Низкая стоимость

Микроконтроллеры очень дешевы по сравнению с микропроцессорами, поскольку микроконтроллер имеет меньше ОЗУ, ПЗУ и периферийных устройств, встроенных в один чип.

Меньшее энергопотребление

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

Как работают микроконтроллеры? | ОРЕЛ

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

Дорогая, я уменьшил компьютер!

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

Микроконтроллерам не нужно беспокоиться о более широкой картине; они сосредоточены на очень конкретной задаче.

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

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

Микроконтроллеры и компьютеры

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

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

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

Видите черную прямоугольную коробку на этом Arduino? Это микроконтроллер ATmega 328. (Источник изображения)

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

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

Небольшой размер, небольшая стоимость

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

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

Мы также не можем забывать, что многие из этих микроконтроллеров предназначены для работы в довольно неблагоприятных условиях. Например, работающий микроконтроллер в вашем автомобиле, скорее всего, должен иметь дело с температурами от -30°F зимой на Аляске до палящих 134°F в Долине Смерти в разгар лета.

Кристалл 16-битного микроконтроллера производства Texas Instruments, посмотрите на все эти тесно расположенные следы! (Источник изображения)

Микроконтроллеры в действии

Как микроконтроллер начинает работать, преобразовывая входные данные, такие как температура и свет, в какое-то полезное действие? Подобно традиционному компьютеру, микроконтроллер использует несколько функций для выполнения своих вычислительных действий, в том числе:

ОЗУ

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

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

ПЗУ

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

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

Счетчик программ

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

Входы и выходы

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

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

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

Некоторые контакты GPIO на Raspberry PI, которые позволяют ему взаимодействовать с нашим физическим миром. (Источник изображения)

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

Работа в реальном времени

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

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

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

Поддержание порядка в микроконтроллерах

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

  • 8051 Микроконтроллеры — эта категория была впервые произведена компанией Intel в 1985 году и остается наиболее популярной как среди любителей, так и среди профессионалов и включает различные возможности ОЗУ и ПЗУ.
  • Контроллер периферийного интерфейса (PIC) Микроконтроллеры — эта категория очень популярна среди любителей и промышленников и известна своей доступностью, низкой стоимостью и тремя вариантами архитектуры — 8-битной, 16-битной и 32-битной.
  • Микроконтроллеры AVR — эта категория основана на 8-битной гарвардской архитектуре и была изобретена в 1966 году компанией Atmel, а также является одним из первых микроконтроллеров, использующих встроенную флэш-память для хранения программ.
  • Микроконтроллеры ARM — эта категория включает 32-битную архитектуру и специально разработана для микроконтроллерных устройств, таких как ваш смартфон, что делает ее одной из самых мощных категорий микроконтроллеров, но также и самой сложной в использовании.

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

На ладони

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

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

Что такое микроконтроллер? Знакомство с основами и многое другое

Бесчисленное количество микроконтроллеров развернуто в Интернете вещей. Вот несколько фактов о MCU, которые должен знать каждый.

Как и в случае с пауками, вы, скорее всего, всегда находитесь в пределах 6 футов от микроконтроллера (MCU).Это связано с тем, что миллионы микроконтроллеров развернуты в Интернете вещей. К сожалению, немногие люди, не являющиеся инженерами, много знают об этих замечательных вездесущих устройствах. Вот несколько ключевых фактов о микроконтроллерах, которые должен знать каждый.

Микроконтроллер Raspberry Pi RP2040

Могучий микроконтроллер

Что такое микроконтроллер? Чем микроконтроллер отличается от микропроцессора (MPU)? Как дизайнеры используют микроконтроллеры? Являются ли Arduinos и Raspberry Pi микроконтроллерами?

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

  • Контроллер — это не то же самое, что процессор. Микроконтроллер — это компьютер на одном кристалле, который включает ядро ​​процессора, память и периферийные устройства ввода-вывода, и обычно используется для определенной функции во встроенной системе. Например, вы можете использовать микроконтроллеры для управления датчиками, записи данных, управления светодиодами, связи с другими микроконтроллерами и многого другого. Память микроконтроллера, порты ввода/вывода и ПЗУ/ОЗУ расположены внутри микросхемы. Периферийные устройства микропроцессора являются внешними по отношению к нему.Итак, ПЗУ/ОЗУ, последовательный интерфейс, таймеры и порты ввода-вывода подключены к микропроцессору.
  • Микроконтроллеры супер-ориентированные . Микроконтроллеры зависят от приложения и используются для предопределенных задач. Например, вы можете использовать микроконтроллер для управления двигателем в роботизированной системе. Напротив, микропроцессоры используются для приложений, требующих интенсивной обработки, таких как запуск больших графических программ на ноутбуках. По сути, вы не используете Intel CORE i5 для выполнения работы микроконтроллера.
  • Микроконтроллеры могут многое с очень небольшими затратами. Микроконтроллер не обеспечивает высокую скорость и большой объем памяти микропроцессора. Подумай об этом. У микроконтроллера есть задача, специфичная для приложения, и поэтому он не требует захватывающей дух скорости и тонны памяти, в то время как микропроцессор будет вызываться для выполнения сложных, ресурсоемких задач. Тактовая частота MCU может составлять 300 МГц по сравнению с частотой процессора 4 ГГц.
  • 8 бит не мертвы. В начале 2000-х некоторые технические журналисты заявили, что «8 бит мертв» из-за распространения новой 32-битной технологии. Вещи наверняка изменились. С бурным развитием IoT недорогие 8-битные микроконтроллеры пользуются большим спросом для использования в самых разных приложениях, включая автомобильные системы управления, аэрокосмические приложения, промышленную автоматизацию, носимые электронные устройства, робототехнику и медицинское оборудование.
  • Микроконтроллеры повсюду. Интернет вещей включает миллиарды 8-, 16- и 32-разрядных устройств. Проще говоря, микроконтроллеры используются везде: автомобили, самолеты, бытовая техника, игрушки, системы наблюдения, промышленные предприятия и медицинские приборы. Помните старую поговорку, что вы всегда находитесь на расстоянии 6 футов от паука? В эту эпоху Интернета вещей можно с уверенностью предположить, что прямо сейчас у вас есть несколько микроконтроллеров поблизости.
    Микроконтроллер Maxim MAX78000 крупным планом

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

А вот отличное видео про микроконтроллер Raspbery Pi RP20240.

Микроконтроллеры — обзор | ScienceDirect Topics

1.2 Микроконтроллерные системы

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

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

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

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

Микроконтроллеры также можно программировать с использованием языков высокого уровня, таких как BASIC, PASCAL и C.Преимущество языков высокого уровня заключается в том, что их гораздо легче выучить, чем язык ассемблера. Кроме того, очень большие и сложные программы могут быть легко разработаны с использованием языка высокого уровня. В этой книге мы будем изучать программирование высокопроизводительных 8-разрядных микроконтроллеров PIC с использованием двух популярных языков программирования C: mikroC Pro для PIC, разработанного mikroElektronika (www.mikroe.com), и MPLAB X IDE, разработанного компанией Microchip (www.microchip.com).

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

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

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

Рисунок 1.1. Система контроля уровня жидкости на базе микроконтроллера.

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

Рис 1.2. Система контроля уровня жидкости с клавиатурой и ЖК-дисплеем.

Мы можем сделать нашу конструкцию еще более сложной (см. рис. 1.3), добавив звуковой сигнал, который информирует нас, если уровень жидкости находится за пределами требуемой отметки. Также актуальный уровень в любой момент можно ежесекундно отправлять на ПК для архивации и дальнейшей обработки. Например, на ПК можно построить график суточного изменения уровня жидкости. В систему можно добавить беспроводной интерфейс (например, Bluetooth или RF) или подключение к Интернету, чтобы уровень жидкости можно было контролировать или контролировать удаленно.На рис. 1.4 показана блок-схема модуля Bluetooth, подключенного к микроконтроллеру.

Рисунок 1.3. Более сложный контроллер уровня жидкости.

Рисунок 1.4. Использование Bluetooth для удаленного мониторинга и управления.

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

Еще одним примером системы на основе микроконтроллера является управление скоростью двигателя постоянного тока (DC).На рис. 1.5 показана блок-схема такой системы. Здесь датчик скорости считывает текущую скорость двигателя и сравнивает ее с желаемой скоростью (которая считается аналоговой). Сигнал ошибки между желаемой и фактической скоростью преобразуется в цифровую форму и подается на микроконтроллер. Алгоритм управления, работающий на микроконтроллере, генерирует управляющие сигналы, которые преобразуются в аналоговую форму и подаются на усилитель мощности. Выход усилителя мощности приводит двигатель в движение для достижения желаемой скорости.

Рисунок 1.5. Система управления двигателем постоянного тока.

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

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

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

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

Автор: alexxlab

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

Ваш адрес email не будет опубликован.