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

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

Содержание

Что такое микроконтроллер и как он устроен

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

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

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


Назначение и преимущества микроконтроллеров

Основное назначение микроконтроллеров — управление различными электронными устройствами и системами. Их преимущества:

  • Компактность — все необходимое «железо» в одном чипе
  • Низкое энергопотребление
  • Невысокая стоимость
  • Надежность за счет меньшего количества компонентов
  • Возможность программирования под конкретную задачу

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

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

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

  • 8-битные: AVR (Atmel), PIC (Microchip)
  • 16-битные: MSP430 (Texas Instruments)
  • 32-битные: ARM Cortex-M (различные производители)

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

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

Для программирования микроконтроллеров используются различные языки и среды разработки:


  • Ассемблер — низкоуровневый язык, обеспечивает максимальную производительность и минимальный размер кода
  • C/C++ — наиболее популярный выбор, сочетает удобство разработки и эффективность
  • Специализированные языки (например, BASIC для некоторых PIC-контроллеров)
  • Визуальные среды программирования (Scratch, FLProg и др.)

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

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

Микроконтроллеры применяются практически во всех сферах современной техники:

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

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

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

Основные тенденции в развитии современных микроконтроллеров:


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

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

Выбор микроконтроллера для проекта

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

  • Требуемую производительность
  • Необходимый объем памяти программ и данных
  • Набор периферийных устройств
  • Энергопотребление
  • Стоимость
  • Доступность инструментов разработки
  • Наличие готовых библиотек и примеров кода

Правильный выбор микроконтроллера позволит оптимизировать затраты на разработку и производство устройства.

Заключение

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



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

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



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

Впервые интерес к МК у меня возник, когда я учился в 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 Ваше всё. МК расчитаны на использование в «железках» — блоки управления, платы, контроллеры итд итп, это не полноценный компьютер, а контроллер. И ожидать от него следует соответственно. Благо сейчас полно примеров на ютубе, и я надеюсь, что мой опыт начинания с нуля будет не таким горьким и моя статья кому-нибудь, да поможет.

Что такое микроконтроллеры — назначение и устройство

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

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

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

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

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

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

Какие бывают микроконтроллеры

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

Какие бывают микроконтроллеры:

  • Microchip PIC,
  • Atmel AVR;
  • ATTiny26L;
  • ATMega8515 и пр.

Atmel AVR имеют главный нюанс — выполнение каждой команды по 1 или 2 периода тактовой частоты. Им можно сделать несколько простеньких программок в «графическом программировании» Alghorytm Builder.

Стоит обязательно упомянуть о такой подразновидности как ARDUINO, микроплата которого построена на базе контроллера ATMega168, то есть это тот самый AVR, но бутлоадер, что позволяет прошивать его через USB и программировать на упрощенном СИ, который назвали Processing.

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

А что же такое-то микроконтроллер (МК)? Если сказать по-простому, то фактически это целый компьютер в одной микросхеме! Просто он очень простой по характеристикам (по сравнению с современными ПК, так как есть микроконтроллеры, явно мощнее старые Спектрум и даже за и 486. И предназначен для решения задач в различных «встроенных» системах.

Как устроен микроконтроллер

То есть в микроконтроллере являются:

  • арифметико-логическое устройство (процессор), который выполняет вычисления и логические операции;
  • Оперативная память (RAM)
  • Память программ (Flash), что является аналогом жесткого диска ПК, в ней хранится программа-прошивка;
  • энергонезависимая память (EEPROM), туда программа может сохранять данные, которые не будут исчезать при отключении питания. Память программ также энергонезависимая, но сохранять туда данные во время работы программа не может (в принципе это возможно, но так не делают по причине ограниченного количества циклов записи-стирания (10000 для AVR))
  • Порты ввода-вывода, которые используются для связи с «внешним миром». Если в ПК порты стандартизированы и имеют каждый свое назначение, то это просто выводы, которые можно настроить программно в зависимости от пожеланий разработчика устройства на МК.
  • Другая периферия, например, аналогово-цифровой преобразователь (фактически измеряет значение напряжения на входе, выводя результат в цифровой форме), аналоговый компаратор (сравнивает напряжения аналоговых сигналов и выдает значение больше / меньше чем 1 или 0), таймеры, которые используются для отмеривания отрезков времени, задержек и других функций.
  • Также много МК имеют встроенные интерфейсы UART (последовательный порт), JTAG (протокол для отладки программы внутри контроллера), USB и другие.

Назначение микроконтроллеров

А теперь поговорим о область применения МК. Здесь только не придумаешь:

  1. Использование для замены сложных логических схем. Если нет требований к быстродействию, потому что все же программа, будет вычислять вашу логическую функцию может вносить задержку значительно больше, чем схема, построенная на элементах дискретной логики (микросхемы серии К155, К176 и аналогичные).
  2. Одним из примеров является, например, схема, реализующая динамическую индикацию на светодиодных семисегментных индикаторах. На логических элементах 4-х разрядная схема динамической индикации выглядит примерно так:

    Как видим, работа с датчиками, а также приводами и управление освещением осуществляется с помощью микроконтроллера С8051. А он, в свою очередь связан с ПК, планшетом или другим устройством с полноценной операционной системой.
  3. Применение в различных роботизированных устройствах, включая беспилотные летательные аппараты;
    • Например, квадрокоптер руководствуется платой «Crius MultiWii SE», которая построена на микроконтроллере AVR ATMEGA328P. Он обрабатывает сигналы с датчиков углов наклона, ускорений, давления, магнитного поля (компас), и позволяет осуществлять стабилизацию полета
  4. Просто разные интересные гаджеты, типа часов, термометров, один из примеров — это часы, представленны здесь:
  5. Блоки управления бытовой техники (стиральная машина, кухонные комбайны, микроволновые печи и т.д.), аудио техникой (регулировка с пультов д / у). также часто используются в качестве управляющих устройств в стабилизаторах напряжения. Например, релейные стабилизаторы в основном построены на микроконтроллере, который, измеряя представленную на вход АЦП напряжение, делает вывод, как следует включить обмотки трансформатора, чтобы на выходе было около 220.
  6. Различные программаторы и другие устройства, выступают преобразователями интерфейса от ПК к другим устройствам. Например, K-Line адаптер для диагностики инжекторных двигателей.

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

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

Для микроконтроллеров AVR семейства Tiny характерно наличие одного или двух таймеров. Сказываются они Timer0 и Timer1. Обычно один из таймеров имеет упрощенный набор функций (Timer0), а второй — расширенный (Timer1). Если в МК только один таймер, то он в большинстве случаев имеет расширенный набор функций.
Этот таймер оснащен расширенным набором функций. В микроконтроллере ATtiny 26 он 8-ми разрядный, как и Timer0. Список функций, которые может выполнять данный узел:

  1. Отсчет временных интервалов
  2. Генерация прерывания по переполнению счетчика.
  3. Аппаратная генерация Сигнал с широтно-импульсной модуляцией (ШИМ) (2 канала).
  4. Выполнение сравнения значения счетчика с предварительно заданными значениями регистров OCR1A, OCR1B и генерация соответствующих прерываний при совпадении.
  5. Возможность тактирования как от системного тактового генератора (fc) (синхронный режим), так и от внутренней схемы ФАПЧ с частотой 64 МГц (fpck). (Асинхронный режим). Конструктивно процессор выполняется в виде одной микросхемы (иногда — нескольких). Микросхема состоит из пластикового или керамического корпуса, внутри которого содержится миниатюрная полупроводниковая подложка (рис. 1). На этой подложке лазером «начертаны» все электронные схемы микропроцессора. Входы и выходы схемы на подложке соединены с металлическими выводами, расположенных по бокам или снизу корпуса микросхемы.

Рассмотрим самый простой метод — счетчик считает в обычном режиме — циклически из-за переполнения. Задействовано также прерывания по сравнению, допустим с регистром OCR1A. В прерывании по переполнению мы будем включать выход OUT, подавая на него лог.1. В прерывании сравнения Timer1CompA будем выключать выход, подавая на него лог.0.

Итак, мы получим последовательность импульсов, которые идут с одинаковым периодом (равным периоду переполнения счетчика, который можно вычислить как 256 / fт), где fт — частота тактирования таймера. Длина импульса будет пропорциональна значение в регистре OCR1A, чем больше значение, тем позже выключится выход, тем длиннее будет импульс и меньше пауза.

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

Для включения аппаратного ШИМ модулятора существует соответствующий флаг в управляющих регистрах. При переходе в ШИМ режиме работа таймера несколько отличается от стандартного режима. Здесь по умолчанию таймер считает не до переполнения, а до значения, что записано в регистре OCR1С. При достижении равенства значений TCNT1 и OCR1C счетчик сбрасывается в 0. Это позволяет точно устанавливать частоту импульсов, она здесь зависит не только от частоты тактирования, а и от значения OCR1C.

Наличие двух регистров сравнения OCR1A и OCR1B позволяет получить два канала ШИМ модулятора (но с одинаковой частотой). То есть можно легко управлять двумя однотипными нагрузками, например, независимо изменять яркость двух светодиодных ламп.

Следует заметить, что значение регистров OCR1A и OCR1B могут лежать в диапазоне от 0 до значения OCR1C. Конечно, никто не запрещает записать туда значение которых превышает регистр OCR1C, но в таком случае мы будем иметь на выходе сигнал с постоянным уровнем а не импульсную последовательность, так как значение TCNT1 никогда не достигнет условия равенства с регистром сравнения, согласно сигнал на выходе не будет меняться.

ШИМ модулятор в МК ATTiny 26 имеет как прямые выходы OC1A, OC1B так и инверсные OC1A, OC1B. При том уровне на инверсных выходах в ШИМ режиме изменяются не одновременно с изменением уровней прямых выходов. Переход из 0 в 1 инверсного импульса происходит на один период тактовой частоты таймера позже, чем переход из 1 в 0 на прямом выходе, а обратный переход из 1 в 0 на инверсном выходе происходит наоборот раньше на период чем переход из 0 в 1 на прямом. Включение прямых и инверсных выходов, а также порядок изменения сигнала на них можно изменять с помощью управляющих регистров. Стандартное формирования ШИМ сигнала таймером ATTiny 26 показано на рисунке: Следует отметить, что значение в регистрах OCR1A и OCR1B меняются в момент обнуления счетчика. Это реализовано аппаратно с помощью так называемых буферных регистров, то есть программа может изменить значение в любой момент времени, но запись его в регистры сравнения произойдет в момент перехода счетчика через 0, до этого момента они хранятся в буфере.

Выводы

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

Опубликовано: 2020-06-30 Обновлено: 2021-08-30

Автор: Магазин Electronoff

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

Микроконтроллер 1993 года с УФ стиранием памяти 62E40 европейской фирмы STMicroelectronics

Микроконтроллер ATtiny2313 американской фирмы Atmel

СБИС контроллера на плате управления жёстким диском Fujitsu MAP3735NC

Микроконтро́ллер (англ.  Micro Controller Unit, MCU) — микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает на одном кристалле функции процессора и периферийных устройств, содержит ОЗУ или ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи.

Содержание

  • 1 История
  • 2 Описание
    • 2.1 Известные семейства
  • 3 Применение
  • 4 Программирование
  • 5 См. также
  • 6 Литература
  • 7 Ссылки
  • 8 Примечания

История

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

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

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

В 1976 году[1] американская фирма Intel выпускает микроконтроллер i8048. В 1978 году фирма Motorola выпустила свой первый микроконтроллер MC6801, совместимый по системе команд с выпущенным ранее микропроцессором MC6800. Через 4 года, в 1980 году, Intel выпускает следующий микроконтроллер: i8051. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер i8051 являлся для своего времени очень сложным изделием — в кристалле было использовано 128 тыс. транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре i8086.

На сегодняшний день существует более 200 модификаций микроконтроллеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, 16-битные MSP430 фирмы TI, а также 32-битные микроконтроллеры, архитектуры ARM, которую разрабатывает фирма ARM Limited и продаёт лицензии другим фирмам для их производства. Несмотря на популярность в России микроконтроллеров упомянутых выше, по данным Gartner Grup от 2009 года мировой рейтинг по объёму продаж выглядит иначе: [2] первое место с большим отрывом занимает Renesas Electronics на втором Freescale, на третьем Samsung, затем идут Microchip и TI, далее все остальные.

В СССР велись разработки оригинальных микроконтроллеров, также осваивался выпуск клонов наиболее удачных зарубежных образцов[3][4][5],[6].
В 1979 году в СССР НИИ ТТ разработали однокристальную 16-разрядную ЭВМ К1801ВЕ1, микроархитектура которой называлась «Электроника НЦ».

Описание

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

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

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

  • универсальные цифровые порты, которые можно настраивать как на ввод, так и на вывод;
  • различные интерфейсы ввода-вывода, такие как UART, I²C, SPI, CAN, USB, IEEE 1394, Ethernet;
  • аналого-цифровые и цифро-аналоговые преобразователи;
  • компараторы;
  • широтно-импульсные модуляторы;
  • таймеры;
  • контроллеры бесколлекторных двигателей;
  • контроллеры дисплеев и клавиатур;
  • радиочастотные приемники и передатчики;
  • массивы встроенной флеш-памяти;
  • встроенный тактовый генератор и сторожевой таймер;

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

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

  • MCS 51 (Intel)
  • MSP430 (TI)
  • ARM (ARM Limited)
  • AVR (Atmel)
    • ATmega
    • ATtiny
    • XMega
  • PIC (Microchip)

Применение

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

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

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

  • устройств промышленной автоматики — от программируемого реле и встраиваемых систем до ПЛК,
  • систем управления станками

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

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

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

  • GNU Compiler Collection — Поддерживает ARM, AVR, MSP430 и многие другие архитектуры
  • CodeVisionAVR (для AVR)
  • IAR [1] (для любых МК)
  • WinAVR (для AVR и AVR32)
  • Keil (для архитектуры 8051 и ARM)
  • HiTECH (для архитектуры 8051 и PIC от Microchip)

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

См. также

  • Программируемый логический контроллер
  • Система на кристалле

Литература

  • Бродин В. Б., Калинин А. В. Системы на микроконтроллерах и БИС программируемой логики. — М.: ЭКОМ, 2002. — ISBN 5-7163-0089-8
  • Жан М. Рабаи, Ананта Чандракасан, Боривож Николич. Цифровые интегральные схемы. Методология проектирования = Digital Integrated Circuits. — 2-е изд. — М.: Вильямс, 2007. — ISBN 0-13-090996-3
  • Микушин А. Занимательно о микроконтроллерах. — М.: БХВ-Петербург, 2006. — ISBN 5-94157-571-8
  • Новиков Ю. В., Скоробогатов П. К. Основы микропроцессорной техники. Курс лекций. — М.: Интернет-университет информационных технологий, 2003. — ISBN 5-7163-0089-8
  • Фрунзе А. В. Микроконтроллеры? Это же просто! — М.: ООО «ИД СКИМЕН», 2002. — Т. 1. — ISBN 5-94929-002-X
  • Фрунзе А. В. Микроконтроллеры? Это же просто! — М.: ООО «ИД СКИМЕН», 2002. — Т. 2. — ISBN 5-94929-003-8
  • Фрунзе А. В. Микроконтроллеры? Это же просто! — М.: ООО «ИД СКИМЕН», 2003. — Т. 3. — ISBN 5-94929-003-7

Ссылки

  • История микроконтроллеров
  • Параметрический поиск и описания архитектур

Примечания

  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.

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

Содержание

  • 1 Как это работает?
  • 2 Элементы микроконтроллера
    • 2.1 CPU
    • 2.2 ОЗУ
    • 2.3 ПЗУ или память программы
    • 2.4 Микроконтроллер?
    • 4 Приложения
    • 5 Различные микроконтроллеры
      • 5.1 8051 Микроконтроллеры
      • 5.2 Pic Microcontrollers
      • 5.3 Microcontrollers Arm
      • 5.4 AVR Microcontrollers
    • 6 Преимущества
      • 6.1 Малый размер
      • 6.2 Низкая стоимость
      • 9000 6,3 Меньше энергии 9001
      • 9000 29002.

        .

        .

        .

        . 21000 21000 21000 21212.900 21212.900 21212.9002 9000 21000 21000 29002 9000 29002 9000 21000 21000 29002 9000 29002 9000 29002 9000 2

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

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

        Рекомендуемая литература: Что такое микропроцессор?

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

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

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

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

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

        ЦП

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

        RAM

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

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

        ПЗУ означает постоянную память. В старых микроконтроллерах флэш-память была однократно программируемой, поэтому она называется ПЗУ. Но в последних микроконтроллерах он перепрограммируемый, т.е. 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.

        Малый размер

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

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

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

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

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

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

        Несмотря на то, что платы Raspberry Pi и Arduino чрезвычайно популярны среди производителей, эти два устройства служат совершенно разным целям. Несмотря на то, что Pi и Arduino действительно пересекаются, они работают совершенно по-разному. Это потому, что один — микроконтроллер, а другой — одноплатный компьютер (SBC). Узнайте все о том, что такое микроконтроллер, на что он способен и многое другое!

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

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

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

        Из чего сделан микроконтроллер?

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

        Детали, из которых состоит микроконтроллер:

        • Процессор
        • ОЗУ
        • ПЗУ
        • Счетчик программ
        • Ввод/вывод

        Чем микроконтроллер отличается от одноплатного компьютера?

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

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

        Одноплатный компьютер:

        • Запускает операционную систему с программами, работающими поверх этого
        • Возможность многозадачности

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

        • Запускает одну программу
        • Выполняет отдельную задачу

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

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

        Микроконтроллер:  Используется во встроенных устройствах. Содержит процессор, память и ввод/вывод на одной плате

        Микропроцессор:  Только ЦП

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

        Наиболее ярким примером микроконтроллера является Arduino. Существует множество различных плат Arduino, которые подходят для самых разных целей. Arduino Uno R3 — хороший многоцелевой микроконтроллер, а Arduino Every с метким названием — отличный микроконтроллер для общего использования. Специализированные платы Arduino, такие как Arduino Nano 33 BLE и Arduino Nano 33 IoT, предназначены для маломощных проектов Интернета вещей.

        Кроме того, вы найдете множество альтернатив Arduino. Brainfuino, Lilypad Arduino, Diavolino и NodeMCU — все микроконтроллеры, совместимые с интегрированной средой разработки (IDE) Arduino. Adafruit предлагает множество отличных микроконтроллеров, таких как Circuit Playground Express, Feather ESP32 и Adafruit Feather ESP8266.

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

        • Ардуино Уно R3
        • Arduino Nano 33 BLE/Arduino Nano 33 IoT
        • Ардуино Каждые
        • Circuit Playground Express
        • Adafruit Feather ESP8266/Adafruit Feather с ESP32
        • Лилипад Ардуино

        Какие типы микроконтроллеров существуют?

        Обычно можно встретить три основных разновидности микроконтроллеров, определяемых их микропроцессорами: 8-битные, 16-битные и 32-битные. 8-битный микроконтроллер очень маломощный, как с точки зрения вычислительной мощности, так и с точки зрения энергоэффективности. Как правило, 8-битные микроконтроллеры совместимы с Arduino IDE, но не могут быть запрограммированы с помощью более продвинутых сред, таких как MakeCode или CircuitPython. ATtiny85 — это 8-битный микроконтроллер, который, соответственно, имеет 8-битный процессор с тактовой частотой 8 МГц. ATmega328P — это 8-битный микроконтроллер, обычно работающий на частоте 16 МГц.

        32-разрядные микроконтроллеры

        быстрее и мощнее, но при этом энергоэффективны. Мало того, что 32-разрядный процессор в 32-разрядном микроконтроллере мощнее, 32-разрядные микроконтроллеры обладают тем преимуществом, что могут обрабатывать больше ОЗУ и флэш-памяти, а также более высокие тактовые частоты. Например, вы найдете множество 32-битных микроконтроллеров, таких как SAMD21G, которые оснащены процессорами ARM Cortex M0+ и работают на частоте 48 МГц. Благодаря большему вводу-выводу, оперативной памяти, флэш-памяти и значительно более высоким тактовым частотам многие 32-разрядные микроконтроллеры могут работать с расширенными средами, включая CircuitPython и MakeCode. Таким образом, существует большая гибкость в программировании для 32-битных микроконтроллеров. 16-разрядные микроконтроллеры находятся где-то посередине с большими возможностями, чем у 8-разрядных микроконтроллеров, и меньшей вычислительной мощностью, чем у 32-разрядных микроконтроллеров.

        Типы микроконтроллеров:

        • 8-битный
        • 16-битный
        • 32-разрядная

        Что можно делать с микроконтроллером?

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

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

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

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

        Лучшие приложения для микроконтроллеров:

        • Проекты умного дома (например, системы безопасности, мониторы посещаемости, умное садоводство и т. д.)
        • Управление периферийными устройствами (например, мигающие светодиоды, управление сервоприводами и т. д.)
        • Носимая техника (косплей, фитнес и т. д.)
        • …и многое другое!

        Как выбрать лучший микроконтроллер для ваших нужд

        Доступно множество микроконтроллеров. Поиск правильного MCU зависит от ваших потребностей. Цена является одним из соображений, хотя большинство микроконтроллеров довольно недорогие. Какие фреймворки вы хотите запускать и совместимое программирование — это ключ к успеху. Хотя многие микроконтроллеры совместимы с Arduino IDE, другие могут работать с CircuitPython, MakeCode и другими платформами. И вариант использования является ключевым. Какой микроконтроллер вам понадобится для интеграции в носимые устройства, отличается от хорошего микроконтроллера для проекта умного дома.

        Что искать в микроконтроллере:

        • Цена
        • Размер/форма
        • Совместимость с платформами/программами (Arduino IDE, CircuitPython, MakeCode и т. д.)
        • Пример использования (носимые устройства, умный дом и т. д.)

        Что такое микроконтроллер — Заключительные мысли

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

        Ваша очередь: Какие микроконтроллеры вы используете и что вы недавно сделали с микроконтроллером?

        Мо Лонг — редактор, писатель и технический специалист, особенно ценящий Linux, Raspberry Pi и ретро-игры. Пишет в Интернете с 2013 года, у Мо есть подписи на MakeUseOf, TechBeacon, DZone, SmartHomeBeginner, DEV.to, DVD Netflix и Electropages. Вы можете прочитать его статьи о кино и поп-культуре на Cup of Moe, ознакомиться с его техническими обзорами, руководствами и учебными пособиями на Tech Up Your Life и услышать его мысли о фильмах в подкасте Celluloid Fiends. Помимо написания и редактирования, у Мо есть онлайн-курс «Руководство для начинающих по партнерскому ведению блога с нуля». Когда он не играет на клавиатуре, ему нравится бегать, читать, смотреть кино, слушать винил и играть со своей собакой Себастьяном.

        Следовать

        Оставить отзыв…

        Предыдущий Далее

        Статьи по теме

        Виды микроконтроллеров | Как выбрать микроконтроллер

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

        Сохранить Подписаться

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

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

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

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

        Все микроконтроллеры содержат процессор, выполняющий код, и набор схем, называемых «периферийными устройствами», которые обеспечивают дополнительные функции: USB, последовательные интерфейсы, АЦП, таймеры и т. д. Самая большая разница между микроконтроллерами заключается во взаимосвязи между процессором, периферийными устройствами и физическими выводами, которые выходят из корпуса.

        8-разрядные микроконтроллеры

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

         

        Платы Arduino Uno и Adafruit Metro 328 (совместимые с Uno) являются наиболее распространенными платами на рынке 8-разрядных систем с большим количеством доступного программного обеспечения. Крошечный Adafruit Trinket также 8-битный с меньшим количеством функций.

         

        Периферийные устройства 8-битного микроконтроллера подключаются более или менее напрямую к процессору и физическим контактам.

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

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

        32-разрядные микроконтроллеры

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

         

        Периферийные устройства в 32-разрядном микроконтроллере больше похожи на отдельные устройства, подключенные к одной или нескольким шинам данных, и почти все является периферийным. В SAMD21 (который мы используем в Adafruit Circuit Playground Express и Adafruit Feather M0 Express) тактовая частота ЦП, ОЗУ и массив флэш-памяти являются периферийными устройствами.

        Периферийные устройства — это «дополнительные функции», выходящие за рамки простой обработки чисел, такие как контакты цифрового ввода-вывода, емкостное касание, АЦП, SPI, I2C, UART, I2S и т. д.

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

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

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

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

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

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

        Устройства системы на кристалле (SOC)

        SOC обычно представляет собой 32-разрядный микроконтроллер, предназначенный для определенных целей. Это сделало необходимыми компромиссы, чтобы быть хорошим в этом деле, за счет всесторонней производительности.

         

        Одним из примеров является ESP8266: он предназначен для работы с Wi-Fi по очень низкой цене. У него мало входных/выходных контактов и периферийных устройств, но одним из периферийных устройств является WiFi-радио.

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

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