Типы микроконтроллеров. Типы и архитектура микроконтроллеров: полный обзор

Какие бывают основные типы микроконтроллеров. Как устроена архитектура микроконтроллера. Чем отличаются 8-, 16- и 32-битные микроконтроллеры. Какие особенности имеет память в микроконтроллерах.

Содержание

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

Микроконтроллеры (МК) подразделяются на несколько основных типов в зависимости от разрядности и архитектуры:

  • 8-битные микроконтроллеры (например, семейства 8051, PIC, AVR)
  • 16-битные микроконтроллеры (например, MSP430)
  • 32-битные микроконтроллеры (например, на базе ядер ARM)
  • Цифровые сигнальные процессоры (DSP)

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

Архитектура микроконтроллеров

Архитектура микроконтроллера определяет его внутреннюю организацию и принципы работы. Основные компоненты архитектуры МК:

  • Центральный процессор (ЦПУ)
  • Память программ (ПЗУ)
  • Память данных (ОЗУ)
  • Порты ввода-вывода
  • Периферийные устройства (таймеры, АЦП и др.)

Существует два основных типа архитектуры микроконтроллеров:


Гарвардская архитектура

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

Принстонская архитектура (архитектура фон Неймана)

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

Особенности 8-битных микроконтроллеров

8-битные МК обрабатывают за один такт 8-разрядные данные. Их основные особенности:

  • Простота и низкая стоимость
  • Небольшой объем памяти (обычно до 128 КБ)
  • Низкое энергопотребление
  • Достаточная производительность для многих встраиваемых систем

Наиболее распространенные семейства 8-битных МК: 8051, PIC, AVR. Они широко применяются в бытовой технике, автомобильной электронике, промышленной автоматике.

16-битные микроконтроллеры

16-битные МК занимают промежуточное положение между 8- и 32-битными. Их особенности:


  • Более высокая производительность по сравнению с 8-битными
  • Расширенное адресное пространство (до 1 МБ)
  • Улучшенная работа с 16-битными данными
  • Наличие развитой периферии

Популярное семейство 16-битных МК — MSP430 от Texas Instruments. Оно оптимизировано для применений с низким энергопотреблением.

32-битные микроконтроллеры

32-битные МК обеспечивают наибольшую производительность. Их ключевые особенности:

  • Высокая вычислительная мощность
  • Большой объем памяти (до нескольких МБ)
  • Поддержка операционных систем реального времени
  • Развитая периферия (Ethernet, USB, графические контроллеры и др.)

Наиболее распространены 32-битные МК на базе ядер ARM. Они применяются в сложных встраиваемых системах, мобильных устройствах, автомобильной электронике.

Память в микроконтроллерах

В микроконтроллерах используется несколько типов памяти:

Память программ (ПЗУ)

Предназначена для хранения программного кода. Типы памяти программ:

  • Масочное ПЗУ — программируется при изготовлении
  • PROM — однократно программируемое ПЗУ
  • EPROM — ПЗУ с ультрафиолетовым стиранием
  • EEPROM — электрически перепрограммируемое ПЗУ
  • Flash-память — современный тип перепрограммируемой памяти

Память данных (ОЗУ)

Используется для хранения переменных и промежуточных результатов. Обычно это статическое ОЗУ (SRAM). Объем ОЗУ в микроконтроллерах, как правило, невелик — от нескольких сотен байт до десятков килобайт.


EEPROM для хранения настроек

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

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

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

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

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

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

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

  • Ассемблер — низкоуровневый язык, обеспечивающий максимальную эффективность кода
  • C — наиболее популярный язык для программирования МК
  • Специализированные версии Basic, Pascal и других языков
  • Графические среды программирования (например, Flowcode)

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


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

Микроконтроллеры нашли широкое применение в различных областях:

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

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


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

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

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

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

Для начала следует выяснить, какие, в принципе, разновидности МК сейчас актуальны на рынке. Ведь производителей тысячи, моделей девайсов – миллионы, но если систематизировать весь этот массив информации, то найти подходящее устройство будет значительно проще. В основном, выделяют три разновидности микроконтроллеров, среди которых:

  1. Встраиваемый 8-разрядный микроконтроллер.
  2. 16 и 32-х битные контроллеры соответственно. Их выделяют в отдельный класс, но в интернет-магазинах, зачастую, объединяют, для удобства поиска.
  3. Цифровые процессоры на основе сигнальной системы.

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

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

Для «оживления» любого МК достаточно подать ток определённой частоты на соответствующие контакты, после чего устройство будет доступно для работы. Если разбирать, каким образом выглядит информация для микроконтроллеров в простой аналогии, то это будет двоичный код. То есть, в зависимости от того, подаётся ли напряжение на пин или нет, процессор трактует это, как 1 и 0 соответственно.

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

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

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

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

  1. Схемы для стартовых запусков процессора.
  2. Специальные генераторы, способные отображать информацию в цифровом сигнале – тактовых импульсах.
  3. Главный компьютер – процессор, построенный вокруг кристалла.
  4. Постоянная память. И, по-хорошему, в ней уже должна находиться какая-то заготовленная или оптимальная прошивка под конкретные задачи. Ведь производитель должен был как-то протестировать свой девайс, прежде чем выставлять его на продажу.
  5. Пины, которые послужат для ввода и вывода данных.
  6. Таймер, как условный, так и цифровой. Он необходим для фиксирования количества выполняемых командных циклов. Но, в случае необходимости, всегда можно создать свой, через функции и методы ООП.

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

  1. Устройство вывода – монитор или отладчик для программ, который упростит последующее программирование микроконтроллера. Подойдёт для сложных проектов, где программных отладчиков уже не хватает, или же языков, вроде С-подобных, где они, в принципе, отсутствуют, как инструмент.
  2. Дополнительные блоки памяти, которую можно выделить под буфер обмена, или оперативную память в программах.
  3. Датчик для обработки прерываний, исходящих от других девайсов.
  4. Аналоговые вводы и выводы, которые пригодятся в работе со старой техникой.
  5. Синхронные и асинхронные пины, а также параллельные и последовательные. Наличие позволит улучшить эргономику конечного устройства, например, установить несколько аккумуляторов в параллельном подключении. Такая находка, к тому же, уменьшит минимальное значение заряда на них, увеличив общую емкость.
  6. Дополнительный модуль для внешней памяти. Это будет крайне удобно, если в системе планируется применять тяжелые медиафайлы. Например, для разговаривающих нейросетей и проигрывания музыки.
Пример схемы микроконтроллера

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

Архитектура ядра микропроцессора

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

Внутри Intel 8742 (8-разрядный микроконтроллер с процессором, работающим на частоте 12 МГц, 128 байт ОЗУ, 2048 байт EPROM и I / O в одном чипе)

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

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

Аппаратные средства

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

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

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

память программ, память данных, регистры. — Информатика, информационные технологии

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

Память программ

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

1. ПЗУ масочного типа – Mask ROM. Содержание ячеек ПЗУ этого типа заносится на заводе-изготовителе МК с помощью масок и не может быть заменено или «допрограммировано». Поэтому МК с такой памятью программ следует использовать только после достаточно длительной опытной эксплуатации. Основным недостатком данной памяти является необходимость значительных затрат на создание нового комплекта фотошаблонов и их внедрение в производство. Обычно такой процесс занимает 2 – 3 месяца и является экономически выгодным только при выпуске несколько десятков тысяч приборов. Достоинством ПЗУ масочного типа является высокая надежность хранения информации по причине программирования в заводских условиях с последующим контролем качества.

2. ПЗУ, однократно программируемые пользователем – OTPROM (One-Time Programmable ROM). В незапрограммированном состоянии каждая ячейка памяти однократно программируемого ПЗУ при считывании возвращает код FFh. Программированию подлежат только те разряды, которые должны содержать «0». Если в процессе программирования некоторые разряды какой-либо ячейки памяти были установлены в «0», то восстановить в этих разрядах единичное значение уже невозможно. Поэтому рассматриваемый тип памяти и носит название «однократно программируемые ПЗУ». Технология записи информации состоит в многократном приложении импульсов повышенного напряжения к элементарным ячейкам байта памяти (т.е. к битам), подлежащим программированию. МК с однократно программируемым ПЗУ рекомендуется использовать в изделиях, выпускаемых небольшими партиями.

3. ПЗУ, программируемые пользователем с ультрафиолетовым стиранием – EPROM (Erasable Programmable ROM). ПЗУ данного типа программируются электрическим сигналами и стираются с помощью ультрафиолетового облучения. Ячейка памяти EPROM представляет собой МОП-транзистор с «плавающим» затвором, заряд на который переносится с управляющего затвора при подаче на него высокого напряжения. При этом МОП-транзистор переключается в открытое состояние, и при обращении к ячейке считывается «0». Для стирания содержимого ячейки она облучается ультрафиолетовым светом, который сообщает заряду на плавающем затворе энергию, достаточную для преодоления потенциального барьера и стекания на подложку. Этот процесс может занимать от десятков секунд до нескольких минут. Число циклов стирания/программирования ПЗУ данного типа ограничено и составляет 15-25 раз. Обычно микросхемы EPROM выпускаются в керамическом корпусе с кварцевым окошком для доступа ультрафиолетового света. МК с ПЗУ данного типа имеют высокую стоимость, поэтому их рекомендуется использовать только в опытных образцах изделий.

4. ПЗУ, программируемые пользователем с электрическим стиранием – EEPROM (Electrically Erasable Programmable ROM). Электрически программируемые и электрически стираемые ПЗУ совместили в себе положительные качества рассмотренных выше типов памяти. Максимальное число циклов стирания/программирования ПЗУ типа EEPROM в составе МК обычно равно 100000. Эта память позволяет реализовать побайтное стирание и побайтное программирование. По цене ЕEPROM занимают среднее положение между OTPROM и EPROM. Основное преимущество использования ЕEPROM заключается в том, что можно многократно стирать и программировать МК, не снимая его с платы. Таким способом можно производить отладку и модернизацию программного обеспечения. Это дает огромный выигрыш на начальных стадиях разработки микроконтроллерных устройств или в процессе их изучения, когда много времени уходит на поиск причин программ. Несмотря на очевидные преимущества, только в редких моделях современных МК такая память используется для хранения программ. Связано это с тем, что, во-первых, ПЗУ типа ЕEPROM имеют ограниченную емкость и могут использоваться в качестве резидентной памяти программ только в маловыводных МК с небольшим объемом памяти. Во-вторых, почти одновременно с ЕEPROM появились ПЗУ типа Flash, которые при сходных потребительских характеристиках имеют более низкую стоимость.

5. ПЗУ с электрическим стиранием типа Flash – Flash ROM. Электрически программируемые и электрически стираемые ПЗУ типа Flash функционально мало отличаются от ЕEPROM. Основное отличие состоит в способе стирания записанной информации. Для увеличения объема памяти транзистор адресации каждой элементарной ячейки был удален, что не дает возможности программировать каждый бит памяти отдельно. Память типа Flash стирается и программируется страницами или блоками. Страница, как правило, составляет 8, 16 или 32 байта памяти, блоки могут объединять некоторое число страниц, вплоть до полного объема резидентного ПЗУ МК. Если необходимо изменить содержимое одной ячейки Flash-памяти, потребуется перепрограммировать весь блок. Упрощение декодирующих схем, произошедшее из-за уменьшения числа транзисторов, и, как следствие, снижение стоимости и размеров привели к тому, что МК с Flash-памятью в настоящее время становятся конкурентоспособными не только по отношению к МК с однократно программируемыми ПЗУ, но и с масочными ПЗУ также.

Выше отмечалось, что ЕEPROM ПЗУ практически никогда не используется для хранения программ, но оно имеет режим побайтного программирования. Данное обстоятельство сделало ЕEPROM идеальным энергонезависимым запоминающим устройством для хранения изменяемых в процессе эксплуатации изделия настроек пользователя. В качестве примера достаточно вспомнить современный телевизор: настройки каналов сохраняются при отключении питания. Одной из тенденций совершенствования резидентной памяти 8-разрядных МК стала интеграция на кристалл МК сразу двух моделей энергонезависимой памяти: OTPROM или Flash ROM – для хранения программ и EЕPROM – для хранения перепрограммируемых констант.

Память данных

Память данных (ПД) микроконтроллеров предназначена для хранения промежуточных данных в ходе выполнения программы. В современных микроконтроллерах память данных подразделяется по выполняемым функция и способу реализации на два вида:

1) оперативная память – ОЗУ;

2) память хранения данных в EEPROM.

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

Второй вид ПД – это память хранения данных в EEPROM. Эту память можно использовать для данных, которые необходимо сохранить при выключении электропитания, а также неоперативных данных. Неоперативными данными могут быть настроечные параметры, изменяемые константы. Объем памяти хранения данных небольшой и обычно составляет несколько десятков байт. Эту память нельзя использовать в качестве оперативной. Во-первых, она является очень «медленной». Так время записи в ее ячейку составляет несколько миллисекунд. Во-вторых, она имеет ограниченное количество циклов записи-стирания.

Регистры МК

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

В МК с RISC-процессором все регистры (часто и аккумулятор) располагаются по явно задаваемым адресам. Это обеспечивает более высокую гибкость при работе процессора.

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

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

Статьи к прочтению:

Программирование микроконтроллеров: Урок 2. Организация памяти данных(регистры)


Похожие статьи:

Микроконтроллер — уже не процессор, но ещё и не компьютер

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

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

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

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

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

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

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

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

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

Юрий Суркис

Критерии сравнения типов микроконтроллеров различных фирм

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

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

Это гораздо лучше, чем разрабатывать новые микросхемы под каждую возникающую задачу, особенно с учетом зависимости цены микросхем от их тиража. Однако, при практической реализации, только этих двух микросхем будет недостаточно. Как минимум, понадобятся тактовый генератор, оперативная память (ОЗУ), шинные устройства, устройства ввода/вывода (УВВ) для связи с внешним миром. Первое время все это выпускалось в виде отдельных микросхем (вспомните 580 серию). Однако, одновременно с развитием технологии и увеличением степени интеграции, появилась возможность разместить многое из вышеназванного непосредственно на одном кристалле. Так появились первые МК, например, 8051.

В дальнейшем, МП пошли в своем развитии иным путем, нежели управление какими либо устройствами, оставив эту нишу для МК. Путь развития МП хорошо известен на примере МП фирмы Intel: 8088, 80286, 80386, 80486, Pentium и т.д. Это центральные процессоры электронно-вычислительных машин. Их вычислительные возможности слишком избыточны для подавляющего большинства практических задач по применению в электронных устройствах. Плюс высокая цена, плюс большое количество требуемой периферии.

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

Критерии сравнения типов МК различных фирм

Разрядность

Это способность выполнить за один прием операцию над числом длиной . По сути, разрядность МК совпадает с разрядностью его арифметически-логического устройства (АЛУ). Если, например, АЛУ имеет разрядность , то над двумя числами такой длины любая допустимая операция будет произведена одной командой, вероятнее всего, за один машинный цикл. А над 16-разрядными числами в таком МК придется производить уже целую цепочку операций, включая пересылки, сохранение промежуточного результата и т.д. Таким образом, производительность 16-разрядного МК превышает производительность 8-разрядного не в два, а в значительно большее число раз при прочих равных условиях.

Потребляемая мощность

С окончательным переходом на КМОП технологию, вопрос уменьшения потребляемой мощности связан только с уменьшением тактовой частоты и напряжения питания. Однако, уменьшение тактовой частоты влечет за собой снижение производительности МК. Наиболее разумно выглядит решение о выпуске различных версий МК для различных применений. Так в AVR серии фирмы ATMEL выпускаются и стандартные (90S) и мало потребляющие (90LS) версии с пониженными тактовыми частотами. У фирмы Microchip это 16C и 16LC версии, например.

Кроме этого, практически все МК имеют возможность программного управления режимами энергопотребления. Их может быть более чем один. У 8051 это Idle и Power Down, например. В зависимости от смысла выполняемой программы, МК может находиться в состоянии 90 и более процентов времени (автомобильный брелок). В таких случаях, соответствующими командами МК переводится в один из режимов, когда его потребление уменьшается в десятки раз. Существуют серии МК изначально ориентированные на сверхмалое потребление и батарейное питание, например, MSP430 фирмы Texas Instruments.

Объемы и типы встроенной памяти

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

Если вопрос с ее объемом достаточно ясен: чем больше, тем лучше, но дороже, то с типами памяти возможны варианты. Простейший вариант — однократно программируемая пользователем память (PROM), если не считать, что по заказу МК может быть запрограммирован прямо при изготовлении на заводе (ROM). Такая память дешева, но не предполагает в дальнейшем коррекции ее содержимого и поэтому годится для налаженного серийного производства. Для отладки же предпочтительнее иметь память с возможностью перепрограммирования. Возможны два варианта: ультрафиолетовое (UV) и электрическое стирание (Flash). Микросхемы с УФ стиранием появились значительно раньше более новых Flash типа, однако до сих пор используются в отладочных кристаллах фирмы Microchip, например. Оперативная память начинается с регистров общего назначения, которые иногда называют сверхоперативной памятью.

Однако их число всегда ограничено. Далее, обычно имеется 128 — 512 байт ОЗУ общего назначения. Недостающий объем может быть восполнен подключением внешней, например, недорогой статической памяти значительного объема. Необходимо только помнить об ограничениях МК по способности адресовать большие объемы памяти. В последнее время, на кристаллах МК все чаще помещают EEPROM память сравнительно небольшого объема. В данном случае, ее можно рассматривать как энергонезависимое ОЗУ, что очень удобно для хранения оперативных настроек, например. После выключения/включения МК содержимое этих ячеек не изменяется, в отличие от обычного ОЗУ.

Тактовая частота

Непосредственно и прямо пропорционально влияет на скорость работы МК. Однако, это еще не последняя инстанция, так как в зависимости от архитектурных особенностей, разные МК могут обеспечивать различную производительность при одинаковой тактовой частоте. Более объективным является показатель MIPS — количество миллионов инструкций, выполняемых в секунду. Дело в том, что в различных МК одна и та же инструкция может выполняться за один, два, четыре и более тактов тактовой частоты. Например, в 8051 их требуется целых двенадцать! Только в первом случае каждый мегагерц тактовой частоты дает ровно один MIPS. Для 8051 одному MIPS соответствует 12 МГц.

Состав периферийных устройств

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

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

Собственно УВВ известны еще со времен вышеупомянутой 580-й серии. Это параллельные и последовательные порты, таймеры-счетчики событий, устройства доступа к памяти. Вместо параллельных портов, как таковых, внешние линии МК сейчас программируются индивидуально. Любой из них может работать как на ввод, так и на выдачу сигналов. Разница только в количестве таких универсальных линий, что, в свою очередь, определяется размерами и типом корпуса. Многие МК внутри одного семейства различаются только этим. Универсального последовательного порта USART, как правило, вполне достаточно одного, зато дополнительно МК могут быть оборудованы интерфейсами типа I2C, Microwire, SPI. Таймеры, благодаря универсальности их применения составляют неотъемлемую часть любого МК. Они могут быть 8-ми или 16-разрядными в количестве от одного до шести и более штук.

Что касается доступа к памяти, то в данном случае речь идет о, так называемом, внутрисхемном программировании (ISP). Это позволяет вносить текст программы во внутреннюю память МК уже после установки его на плату. Также зачастую допускается перепрограммирование Flash памяти МК без его демонтажа, более того, по последовательному двухпроводному интерфейсу. Далее, МК оснащаются АЦП и ЦАПами различной разрядности. АЦП, как правило, имеют несколько входов, переключаемых с помощью мультиплексора. Нередко встречаются встроенные модули ШИМ (PWM) регулирования, что полезно для управления мощными нагрузками. Специализированные МК могут содержать на кристалле вообще все, что угодно, от драйверов LCD индикатора до инструментальных усилителей, компараторов, источников опорного напряжения и т.д.

Архитектурные особенности

Важнейшим и принципиальным различием МК является их принадлежность к CISC либо RISC архитектуре. Первая — классическая, Принстонская архитектура предполагает мощный набор одно, двух и трех байтовых команд, которые передаются, наряду с прочими данными, по общей шине данных. Выполнение одной команды, таким образом, растягивается на несколько машинных циклов, зато в итоге мы получаем довольно заметный результат. Идеология RISC (аббревиатура от ), основана на идее резкого уменьшения числа команд с тем, чтобы любая из них могла выполняться за минимальное число тактов. У базового семейства МК Microchip, например, их всего 33. Одна сложная команда заменяется последовательностью нескольких простых, но быстро выполняемых. Однако главный выигрыш заключается в использовании Гарвардской архитектуры с отдельной шиной данных для памяти программ.

Во-первых, появляется возможность одновременно считывать следующую команду из памяти по своей шине и выполнять предыдущую, занимая, если необходимо, общую шину данных. Во-вторых, разрядность шины данных программ может быть какой угодно: 10, 12, 14, 16 или более бит, независимо от разрядности основной шины данных, которая обычно соответствует разрядности самого МК. Таким образом, при длине кодового слова 12 и более, мы получаем не такой уж сокращенный набор команд, но считываются и выполняются они, тем не менее, за один машинный цикл, который может состоять всего из одного такта. У МК Atmel AVR в базовый набор входит 192 команды. Из других архитектурных особенностей можно отметить наличие/отсутствие у МК конвейерного выполнения команд. Однако чаще всего это остается для пользователя, то есть он об этом может и не знать. Достаточно иметь данные о конечной производительности данного МК.

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

Что находится в разных типах памяти микроконтроллера?

.текст

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

.bss и .data

Существует три типа данных, которые могут быть размещены вне функции или процедуры; первая — это неинициализированные данные (исторически называемые .bss, которые также включают в себя 0 инициализированных данных), а вторая — инициализированные (не-bss) или .data. Название «bss» исторически происходит от «Block Started by Symbol», использовавшегося в ассемблере около 60 лет назад. Обе эти области области расположены в оперативной памяти.

По мере компиляции программы переменные будут распределены в одну из этих двух общих областей. На этапе связывания все элементы данных будут собраны вместе. У всех переменных, которые необходимо инициализировать, будет выделена часть памяти программы для хранения начальных значений, и непосредственно перед вызовом main () переменные будут инициализированы, как правило, модулем с именем crt0. Раздел bss инициализируется для всех нулей одним и тем же кодом запуска.

С несколькими микроконтроллерами есть более короткие инструкции, которые разрешают доступ к первой странице (первые 256 мест, иногда называемые страницей 0) ОЗУ. Компилятор для этих процессоров может зарезервировать ключевое слово, например, nearдля обозначения переменных, которые должны быть там размещены. Аналогичным образом, существуют также микроконтроллеры, которые могут ссылаться только на определенные области через регистр указателя (требующий дополнительных инструкций), и такие переменные обозначаются far. Наконец, некоторые процессоры могут обращаться к разделу памяти побитно, и компилятор может указать это (например, ключевое слово bit).

Поэтому могут быть дополнительные сегменты, такие как .nearbss и .neardata и т. Д., Где собираются эти переменные.

.rodata

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

стек и куча

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

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

Вот типичный макет для оперативной памяти (при условии отсутствия специального раздела на странице 0):

EEPROM, ROM и NVRAM

До появления флэш-памяти EEPROM (электрически стираемое программируемое постоянное запоминающее устройство) использовалось для хранения данных программы и const (сегменты .text и .rodata). Теперь имеется только небольшой объем (например, от 2 КБ до 8 КБ) EEPROM, если таковой вообще имеется, и он обычно используется для хранения данных конфигурации или других небольших объемов данных, которые необходимо сохранить при отключении питания. цикл. Они не объявляются в программе как переменные, а записываются в специальные регистры микроконтроллера. EEPROM также может быть реализован в виде отдельного чипа и доступен через шину SPI или I²C.

ПЗУ по сути такой же, как Flash, за исключением того, что он запрограммирован на заводе (не программируется пользователем). Он используется только для устройств с очень большим объемом.

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

Хотя данные могут быть сохранены во Flash, Flash-память имеет ограниченное количество циклов стирания / программирования (от 1000 до 10000), поэтому она не предназначена для этого. Это также требует одновременного удаления блоков памяти, поэтому неудобно обновлять всего несколько байтов. Он предназначен для кода и переменных только для чтения.

ЭСППЗУ имеет гораздо более высокие ограничения на циклы стирания / программирования (от 100 000 до 1 000 000), поэтому для этой цели гораздо лучше. Если на микроконтроллере имеется EEPROM, и он достаточно большой, это место, где вы хотите сохранить энергонезависимые данные. Однако вам также придется сначала стереть в блоках (обычно 4 КБ) перед записью.

Если EEPROM отсутствует или он слишком мал, тогда необходим внешний чип. ЭСППЗУ объемом 32 КБ составляет всего 66 ¢ и может быть стерто / записано до 1 000 000 раз. NVRAM с тем же числом операций стирания / программирования намного дороже (x10). NVRAM обычно быстрее для чтения, чем EEPROM, но медленнее для записи. Они могут быть записаны в один байт за раз или в блоках.

Лучшей альтернативой обоим из них является FRAM (сегнетоэлектрическое ОЗУ), который имеет практически бесконечные циклы записи (100 триллионов) и не имеет задержек при записи. Это примерно такая же цена, как у NVRAM, около 5 долларов за 32 КБ.

Прграммирование микроконтроллеров. Базовый уровень. | Festo

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

Целевая аудитория: обслуживающий персонал КИПиА, операторы, инженеры, преподаватели и тренеры.

Основные темы курса:

  • Что такое микроконтроллеры. Разновидности. Основные сферы применения.
  • Языки программирования микроконтроллеров.
  • IDE среда – основные понятия.
  • Разновидности сред разработки управляющих программ для микроконтроллеров.
  • Краткое знакомство с IDE средами разных производителей.
  • IDE среда CodeVisionAVR – первое знакомство.
  • Интерфейс CVAVR, меню, окна.
  • NewProjectWizard – создание нового проекта.
  • Конфигурирование проекта, выбор микроконтроллера.
  • Параметрирование функций и свойств микроконтроллера.
  • Программаторы микроконтроллеров AVR. Интерфейсы программирования.
  • Внутрисхемное программирование. Интерфейс ISP.
  • Основы электротехники.
  • ПО для разработки и симуляции Proteus. Первое знакомство.
  • Интерфейс Proteus, назначение окон и меню.
  • Светоизлучающий диод, резистор, Blinker – первая программа.
  • Сборка отладочного стенда на контактной макетной плате.
  • Язык программирования С/С++.
  • Основные операторы языка С/С++.
  • Применение языка программирования С/С++ на практике.
  • Отладка программного кода в среде Proteus.
  • Отладка программного кода на экспериментальном стенде.


Участники
:

  • Узнают типы современных микроконтроллеров, особенности подбора и применения.
  • Изучат основные среды разработки программ для микроконтроллеров.
  • Узнают особенности работы с программаторами.
  • Соберут, запрограммируют и отладят свой собственный проект на макетной плате.
  • Рассмотрят основные команды и особенности языка программирования С/С++.
  • Научатся выполнять отладку программного кода.


Начальная подготовка: базовые технические знания.


Продолжительность:
 4 дня.

 

Продукты

Микроконтроллеры семейства MIK51

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


Разработка встроенного программного обеспечения для смарт-карт

АО «НИИМЭ» разрабатывает встроенное программное обеспечение для смарт-карт на базе собственных и партнерских микроконтроллеров:

• Операционные системы собственной разработки.
• Виртуальная машина JavaCard.
• Интегрированные («нативные») приложения.
• Отечественные и международные криптографические алгоритмы.
• Поддержка технологии MoC (аутентификация пользователя по отпечатку пальца).

Операционные системы АО «НИИМЭ» работают в составе множества интеллектуальных устройств:

• Биометрический загранпаспорт.
• Платежная карта «МИР».
• Карта военнослужащего.
• Элемент безопасности для Интернета вещей.
• Криптографические USB-токены разных производителей.

Разработка приложений для смарт-карт

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

Мы оказываем полный спектр услуг по разработке приложений по требованиям заказчика:

• Составление спецификации.
• Проектирование структур данных.
• Проектирование защищенных протоколов обмена данными.
• Разработка программного кода приложения и тестов.

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

• Идентификационные карты.
• Социальные и региональные карты.
• Криптографические токены.
• Банковские карты.
• Транспортные карты.
• Карты для систем контроля и управления доступом (СКУД).
• Элементы безопасности для защиты информации в сети IoT.

Варианты реализации приложений:

• Апплеты на JavaCard, в том числе с использованием российской криптографии.
• Приложения на основе стандарта ISO 7816, включая криптографические приложения и генерацию электронной подписи.
• «Нативная» реализация приложения и его интеграция в ОС карты.

Продукты НИИМЭ для рынка смарт-карт и электронных документов

Идентификационные карты и электронные документы

АО «НИИМЭ» разработал семейство защищенных микроконтроллеров для идентификационных карт и электронных документов, которые применяются в российских загранпаспортах и картах военнослужащего. Готовятся к выпуску новые типы электронных документов: Удостоверение Личности Гражданина РФ (УЛГ), Водительское Удостоверение (ВУ), Свидетельство о регистрации Транспортного Средства (СТС). В микросхемах реализованы современные отечественные и международные криптографические алгоритмы. Микросхемы для электронных документов сертифицированы в ФСБ России по классу КВ1.

Платежные карты

АО «НИИМЭ» разработал микросхему для дуальных карт «МИР», которая отвечает всем требованиям по функциональности и безопасности, предъявляемым международным консорциумом EMVCo и российской платежной системой НСПК. Оценка безопасности успешно проведена в зарубежной сертификационной лаборатории. Объем энергонезависимой памяти 16K позволяет разместить на карте несколько экземпляров приложения «МИР» для добавления функций социальной карты, карты лояльности или других дополнительных функций.

Криптографические карты

Криптографические продукты АО «НИИМЭ» с операционной системой Trust поддерживают новейшие отечественные и международные криптографические алгоритмы, включая:

• ГОСТ Р34.10-2012 (электронная подпись).
• ГОСТ Р34.11-2012 (функция хэширования).
• ГОСТ Р34.12-2015, ГОСТ Р3413-2015 (новый стандарт на блочные алгоритмы).

ОС поддерживает аутентификацию пользователя по отпечатку пальца (технология Match-on-Card).
Продукты семейства являются СКЗИ класса KC3 и выпускаются на отечественных микроконтроллерах первого уровня (т.е. разработанных и произведенных в России).

Транспортные карты и СКУД

АО «НИИМЭ» предлагает чипы для транспортных карт и систем управления доступом (СКУД) на базе отечественных и импортных микроконтроллеров с собственным ПО. Их отличает:

• Быстрота проведения транзакции.
• Устойчивость к потере питания.
• Совместимость с открытой международной спецификацией Cipurse.
• Стандартная файловая система (согласно ISO 7816-4).
• Полная совместимость со всеми считками и NFC-телефонами при обмене по радио-интерфейсу.
• Поддержка зарубежной и отечественной криптографии.
• Низкая цена.

Универсальная платформа JavaCard

АО «НИИМЭ» предлагает универсальную платформу JavaCard, позволяющую заказчикам создавать приложения. Платформа JavaCard реализует спецификацию JC ver. 3.0.4 и поддерживает управление приложениями по спецификации Global Platform 2.2.1. Важнейшим преимуществом продукта НИИМЭ является наличие ряда собственных расширений, которые предоставляют в распоряжение апплета:

• Поддержку отечественной криптографии, включая новейшие алгоритмы ГОСТ Р34.10-12, ГОСТ Р34.11-12, ГОСТ Р34.12-15, ГОСТ Р34.13-15.
• Примитивы модулярной арифметики для реализации собственных вариантов асимметричных алгоритмов.
• Примитивы арифметики на эллиптических кривых.
• Средства контроля целостности встроенного ПО и апплета, а также некоторые другие полезные функции.
Продукты семейства являются СКЗИ класса KC3.

Jedi – среда разработки для JavaCard

Программный комплекс Jedi позволяет максимально эффективно разрабатывать и отлаживать апплеты для смарт-карт на языке JavaCard в популярной интегрированной среде Eclipse. Отличительными особенностями JEDI являются:

• Полноценная поддержка всех расширений, включая отечественную криптографию.
• Эмулятор PC/SC-ридера.
• Точная эмуляция поведения карты.
• Интерактивная отладка апплета на уровне исходного кода.
• Контроль ресурсов виртуальной машины JavaCard в режиме реального времени.

 

Что такое микроконтроллеры: его типы, применение и как они работают?

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

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

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

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

По сути, микроконтроллер собирает ввод, обрабатывает информацию и выводит конкретное действие на основе собранной информации.

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

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

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

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

  • Центральный процессор (ЦП)
  • Оперативная память (RAM)
  • Постоянная память (ROM)
  • Порты ввода / вывода (порты ввода / вывода)
  • Внутренний осциллятор
  • Электрически стираемая программируемая постоянная память (EEPROM)

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

2. Оперативная память (RAM): Это временная память, в которой информация хранится только при включенном питании.Это помогает запускать и вычислять программы, которые MCU должен выполнять. Он постоянно перезаписывается во время использования.

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

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

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

Вы также можете прочитать: Что такое усилитель и как он работает?

6. Электрически стираемая программируемая постоянная память (EEPROM): Это вид энергонезависимой памяти, используемой MCU. Электрическая стираемая программируемая постоянная память, предназначенная только для чтения, хранит объемы данных и информации, позволяя стирать и перепрограммировать отдельные байты.

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

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

2. Цифро-аналоговый преобразователь (DAC): Это обратный ADC, который означает преобразование цифровых сигналов в аналоговые сигналы и позволяет процессору MCU передавать свои исходящие сигналы внешним аналоговым компонентам. Обычно он используется для управления аналоговыми устройствами, такими как двигатели постоянного тока, различные приводы и т. Д.

3. Системная шина: Это соединительный провод, соединяющий все компоненты микроконтроллера.

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

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

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

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

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

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

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

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

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

В зависимости от ширины —

  • Ширина шины: Обычно это относится к параллельным линиям, которые соединяют различные компоненты. Его функция заключается в передаче данных между процессором, памятью и портами ввода / вывода.Микроконтроллеры содержат внутри себя три типа шин: шину данных, адресную шину и шину управления. Он делится на три типа — 8,16-, 32-битные микроконтроллеры.
  • 8-битный микроконтроллер: Ширина шины таких микроконтроллеров составляет 8 бит, что означает длину в 1 байт. Это означает, что он может передавать и обрабатывать 8-битную информацию за один цикл. Основное препятствие заключается в том, что он представляет собой математические операции, потому что его ALU (арифметическая логическая единица) также является 8-битным.

Для обработки негабаритных данных, например 16-битных, используется несколько циклов для выполнения простой математической функции. Это приводит к плохой работе общей логической схемы. Распространенными примерами 8-битных микроконтроллеров являются Intel 8031/8051 и PIC1x.

  • 16-битный микроконтроллер: Ширина шины такого микроконтроллера составляет 16 бит, что означает длину 2 байта. Он может передавать и обрабатывать 16-битную информацию за один цикл. Его 16-битный арифметический ALU очень эффективен по производительности по сравнению с 8-битным микроконтроллером.

А его 16-битный таймер обеспечивает широкий диапазон от 0x0000 (0) до 0xFFFF (65535), что обеспечивает наиболее эффективную точность по затратам для любого приложения или проекта, требующего функций таймера. Некоторыми примерами этого являются 8051XA, PIC2x, Intel 8096 и т. Д.

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

Он может даже поддерживать несколько периферийных устройств, необходимых для любых проектов или приложений встраиваемых систем, таких как универсальная последовательная шина (USB), Ethernet, универсальные асинхронные приемо-передающие устройства (UARTS) и шина сети контроллеров (CAN). Некоторыми распространенными примерами 32-битных микроконтроллеров являются семейство Intel / Atmel 251, PIC3x и т. Д.

Вы также можете прочитать: Что такое интегральная схема: типы, применение и применение интегральной схемы?

На основе памяти —

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

На основе архитектуры набора команд —

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

На основе архитектуры микроконтроллера —

  • Микроконтроллер с архитектурой Гарварда: Это тип микроконтроллера, который имеет полную инструкцию в одном машинном цикле.Он имеет две отдельные линии шины и отдельную память для программного кода (инструкций), данных, памяти программ и памяти данных соответственно. Его стоимость выше из-за сложной конструкции.
  • Архитектура фон Неймана (или Принстона) Микроконтроллер: Он использует единую память для хранения программ и данных. Это широко используемая архитектура на различных компьютерах, настольных компьютерах и ноутбуках. Для выполнения инструкции требовалось два машинных цикла.Его стоимость очень низкая по сравнению с архитектурой Гарварда, потому что он использует одну шину, а его конструкция также проста.

Различные другие типы используемых микроконтроллеров:

  • Микроконтроллер PIC: Особенности микроконтроллера PIC:
  • Использует внешние часы до 20 МГц, поскольку нет внутренних часов
  • Меньший набор инструкций из 35
  • Диапазон рабочего напряжения от 4.2–5,5 В.
  • 8051 Микроконтроллер: Особенности микроконтроллера 8051:
    • 8-битный микроконтроллер, доступный в 40-контактном DIP
    • 4 КБ программируемое ПЗУ на кристалле для хранения программного кода
    • 128 байтов на встроенном ОЗУ для временного использования. хранение данных
    • 40-контактная ИС в DIP-упаковке с 32 контактами, доступными для ввода / вывода
  • Микроконтроллер AVR: Особенности микроконтроллера AVR:
    • Наличие внутреннего генератора 8 МГц
    • 1 КБ на- программируемое ПЗУ для хранения программного кода
    • 32 КБ ОЗУ на кристалле для временного хранения данных
    • 4 канала ШИМ для генерации импульсов
    • Он содержит три таймера, которые включают два 8-битных таймера и один 16-битный таймер.
  • Микроконтроллер ARM: Особенности микроконтроллера ARM:
    • 32-битный процессор RISC
    • энергоэффективный с более высокой производительностью
    • Процессор Cortex M0, обеспечивающий низкую скорость при низкой цене
    • На основе Гарварда архитектура
  • Микроконтроллер RENESAS: Характеристики микроконтроллера RENESAS:
    • Основаны на Гарвардской архитектуре CISC
    • 8-битный и 16-битный микроконтроллер, тогда как RX — 32-битный микроконтроллер
    • Маломощный микроконтроллер это RL78, в то время как RX предлагает высокую производительность и эффективность
    • Семейство RX диапазоны ОЗУ от 2 КБ до 128 КБ

Характеристики / преимущества микроконтроллеров

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

  • Микроконтроллеры может действовать как микрокомпьютер, не имеющий Есть какие-то цифровые детали.
  • Благодаря более высокой степени интеграции внутри системы микроконтроллеры снижают стоимость и размер системы.
  • Таймер цикла команд.
  • Использование микроконтроллера легко и просто для устранения неполадок и обслуживания системы.
  • Простое сопряжение с дополнительной RAM, ROM, портами ввода / вывода.
  • Требуется меньше времени на выполнение операций.

Недостатки микроконтроллеров

Недостатки микроконтроллеров:

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

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

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

  • Altera
  • Аналоговые устройства
  • Atmel
  • Espressif Systems
  • Freescale Semiconductor
  • Cypress Semiconductor
  • ELAN Microelectronics Corp
  • EPSON Semiconductor
  • Hyperstone
  • Infinity
  • Holtek
  • Holtek
  • Holtek
  • Полупроводник
  • Parallax
  • Rabbit Semiconductor
  • Renesas Electronics
  • Redpine Signals
  • Rockwell
  • Maxim Integrated
  • Microchip Technology
  • National Semiconductor
  • NEC
  • NXP Semiconductors
  • Лаборатория Nuvoton
  • Silicon Motion
  • Sony
  • Texas Instruments
  • Toshiba
  • Spansion
  • STMicroelectronics
  • Ubicom
  • Xilinx
  • XMOS
  • ZiLOG 90 005

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

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

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

Различные другие продукты, в которых используются микроконтроллеры, включают цифровые видеокамеры, оптические проигрыватели, ЖК / светодиодные дисплеи и т. Д. И это лишь несколько примеров.

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

  • Бытовая электроника — Любые автоматические бытовые устройства, такие как роботы, игрушки, камеры, стиральные машины, микроволновые печи и т. Д.
  • Контрольно-измерительные приборы и управление процессами — Мультиметр , Измеритель тока утечки, осциллографы, сбор и контроль данных и т. Д.
  • Обнаружение пожара — Охранная сигнализация, устройства безопасности и т. Д.
  • Медицинские инструменты — Медицинские приборы, такие как ЭКГ, Accu-Chek и т. Д.
  • Коммуникационные технологии — Телефонные аппараты, сотовые телефоны, автоответчики и т. Д.
  • Мультимедийное приложение — Mp3-плеер, КПК и т. Д.
  • Офисные машины — Факс, принтеры и т. Д.
  • Автомобиль — Система автоматического торможения, спидометр и т. Д.

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

Различия между микроконтроллерами и микропроцессорами приведены ниже:

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

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

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

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

  1. Архитектура Хаварда
  2. Архитектура фон Неймана

В зависимости от поставщика услуг или продавца типы микроконтроллеров следующие:

  1. АРН
  2. ПИК
  3. Hitachi
  4. Motorola

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

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

1) Архитектура Хаварда : В архитектуре Хаварда отдельные шины хранения и передачи сигналов предусмотрены для разного набора инструкций и данных.Эта архитектура имеет все хранилище данных в ЦП, и нет доступа для хранения инструкций в виде данных.

Эта архитектура обеспечивает одновременный доступ к инструкциям и данным, хранящимся на внутренних шинах микроконтроллера.

Давайте посмотрим на блок-схему Havard Architecture:

2) Архитектура фон Неймана : Эта архитектура микроконтроллера была предложена ученым Джоном фон Нейманом. В этой архитектуре и для инструкций, и для данных присутствует единый путь данных или шина.

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

Давайте посмотрим на блок-схему архитектуры фон Неймана:

Типы микроконтроллеров на базе поставщика услуг

В зависимости от поставщика услуг или продавца типы микроконтроллеров следующие:

1) AVR : микроконтроллер AVR разработан поставщиком услуг Atmel, архитектура AVR основана на архитектуре Гарварда.Он основан на компьютерах с сокращенным набором команд (RISC). AVR — это не аббревиатура, это просто название микроконтроллера на основе архитектуры RISC.

2) PIC : Микроконтроллер PIC также является контроллером на основе архитектуры Гарварда. PIC — это аббревиатура от «Peripheral Interface Controller». Этот тип микроконтроллера поддерживает программирование на C, Assembly и BASIC C.

3) Hitachi : Микроконтроллер Hitachi относится к семейству контроллеров H8.H8 — это имя, используемое в большом семействе 8-битных, 16-битных и 32-битных микроконтроллеров, разработанных Renesas Technology, основанной в начале 1990-х годов компанией Hitachi Semiconductors.

4) Motorola : Микроконтроллер Motorola — это микроконтроллер с высокой степенью интеграции, который используется для высокопроизводительных операций обработки данных. Этот блок микроконтроллера использует модуль системной интеграции (SIM), блок обработки времени (TPU) и последовательный модуль очереди (QSM).

Интернет-магазин микроконтроллеров

| Future Electronics

Дополнительная информация о микроконтроллерах…

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

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

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

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

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

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

Future Electronics предлагает широкий спектр программируемых микроконтроллеров, в том числе микроконтроллеры с рисунком, маломощные, LCD, USB и беспроводные микроконтроллеры от нескольких производителей.Как только вы решите, нужны ли вам 8-битные, 16-битные контроллеры общего назначения, 16-битные контроллеры цифровых сигналов или 32-битные микроконтроллеры, вы сможете выбрать их технические характеристики, и результаты поиска будут сужены в соответствии с потребностями вашего конкретного приложения микроконтроллера.

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

Приложения для микроконтроллеров:

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

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

С помощью параметрического поиска FutureElectronics.com при поиске подходящих микроконтроллеров вы можете фильтровать результаты по требуемому количеству битов. Мы производим микроконтроллеры следующих размеров: 32-битные микроконтроллеры в готовой к производству упаковке или объемы НИОКР: Если количество 32-битных микроконтроллеров меньше, чем полная катушка, мы также предлагаем многие из наших 32-битных микроконтроллеров в лотках, трубках или отдельных количествах, которые позволит избежать ненужного излишка.

  • 8-битные микроконтроллеры
  • 16-битные контроллеры цифровых сигналов (DSC)
  • 16-битные микроконтроллеры общего назначения
  • 32-битные микроконтроллеры

После выбора размера микроконтроллера вы можете сузить их по различным атрибутам: по размеру ОЗУ , Размер вспышки, количество входных линий, скорость и напряжение питания, и это лишь некоторые из них. Используя эти фильтры, вы сможете найти подходящий ЖК-дисплей, маломощный, USB, беспроводной или графический микроконтроллер.

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

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

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

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

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

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

В этом микропроцессоре Vs. В руководстве по микроконтроллеру вы узнаете:

Что такое микропроцессор?

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

ОСНОВНЫЕ РАЗЛИЧИЯ

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

Типы микропроцессоров

Важные типы микропроцессоров:

  • Комплексный набор команд Микропроцессоры
  • Интегральная схема специального назначения
  • Микропроцессоры с сокращенным набором команд
  • Цифровые сигнальные мультипроцессоры (DSP)

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

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

  • 8-битный микроконтроллер
  • 16-битный микроконтроллер
  • 32-битный микроконтроллер
  • Встроенный микроконтроллер
  • Внешняя память Микроконтроллер

История микропроцессора

Вот важная веха из истории микропроцессора

.
  • Компания Fairchild Semiconductors изобрела первую ИС (интегральную схему) в 1959 году.
  • В 1968 году Роберт Нойс, Гордан Мур, Эндрю Гроув основали собственную компанию Intel.
  • Intel выросла из стартапа из трех человек в 1968 году до промышленного гиганта к 1981 году.
  • В 1971 году компания INTEL создала микропроцессор 4004 первого поколения, который работал бы с тактовой частотой 108 кГц.
  • С 1973 по 1978 год производились 8-разрядные микропроцессоры второго поколения, такие как Motorola 6800 и 6801, INTEL-8085 и Zilog’s-Z80.
  • В 1978 году на рынок поступил процесс Intel 8008 третьего поколения.
  • В начале 80-х Intel выпустила 32-разрядные процессоры четвертого поколения.
  • В 1995 году Intel выпустила 64-битные процессоры пятого поколения.

История микроконтроллера

Вот важные вехи из истории микроконтроллеров:

  • Впервые использован в 1975 году (Intel 8048)
  • Введение EEPROM в 1993 г.
  • В том же году Atmel представила первый микроконтроллер, использующий флэш-память.

Характеристики микроконтроллера

Вот некоторые важные особенности микроконтроллера:

  • Сброс процессора
  • Контакты ввода-вывода памяти программ и переменной (RAM)
  • Устройство тактирования центрального процессора
  • Таймеры цикла команд

Характеристики микропроцессора

Вот некоторые важные особенности микропроцессора:

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

Микропроцессор vs.Микроконтроллер

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

Микроконтроллер Микроконтроллер
Микропроцессор Микроконтроллер
Микропроцессор — сердце компьютерной системы. — это сердце встраиваемой системы.
Это всего лишь процессор, поэтому компоненты памяти и ввода-вывода должны быть подключены извне имеет процессор, внутреннюю память и компоненты ввода / вывода.
Память и ввод / вывод должны быть подключены извне, поэтому схема становится большой. Память и ввод / вывод уже присутствуют, а внутренняя схема небольшая.
Нельзя использовать в компактных системах Можно использовать в компактных системах.
Стоимость всей системы высока Стоимость всей системы низкая
Из-за внешних компонентов общее энергопотребление велико.Следовательно, он не идеален для устройств, работающих от аккумуляторов, таких как аккумуляторы. Поскольку внешние компоненты невелики, общее энергопотребление меньше. Таким образом, его можно использовать с устройствами, работающими от накопленной энергии, например, с батареями.
Большинство микропроцессоров не имеют функций энергосбережения. Большинство микроконтроллеров поддерживают режим энергосбережения.
В основном используется в персональных компьютерах. Используется в основном в стиральных машинах, MP3-плеерах и встроенных системах.
Микропроцессор имеет меньшее количество регистров, поэтому больше операций выполняется в памяти. Микроконтроллер имеет больший регистр. Следовательно, программы легче писать.
Микропроцессоры основаны на модели фон Неймана Микроконтроллеры дуги на основе архитектуры Гарварда
Это центральный процессор на едином кремниевом интегрированном кристалле. Это побочный продукт разработки микропроцессоров с центральным процессором и другими периферийными устройствами.
На микросхеме нет ОЗУ, ПЗУ, устройств ввода-вывода, таймеров и других периферийных устройств. Он имеет ЦП вместе с ОЗУ, ПЗУ и другими периферийными устройствами, встроенными в один чип.
Он использует внешнюю шину для взаимодействия с RAM, ROM и другими периферийными устройствами. Использует внутреннюю шину управления.
Микропроцессорные системы могут работать с очень высокой скоростью из-за задействованной технологии. Системы на основе микроконтроллеров работают на частоте до 200 МГц или более в зависимости от архитектуры.
Используется для приложений общего назначения
, которые позволяют обрабатывать большое количество данных.
Используется для систем, ориентированных на конкретные приложения.
Это сложный и дорогой процесс, требующий обработки большого количества инструкций. Это просто и недорого, с меньшим количеством инструкций для обработки.

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

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

  • Калькуляторы
  • Система бухгалтерского учета
  • Игровой автомат
  • Комплексные промышленные контроллеры
  • Светофор
  • Контрольные данные
  • Военное применение
  • Системы защиты
  • Вычислительные системы

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

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

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

  • Мобильные телефоны
  • Автомобили
  • CD / DVD плееры
  • Стиральные машины
  • Камеры
  • Охранная сигнализация
  • Клавиатурные контроллеры
  • Микроволновая печь
  • Часы
  • Mp3 плееров

10 лучших микроконтроллерных плат для инженеров и компьютерных фанатов [обновлено в 2021 году]

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

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

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

Примечание: Как партнер Amazon, мы можем получать небольшую комиссию с каждой продажи на Amazon.

Плата микроконтроллера Arduino Uno R3

Электронно-технологическая компания Arduino выпустила версию Arduino Uno R3 в 2011 году.Он основан на чипе под названием ATmega328P (плата с открытым исходным кодом). Плата имеет различные контакты ввода / вывода, с помощью которых вы можете подключать ее к другим платам и схемам. Имеются различные подключенные порты, включая порт USB-подключения, четырнадцать контактов ввода-вывода, заголовок ICSP, подключение к источнику питания и кнопку сброса. Его можно легко подключить напрямую к вашему персональному компьютеру или ноутбуку через USB-кабель.

Плата Arduino Uno R3, основанная на IoT, является самой дешевой, готовой к подключению платы к различным доступным онлайн-библиотекам и ресурсам.

Микроконтроллерная плата Teensy 4.0

Teensy 4.0 (процессор 600 МГц) — новейшая и самая быстрая плата, доступная на сегодняшний день. Она имеет небольшие размеры по сравнению с другими досками и может использоваться для выполнения различных типов проектов своими руками. Все команды подаются на плату через два порта USB. Teensy 4.0 можно запрограммировать с помощью Arduino IDE с помощью небольшого дополнения.

Микроконтроллер можно подключить к ПК или ноутбуку с помощью кабеля USB. Он имеет 1024 КБ ОЗУ по сравнению с 16 КБ в Arduino Uno для более современных приложений.

Arduino Pro Mini 328

Arduino Pro Mini 328 — еще одна лучшая плата микроконтроллера от технологии Arduino. Эта мини-плата предназначена только для небольших приложений с напряжением до 5 вольт. Плата Arduino Pro Mini 328 имеет загрузчик на 16 МГц. На плате нет встроенных разъемов и портов, поэтому вам, возможно, придется припаять соединение самостоятельно. Однако, если у вас небольшой бюджет, эта плата микроконтроллера — хороший выбор для вас.

Плата микроконтроллера ESP32

Плата микроконтроллера ESP32 представляет собой комбинированный модуль Bluetooth и Wi-Fi на однокристальной плате (2.4 Гигагерц) со сверхнизким энергопотреблением. Плата считается лучшим выбором для приложений, где требуется лучшая производительность RF.

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

Raspberry Pi 4

Выпущенный в 2019 году Raspberry Pi 4 — самая быстрая плата микроконтроллера, доступная на сегодняшний день. Благодаря 4 ГБ оперативной памяти вы можете создавать мощные и продвинутые электронные проекты.Raspberry Pi 4 может обеспечивать ток до 1,2 А для USB-устройств. Доступны различные варианты оперативной памяти от 1 ГБ до 4 ГБ. Дополнительные функции включают встроенную беспроводную локальную сеть, Bluetooth 5.0, два порта USB 2.0 и USB 3.0, два порта Micro HDMI и порт Gigabit Ethernet.

Плата микроконтроллера MBED LPC1768

MBED LPC1768 в основном предназначена для создания прототипов. Он включает встроенный программатор USB FLASH. Плата построена на 32-битном ядре ARM M3 NXP LPC1768.ОЗУ составляет 32 КБ, флэш-память 512 КБ.

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

BeagleBone Black

BeagleBone Black — одна из самых дешевых доступных плат для разработки. Вы можете начать разработку всего за пять минут, подключив свой компьютер с помощью простого USB-кабеля.Он состоит из 512 МБ ОЗУ и флэш-памяти 4G. Он имеет 46 × 2 контактов заголовка, Ethernet, 2 порта USB. Большее количество контактов ввода / вывода делает его более подходящим для проектов в области электроники. Он также имеет пониженное энергопотребление без потребности в радиаторах.

Плата микроконтроллера ESP8266

ESP8266 имеет небольшие размеры по сравнению с другими микроконтроллерами, поддерживающими IoT. Он имеет очень низкую стоимость (около 3,0 долларов США). Его можно использовать для проектов умного дома своими руками, включая Интернет вещей.Эту доску также можно использовать для создания ваших личных помощников, таких как Кортана или Алекса. Он включает в себя 128 КБ ОЗУ и 4 МБ флэш-памяти, но что делает ESP8366 лучше, так это то, что его можно использовать для создания собственной сети для подключения к нему других устройств.

Quark D2000

Микроконтроллер Quark D2000 является одним из самых надежных микроконтроллеров и имеет больше элементов управления вводом-выводом, чем другие микроконтроллеры. Он основан на семействе микроконтроллеров Intel × 86. Это 32-битный микроконтроллер, работающий на частоте 32 МГц с 8K SRAM и 32K FLASH.Он чрезвычайно универсален, так как требует питания только до 3,3 В постоянного тока.

Launchpad MSP430

Launchpad MSP430 наиболее полезен для применения встроенной эмуляции и отладки Energy Trace. Это также микроконтроллер со сверхнизким энергопотреблением и 4 КБ ОЗУ, который можно использовать в качестве альтернативы для Arduino Uno R3. Он имеет специальное программное обеспечение для программирования (IDE), используемое для кодирования и отладки, которое называется Energia, оно более удобное для пользователя и похоже на IDE Arduino.

Обновления:

21 января 2021 года Raspberry Pi представила свою первую плату микроконтроллера ARM — Pico, мы добавили Pico в список ниже. Мы будем обновлять список по мере того, как наши читатели будут предлагать другие микроконтроллеры.

Raspberry Pi Zero W

Raspberry Pi нельзя отнести к категории микроконтроллеров, однако его можно использовать как микроконтроллер. Raspberry Pi Zero W расширяет семейство микроконтроллеров Pi Zero и поставляется с добавленной беспроводной локальной сетью и возможностью подключения по Bluetooth.Он обладает всеми функциями оригинального Pi Zero. Он имеет одноядерный процессор с тактовой частотой 1 ГГц и 512 МБ оперативной памяти. Raspberry Pi Zero W — отличный выбор для создания собственных проектов встраиваемого Интернета вещей (IoT). Это очень экономично и стоит около 10 долларов США.

Raspberry Pi Pico, изображение предоставлено Raspberry Pi Foundation

Raspberry Pi Foundation вчера анонсировала Raspberry Pi Pico, первый микроконтроллер компании. Как и другие продукты Raspberry Pi, новый Raspberry Pi Pico невероятно доступен по цене всего 4 доллара, но он оснащен первым специализированным чипом Foundation: RP2040.

Raspberry Pi Pico — это крошечная, быстрая и универсальная плата, построенная с использованием RP2040, нового микроконтроллерного чипа, разработанного Raspberry Pi в Великобритании. Разработанный Raspberry Pi, RP2040 оснащен двухъядерным процессором Arm Cortex-M0 + с внутренней оперативной памятью 264 КБ и поддержкой до 16 МБ внешней флэш-памяти. Широкий спектр гибких вариантов ввода / вывода включает I2C, SPI и — уникально — программируемый ввод / вывод (PIO). Они поддерживают бесконечное количество возможных приложений для этого небольшого и доступного пакета.

Также читайте: 10 лучших плат разработки IoT для инженеров и компьютерных фанатов

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

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

Как правильно выбрать микроконтроллер для вашего конкретного аппаратного продукта? Эта статья покажет вам все факторы, которые нужно учитывать при выборе самого лучшего микроконтроллера.

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

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

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

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

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

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

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

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

Микроконтроллеры для встраиваемых систем в основном делятся на три категории в зависимости от ширины их шин данных: 8-битные, 16-битные и 32-битные. Есть и другие, но самые популярные.

В общем, 8-разрядные микроконтроллеры предназначены для приложений нижнего уровня, 32-разрядные — для приложений более высокого уровня, а 16-разрядные — для приложений среднего уровня.

Безусловно, большинство продуктов, над которыми я работаю, как правило, включают 32-битные микроконтроллеры, но 8- или 16-битные микроконтроллеры могут быть хорошим выбором для недорогих продуктов.

8-битные микроконтроллеры

Если приложение не предъявляет очень высоких требований к вычислительной мощности и имеет относительно небольшой размер, то имеет смысл рассмотреть 8-битный микроконтроллер.

Для справки: большинство Arduinos основано на 8-битных микроконтроллерах. Итак, если вы создали свой ранний прототип с использованием Arduino, вы можете использовать 8-битный микроконтроллер в своем конечном продукте.

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

Например, Atmega328p — это 8-битный микроконтроллер, использующий Arduino Uno. При объемах порядка 10 тыс. Штук он стоит немногим более 1 доллара. Он работает на частоте 20 МГц и включает 32 КБ флэш-памяти и 2 КБ ОЗУ.

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

При этом доступны даже более дешевые 8-битные микроконтроллеры, которые стоят менее 25 центов при аналогичных объемах.

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

8-битные микроконтроллеры бывают всех размеров от небольших 6-контактных устройств до микросхем с 64-контактными контактами. Они имеют размеры флэш-памяти от 512 байт до 256 КБ, размеры SRAM от 32 до 8 КБ или более и EEPROM от 0 до 4 КБ или более. Минимальная система может быть такой же простой, как одна микросхема с байпасным конденсатором на шине питания.

Три самых популярных линейки 8-битных микроконтроллеров — это серия 8051, серия PIC от Microchip и серия AVR от Atmel, теперь часть Microchip.

Серия 8051

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

Хотя они доступны как отдельные устройства, 8051 в настоящее время в основном используются в качестве ядер IP (интеллектуальной собственности), которые встроены в микросхемы специализированных микросхем для конкретных приложений, таких как некоторые беспроводные радиоприемопередатчики.

Очень редко 8051 может быть правильным выбором в качестве основного микроконтроллера для вашего продукта.

Серия PIC

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

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

Microchip предоставляет свою интегрированную среду разработки (IDE) MPLAB ® X, которая включает в себя компилятор C бесплатно. Также бесплатно в качестве подключаемого модуля IDE доступен конфигуратор кода MPLAB, который генерирует C-код для встроенных периферийных устройств.

Затем его можно интегрировать в код приложения. Существуют модели PIC с комбинациями интерфейсов USART, SPI, I 2 C, ADC, USB, LIN, CAN и другими. Microchip также предлагает несколько инструментов разработки, включая MPLAB PICkit 4, ICD 4 и Real ICE.

Также доступны более качественные коммерческие компиляторы с лучшей оптимизацией кода. Вот краткое справочное руководство по микроконтроллерам PIC в формате PDF.

АРН серии

AVR — еще одна серия очень популярных 8-битных микроконтроллеров.Хотя они находятся в том же пространстве, что и описанные выше PIC, и имеют сопоставимые характеристики, у них есть одна большая претензия на славу: Arduino.

Рисунок 1. Большинство плат Arduino основано на 8-битных микроконтроллерах AVR

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

Поскольку библиотеки Arduino написаны на C ++, их можно легко включить в любое приложение, написанное на C / C ++.

Инструменты разработки программного обеспечения включают AVR studio или, если используется Arduino, обычно используются Arduino IDE и Platform IO. Компилятор, используемый в этих IDE, — это AVR GCC, бесплатный, очень хорошо поддерживаемый и поддерживаемый компилятор C / C ++.

Инструменты разработки оборудования

включают Atmel ICE и PICkit 4. Кроме того, по-прежнему широко доступны зрелые инструменты, такие как STK600 и AVR Dragon.Вот ссылка на краткое справочное руководство по микроконтроллерам AVR в формате PDF.

16-битные микроконтроллеры

16-битные микроконтроллеры

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

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

Легко найти устройства, которые имеют как АЦП, так и ЦАП, или устройства с емкостными сенсорными датчиками, драйверами сегментированных ЖК-дисплеев и Ethernet.

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

Хотя 16-битные микроконтроллеры можно найти у различных производителей, таких как Microchip (их dsPIC33 — популярный выбор), NXP, Infineon или Cypress, серия TI MSP430 будет представлена ​​здесь как типичный пример этого сегмента микроконтроллеров.

TI MSP430 серии

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

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

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

Например, нужен интерфейс SPI-UART, расширитель ввода-вывода или мост UART-UART? Все это есть, и все это менее чем за 0,3 доллара за этот чип.

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

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

MSP430FR2x MSP430FR4x MSP430FR5x MSP430FR6x
Программная память До 32 КБ До 16 КБ До 256 КБ До 128 КБ
Количество контактов от 16 до 64 в различных упаковках от 48 до 64 в различных упаковках от 24 до 100 в различных упаковках от 56 до 100 в различных упаковках
Периферийные устройства обычно не доступны в 8-битных контроллерах ЦАП, PGA, трансимпедансные и операционные усилители Логика ИК-модуляции DMA, AES DMA, AES
Драйверы сегментов ЖК-дисплея До 256 До 320

Таблица 1 — Обзор основных функций MSP430

32-битные микроконтроллеры

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

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

ПРИМЕЧАНИЕ: Обязательно загрузите бесплатное руководство в формате PDF 15 шагов для разработки нового электронного оборудования .

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

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

FPU

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

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

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

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

Несмотря на то, что на рынке представлено множество 32-битных микроконтроллеров, в этой заметке основное внимание будет уделено устройствам на базе ARM Cortex M, с особым упоминанием ESP32 от Espressif.

ARM Holdings фактически разрабатывает только IP-адреса процессорных ядер, которые затем лицензируются различным поставщикам полупроводников, которые включают их вместе с некоторыми периферийными устройствами в свои собственные кремниевые микросхемы.Многие производители микросхем предлагают микроконтроллеры на базе архитектуры Cortex-M.

Два известных производителя чипов на базе ARM — это Atmel со своей линейкой устройств SAM и STMicroelectronics со своей линейкой продуктов STM32.

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

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

Ядра

ARM Cortex M бывают разных версий.Самыми популярными из них являются M0 / M0 +, M1, M3, M4 и M7, каждый из которых предлагает все более высокую производительность. Микроконтроллеры STM32 содержат ядра M0 / M0 +, M3, M4 или M7.

На рис. 1 показано семейство микроконтроллеров на базе ARM Cortex M STM32 и их предполагаемые сегменты приложений.


Рисунок 2 — Семейство микроконтроллеров STM32

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

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

Фактически, в настоящее время существует более трехсот микроконтроллеров STM32, доступных в этой категории.


Рисунок 3 — Семейство микроконтроллеров в категории STM32 Mainstream

Поддержка оборудования STM32: Семейство STM32 поддерживается широким спектром аппаратных средств, предоставляемых как ST Microelectronics, так и сторонними производителями.

Недорогой внутрисхемный отладчик / программатор — STLink V2. Он сделан ST и доступен в таких местах, как Digi-Key; однако также доступны очень недорогие клоны.

ST Microelectronics также предлагает большой выбор плат для разработки семейств Nucleo и Discovery.

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

Платы

Discovery включают в себя дополнительные внешние периферийные устройства, такие как датчики MEM и емкостные сенсорные панели.Однако у Nucleos есть заголовки, совместимые с щитами Arduino.

Рисунок 4 — Отладочная плата ST Discovery для микроконтроллера STM32F407

Перед тем, как покинуть этот раздел, стоит упомянуть еще об одной очень недорогой плате для разработки. Эта плата, обычно известная как Blue Pill, оснащена чипом на базе STM32F103 Cortex M3 и стоит менее 2 долларов США из некоторых источников.

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

Хотя процесс обеспечения совместимости с Arduino немного сложен, есть несколько мест, где продаются совместимые с Arduino платы. Просто выполните поиск «STM32duino».

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

Поддержка программного обеспечения STM32: STMicroelectronics предоставляет версию пакета разработки ARM Mbed для всей линейки продуктов STM32. Сюда входят IDE, компилятор и обширный набор библиотек.

Для разработчиков, которые предпочитают использовать другие компиляторы, ST предоставляет свой STMCube. Это программа-генератор кода, которая производит коды инициализации для периферийных устройств STM32.

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

ESP32

ESP32 — это микроконтроллер от Espressif Systems. Как показано на рисунке 3, он имеет все функции типичного 32-разрядного микроконтроллера.

Рисунок 5 — Модуль Espressif ESP32

Однако, что отличает этот конкретный микроконтроллер от других, так это наличие в чипе оборудования Wi-Fi и Bluetooth.

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

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

Рисунок 6 — Функциональная блок-схема ESP32

Заключение

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

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

Выбирая микроконтроллер, вы обычно выбираете тот, который дает вашему продукту пространство для роста. Например, если вы определили, что вам требуется 16 контактов GPIO, вы не хотите выбирать микроконтроллер только с 16 контактами GPIO.

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

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

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

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

Наконец, не забудьте загрузить бесплатно PDF : Ultimate Guide to Develop and Sell Your New Electronic Hardware Product . Вы также будете получать мой еженедельный информационный бюллетень, в котором я делюсь премиальным контентом, недоступным в моем блоге.

Другой контент, который может вам понравиться:

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

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

Где они используются?

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

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

Почему мы используем микроконтроллеры?

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

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

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

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

На рынке представлен широкий спектр микроконтроллеров. Различные компании, такие как Atmel, ARM, Microchip, Texas Instruments, Renesas, Freescale, NXP Semiconductors и т. Д., Производят различные типы микроконтроллеров с различными функциями.Изучая различные параметры, такие как программируемая память, размер флэш-памяти, напряжение питания, контакты ввода / вывода, скорость и т. Д., Можно выбрать подходящий микроконтроллер для своего приложения.

Давайте посмотрим на эти параметры и на различных типов микроконтроллеров в соответствии с этими параметрами.

Шина данных (размер бит):

Если классифицировать по размеру бит, большинство микроконтроллеров имеют диапазон от 8 до 32 бит (также доступны микроконтроллеры с более высоким битом).В 8-битном микроконтроллере его шина данных состоит из 8 линий данных, в то время как в 16-битном микроконтроллере его шина данных состоит из 16 линий данных и так далее для 32-битных микроконтроллеров и выше.

Память:

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

требуется память (RAM, ROM, EPROM, EEPROM, флэш-память и т. Д.) Для хранения программ и данных. В то время как некоторые микроконтроллеры имеют встроенные микросхемы памяти, в то время как другие требуют подключения внешней памяти. Они называются микроконтроллерами встроенной памяти и микроконтроллерами внешней памяти соответственно.Размер встроенной памяти также варьируется в зависимости от типа микроконтроллеров, и обычно вы найдете микроконтроллеры с объемом памяти от 4 до 4 МБ.

Количество контактов ввода / вывода:

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

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

Набор команд:

Существует два типа наборов инструкций — RISC и CISC.Микроконтроллер может использовать RISC (компьютер с сокращенным набором команд) или CISC (компьютер со сложным набором команд). Как следует из названия, RISC сокращает время работы, определяя тактовый цикл инструкции; в то время как CISC позволяет применять одну инструкцию как альтернативу множеству инструкций.

Архитектура памяти:

Существует два типа микроконтроллеров — микроконтроллеры с архитектурой памяти Гарварда и микроконтроллеры с архитектурой памяти Принстона.

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

8051 серия микроконтроллеров (8-бит)

Микроконтроллеры AVR от Atmel (ATtiny, серия ATmega)

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

Микроконтроллеры Texas Instruments, такие как MSP430

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

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

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

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

Процессор или ЦП

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

Память

Микросхемы памяти встроены в микроконтроллер для хранения всех программ и данных.В микроконтроллеры могут быть встроены различные типы памяти, такие как RAM, ROM, EPROM, EEPROM, Flash-память и т. Д.

Порты ввода-вывода

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

Последовательные порты

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

АЦП и ЦАП

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

Таймеры

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

Управление прерываниями

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

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

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

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