Введение
Выбор подходящего устройства, на котором будет основана ваша новая разработка, бывает не простым. Необходимо найти баланс между ценой, производительностью и энергопотреблением, а также учесть долгосрочные последствия этого выбора. Например, если используемое устройство, будь то микроконтроллер или микропроцессор, станет основой целого ряда новых продуктов.
Чем отличается микропроцессор и микроконтроллер?
Для начала давайте рассмотрим разницу между микроконтроллером (MCU) и микропроцессором (MPU). Обычно микроконтроллер использует встроенную флэш память, в которой хранятся и выполняется его программа. Благодаря этому, микроконтроллер имеет очень короткое время запуска и может выполнять код очень быстро. Единственное ограничение при использовании встроенной памяти — это ее конечный объем. Большинство микроконтроллеров, доступных на рынке, имеют максимальный объем флэш памяти
2 мегабайта. Для некоторых приложений это может оказаться критическим фактором.
Микропроцессоры не имеют ограничений на размер памяти, поскольку для хранения программы и данных они используют внешнюю память. Программа обычно хранится в энергонезависимой памяти, такой как NAND или последовательная флэш память. При запуске программа загружается во внешнюю динамическую оперативную память и затем выполняется. Микропроцессор не способен запускаться так же быстро, как микроконтроллер, но объем оперативной и энергонезависимой памяти, которую можно подключить к процессору, может достигать сотен и даже тысяч мегабайт.
Другое отличие между микроконтроллером и микропроцессором — это система питания. Благодаря встроенному регулятору напряжения, микроконтроллеру необходимо только одно значение внешнего напряжения. Тогда как микропроцессору требуется несколько разных напряжений для ядра, периферии, портов ввода-вывода и т.д. О наличии этих напряжений на плате должен заботиться разработчик.
Что выбрать MPU или MCU?
Выбор микроконтроллера или микропроцессора определяется некоторыми аспектами спецификации разрабатываемого устройства. Например, требуется такое количество периферийный интерфейсных каналов, которое не может предоставить микроконтроллер. Или требования относительно пользовательского интерфейса невозможно выполнить, используя микроконтроллер, потому что у него не хватает памяти и быстродействия. Приступая к первой разработке, мы знаем, что продукт в дальнейшем может сильно измениться. В этом случае возможно лучшим решением будет использование какой-то готовой платформы. Так мы учтем запас вычислительной мощности и интерфейсных возможностей для будущих модификаций устройства.
Один из аспектов, которые сложно определить, это быстродействие, требуемое для работоспособности будущей системы. Количественно оценить этот критерий можно с помощью так называемой вычислительной мощности, которая измеряется в Dhrystone MIPS или DMIPS (Dhrystone — это синтетический тест производительности компьютеров, а MIPS — количество миллионов инструкций в секунду). Например, микроконтроллер Atmel SAM4 на базе ядра ARM Cortex-M4 обеспечивает 150 DMIPS, а микропроцессор на ядре ARM Cortex-A5, такой как Atmel SAM5AD3 может обеспечить до 850 DMIPS. Один из способов оценить требуемый DMIPS — это посмотреть какая производительность нужна для запуска части приложения. Запуск полноценной операционной системы (Linux, Android или Windows CE) для работы вашего приложения потребовал бы около 300 — 400 DMIPS. А если использовать для приложения RTOS, то достаточно всего 50 DMIPS. При использовании RTOS также требуется меньше памяти, поскольку ядро обычно занимает несколько килобайт. К сожалению полноценная операционная система требует для своего запуска блок управления памятью (MMU), что в свою очередь ограничивает тип процессорных ядер, которые могут быть использованы.
Для приложений, которые обрабатывают большие объемы чисел, требуется определенный запас DMIPS. Чем больше приложение ориентировано на числовую обработку, тем выше вероятность использования микропроцессора.
Серьезного обсуждения требует использование пользовательского интерфейса, будь то бытовая или промышленная электроника. Потребителям уже привычно пользоваться интуитивно понятными графическими интерфейсами, да и в промышленности все чаще используется этот метод взаимодействия с оператором.
Существует несколько факторов относительно пользовательского интерфейса. Во-первых, это дополнительная вычислительная нагрузка. Для такой интерфейсной библиотеки как Qt, которая широко используется на Linux`e, дополнительно потребуется 80-100 DMIPS. Во-вторых — это сложность пользовательского интерфейса. Чем больше вы используете анимации, эффектов и мультимедийного содержимого, чем выше разрешение изображения, тем большая производительность и память вам потребуется. Поэтому вероятнее всего здесь подойдет микропроцессор. С другой стороны, простой пользовательский интерфейс со статическим изображением на дисплее низкого разрешения может быть реализован и на микроконтроллере.
Другой аргумент в пользу микропроцессора — это наличие встроенного TFT LCD контроллера. Мало микроконтроллеров имеют в своем составе такой модуль. Можно поставить внешний TFT LCD контроллер и какие-то другие драйверы к микроконтроллеру, но нужно учитывать получаемую в итоге себестоимость изделия.
На рынке сейчас появляются флэш микроконтроллеры с TFT LCD контроллерами, но все же должно быть достаточное количество встроенной оперативной памяти для управления дисплеем. Например, 16-цветный QVGA 320х240 требует 150 кБ оперативной памяти чтобы выдавать изображение и обновлять дисплей. Это довольно большой объем ОЗУ и может потребоваться внешняя память, что тоже скажется на себестоимости.
Более сложные графические пользовательские интерфейсы, особенно использующие дисплеи размером больше 4,3 дюйма, требуют применения микропроцессоров. Если микропроцессоры доминируют в приложениях, где используется пользовательский интерфейс с цветным TFT экраном, то микроконтроллеры — короли сегментных или точечно-матричных LCD и других экранов с последовательным интерфейсом.
С точки зрения коммуникаций, большинство микроконтроллеров и микропроцессоров имеют в своем составе наиболее популярные периферийные интерфейсы. Но высокоскоростные интерфейсы, такие как HS USB 2.0, 10/100 Мбит/с Ethernet порты или гигабитные Ethernet порты, обычно есть только у микропроцессоров, потому что они лучше приспособлены к обработке больших объемов данных. Ключевой вопрос здесь — это наличие подходящих каналов и полосы пропускания для обработки потока данных. Приложения, использующие высокоскоростные подключения и ориентированные на операционную систему, требуют применения микропроцессоров.
Другой ключевой аспект, определяющий выбор между микроконтроллером и микропроцессором, это требование по детерминированному времени реакции приложения. Из-за процессорного ядра, встроенной флэш памяти и программного обеспечения в виде RTOS (операционной системы реального времени) или чистого Си кода, микроконтроллер будет определенно лидировать по этому критерию.
Заключительная часть нашего обсуждения будет касаться энергопотребления. Хотя у микропроцессора есть режимы пониженного энергопотребления, у типичного микроконтроллера их намного больше. Кроме того, внешнее аппаратное обеспечение микропроцессора осложняет его перевод в эти режимы. Фактическое потребление микроконтроллера значительно ниже, чем микропроцессора. Например, в режиме энергосбережения с сохранением регистров и оперативной памяти, микроконтроллер может потреблять в 10-100 раз меньше.
Заключение
Выбор между микроконтроллером и микропроцессором зависит от многих факторов, таких как производительность, возможности и бюджет разработки.
Вообще говоря, микроконтроллеры обычно используются в экономически оптимизированных решениях, где важное значение имеет стоимость изделия и энергосбережение. Они, например, широко используются в приложениях с ультра низким энергопотреблением, где требуется длительное время работы от батарей. Например, в пультах дистанционного управления, потребительских электросчетчиках, охранных системах и т.п. Также они используются там, где необходима высоко детерминированное поведение системы.
Микропроцессоры, как правило, применяются для создания функциональных и высокопроизводительных приложений. Они идеально подходят для промышленных и потребительских приложений на основе операционных систем, где интенсивно используются вычисления или требуется высокоскоростной обмен данными или дорогой пользовательский интерфейс.
И последнее. Выбирайте поставщика, предлагающего совместимые микроконтроллеры или микропроцессоры, чтобы иметь возможность мигрировать вверх или вниз, увеличивая повторное использование программного обеспечения.
Разница между микроконтроллером и микропроцессором
В составе многих современных цифровых устройств есть микроконтроллер и микропроцессор. Что представляют собой данные электронные компоненты?
Что такое микроконтроллер?
Под микроконтроллером понимается электронный компонент, содержащий в себе основные аппаратные модули, необходимые для выполнения им своих функций. Такие как, например:
- вычислительный чип;
- модуль ПЗУ;
- модуль ОЗУ;
- таймер;
- мосты;
- регулятор напряжения;
- порты ввода и вывода.
Таким образом, все соответствующие компоненты являются встроенными. Микроконтроллер, если он устанавливается в компьютере, чаще всего взаимодействует с другими аппаратными модулями ПК (например, жестким диском или оперативной памятью) напрямую и не применяет без особой надобности модули в ПК, аналогичные по назначению тем, что встроены в девайс.
Так, благодаря встроенному модулю, отвечающему за управление напряжением, микроконтроллер не требует адаптации внешнего напряжения к особенностям питания внутренних компонентов и в общем случае не использует внешних компонентов контроля над уровнем напряжения.
Микроконтроллеры, как правило, отвечают за какую-либо часть вычислительных операций. Например, если они стоят на ПК, это может быть чтение и запись данных, включение и выключение устройств, подключенных к ПК. Поэтому их производительность относительно невысока.
Часто микроконтроллер используется в приборах, в которых задействование микропроцессора не имеет особого смысла в силу его более высокой в большинстве случаев стоимости. Например, это может быть микроволновая печь, кондиционер или устройство, предназначенное для автоматического полива растений в саду. В составе отмеченных девайсов обычно присутствует самый простой по структуре микроконтроллер.
Что такое микропроцессор?
Под микропроцессором принято понимать микросхему, основным компонентом которой является кристалл из кремния или другого полупроводника. По сути, это в несколько раз более мощный, чем тот, что установлен в микроконтроллере, вычислительный чип. Но на этом сходства между рассматриваемыми типами электронных компонентов заканчиваются.

Микропроцессоры, как правило, не укомплектованы большим количеством дополнительных компонентов (как микроконтроллеры) и используют преимущественно внешние устройства в целях выполнения своих функций. Это могут быть модули ОЗУ, регуляторы напряжения или отдельные источники питания, порты ввода и вывода. В принципе, данные компоненты те же по назначению, что и в случае с контроллерами, но внешние. Однако, как и сам вычислительный чип микропроцессора, в большинстве случаев более производительные, чем те, что стоят в микроконтроллере.
Внутренних модулей у процессора немного. Как правило, современные модели электронных компонентов рассматриваемого типа содержат микросхему ОЗУ — из тех типов компонентов, что характерны для конструкции микроконтроллера. ПЗУ, регулятор напряжения, порты в структуре микропроцессора обычно отсутствуют.
Главное предназначение микропроцессора — сложные вычислительные операции. Поэтому он, как правило, обладает большой производительностью и инсталлируется в те девайсы, функционал которых ее требует. Например, в игровые приставки, ПК, мобильные устройства.
Сравнение
Основное отличие микроконтроллера от микропроцессора в том, что в первом компоненте основные модули, необходимые для выполнения им своих функций, — встроенные. Микропроцессор, в свою очередь, задействует по большей части внешние устройства. Вместе с тем микроконтроллер также способен обращаться к их ресурсам, если производительности тех, что являются встроенными, не хватает. Разумеется, это возможно, только если соответствующего типа внешние устройства предусмотрены в конструкции девайса, в котором используется микроконтроллер. Бывает, что их нет в принципе, — и тогда эффективность работы прибора зависит от производительности микроконтроллера.
Между двумя рассматриваемыми электронными компонентами, как правило, есть существенная разница по уровню скорости вычислений. Микроконтроллер в большинстве случаев менее производителен, чем микропроцессор аналогичного назначения (если, конечно, они взаимозаменяемы в конкретном устройстве), поскольку рассчитан на выполнение только части вычислительных операций или же тех, что имеют очень простую структуру.
Определив, в чем разница между микроконтроллером и микропроцессором, зафиксируем выводы в таблице.
Микропроцессор или микроконтроллер — что выбрать?
При конструировании цифровых электронных устройств практически всегда приходится искать оптимальное решение с учетом соблюдения различных требований. И начинать надо с самого главного — с сердца прибора.
Что лучше выполнит функции прибора и будет наиболее оптимальным — микропроцессор или микроконтроллер? Узнаем вместе с компанией «ЗУМ-СМД».
По выполняемым функциям эта микросхема является аналогом центрального процессора (ЦП) компьютера и решает следующие задачи:
- выполнение арифметических и логических операций в соответствии с заданной программой;
- обмен данными с периферийными устройствами.
Однако микропроцессор не может работать без дополнительных устройств, в число которых, например, входят:
- оперативная память (ОЗУ);
- постоянная память (ПЗУ);
- порты ввода/вывода;
- таймер.
С целью обмена информацией между входящими в комплект микросхемами создается еще и интерфейс, или системная шина.
Основные характеристики микропроцессора — это:
- тактовая частота работы;
- разрядность шины адреса/данных;
- объем памяти, к которой он может адресоваться;
- система команд.
В отличие от микропроцессора все необходимые для проведения операций компоненты размещены в самой микросхеме. Не интегрированными остаются источник электропитания, кварцевый резонатор, необходимый для создания тактовой частоты, цепь сброса в исходное состояние — их трудно совместить на одном кристалле. Таким образом пропадает необходимость в создании внешнего интерфейса.
Как и микропроцессор, микроконтроллер работает под управлением программы и обладает следующими преимуществами:
- невысокая цена;
- его применение уменьшает трудоемкость работы разработчика прибора;
- экономия электроэнергии и занимаемого места.
Однако платой за все эти достоинства является низкая производительность, а также неспособность выполнять сложные функции.
К основным характеристикам этого типа чипов можно отнести:
- емкость памяти — регистровой, ОЗУ, ПЗУ;
- тактовую чистоту;
- разрядность регистров, адресной шины, шины данных;
- количество выполняемых команд;
- состав периферийных устройств.
Далее рассмотрим, где применяются эти компоненты.
Современный микроконтроллер обладает высокой вычислительной мощностью, дающей возможность создать на одном чипе самодостаточное и полнофункциональное устройство, обладающее невысоким энергопотреблением и размерами. Поэтому он используется при изготовлении самых различных приборов и входящих в их состав узлов, например, таких как:
- компьютерные платы;
- контроллеры приводов;
- калькуляторы;
- стиральные и посудомоечные машины;
- домашние роботы;
- блоки управления станками.
Практически любое современное устройство, работающее в соответствии с определенным алгоритмом, содержит в себе хотя бы один контроллер.
Сегодня системы, построенные на основе микропроцессоров, являются незаменимым и эффективным средством решения различных проблем, связанных со сбором и преобразованием информации, автоматическим управлением, получением и преобразованием различных видов энергии.
Самыми популярными областями применения устройств этого типа является сложная техника типа смартфонов, ноутбуков или персональных ЭВМ, а также управление техническими процессами в составе микро-ЭВМ, сеть из которых может заменить ЭВМ высокой производительности, повысив при этом гибкость, надежность и эффективность работы.
Таким образом, микроконтроллеру отдается предпочтение в случае использования относительно простых алгоритмов работы, ограниченности места для размещения устройства управления, важности низкого энергопотребления. Микропроцессоры незаменимы при решении сложных задач, которые требуют большого объема памяти и высокой скорости обработки информации.
Микроконтроллер и микропроцессор — в чём разница?
В составе разных электронных устройств часто встречаются как микроконтроллеры, так и микропроцессоры. Оба этих компонента берут из памяти команды и по ним выполняют логические и арифметические операции, работая при этом с устройствами ввода/вывода и прочей периферией. Так в чём тогда разница?
Микроконтроллер
Микроконтроллер — (далее МК) это микросхема, предназначенная для программного управления электронными схемами. МК выполняется на одном кристалле. На нём расположено как вычислительное устройство, так и ПЗУ и ОЗУ. Кроме этого, в составе МК чаще всего находятся порты ввода/вывода, таймеры, АЦП, последовательные и параллельные интерфейсы. В некоторых даже можно заметить Wi-Fi-/Bluetooth-модуль и даже поддержку NFC.
Первый патент на микроконтроллер был выдан в 1971 году компании Texas Instruments. Инженеры этой компании предложили размещать на кристалле не только процессор, но и память с устройствами ввода/вывода.

Структурная схема микроконтроллера
Несмотря на то, что всё необходимое для работы микроконтроллера в нём уже есть, иногда они используются в паре с внешними периферийными устройствами. К примеру, когда внутренней ПЗУ не хватает (или она попросту отсутствует), подключают внешнюю. Именно так сделали с микроконтроллерами серии ESP. У ESP8266 встроенной памяти нет вообще, а у ESP32 есть незначительные 448 КБ. Поэтому к ним в корпус (точнее под радиатор) помещается flash-память ёмкостью 1–16 МБ.
Тогда почему бы не сделать какой-нибудь портативный компьютер на основе микроконтроллера? Дело в том, что вычислительной мощности у МК чаще всего достаточно мало. Её хватает на управление например, системой полива, микроволновкой или же каким-нибудь станком.
Например, одна из мощных плат платформы Arduino — Due. Она находится под управлением 32-битного AVR-микроконтроллера AT91SAM3X8E. Его тактовая частота 84 МГц. Постоянной памяти тут 512 КБ, а оперативной — 96 КБ. МК имеет 54 цифровых GPIO (12 из которых с поддержкой ШИМ), 12 аналоговых входов и 2 аналоговых выхода (ЦАП). Тут так же присутствуют различные интерфейсы, такие как UART, SPI, I2C.
Не смотря на такие незначительные характеристики, микроконтроллеры очень популярны. Они используются там, где не требуется большой вычислительной мощности — робототехника, контроллеры теплиц, бытовая техника.
Микропроцессор
С микропроцессором (далее МП) дела обстоят немного иначе. Он содержит в себе арифметико-логическое устройство, блок синхронизации и управления, запоминающие устройство, регистры и шину. То есть МП содержит в себе только то, что непосредственно понадобится для выполнения арифметический и логических операций. Все остальные комплектующие (ОЗУ, ПЗУ, устройства ввода/вывода, интерфейсы) нужно подключать извне.

Структурная схема микропроцессорного устройства
Первые микропроцессоры появились тоже в начале 70-х. Самым популярным на тот момент считался 4004. Это микропроцессор, разработанный компанией Intel и представленный 15 ноября 1971 года. Он имел внушающие на тот период характеристики:
- 2300 транзисторов;
- тактовая частота — 740 кГц;
- разрядность регистров и шины — 4 бита;
- техпроцесс — 10 мкм;
- площадь кристалла: — 12 мм².
К слову, 4004 был выполнен в обычном DIP-16 корпусе. Этот МП является самой популярной микросхемой для коллекционирования. Некоторые экземпляры продаются по 400 $ за штуку. Менее раритетные стоят около 250 $.
Уже через пару лет 8-битные МП позволили создавать первые бытовые микрокомпьютеры.
Естественно, тут преимуществом является то, что к МП можно на выбор подключать разную периферию с разными характеристиками (что не во всех случаях можно на МК). Второе основное отличие микропроцессора от микроконтроллера в том, что МП имеют больше вычислительной мощности. Их не имеет смысла ставить в микроволновки и «умные» лампочки. Микропроцессоры применяют там, где вычислительная мощность МК уже не справляется — игровые приставки, сложные вычислительные устройства и приборы, гаджеты.
Получается, чтобы обеспечить работоспособность микропроцессора, нужно подключить ему хотя бы минимальный набор периферии. Минусы:
- Размер — если в случае МК всё уже находится в одном корпусе, то минимальный набор элементов для работы МП занимает больше места.
- Цена — обычно, вся «сборка» комплектующих для МП выходит гораздо дороже «голых» микроконтроллеров.
- Производительность — микропроцессоры обладают большей производительностью, чем микроконтроллеры.
- Выбор — в случае МП у вас есть возможность подобрать комплектующие. Это позволит поставить более подходящую под ваши цели периферию.
Применение
Микроконтроллер обладает явной простотой: требуется меньше аппаратного обеспечения, с ним легче работать на программном уровне, да и стоимость начинается с копеек. Но эта простота касается и производительности. Как говорилось выше, микроконтроллер не способен обеспечить высокую производительность наравне с микропроцессорами. Микропроцессоры хоть и требуют внешней коммутации «железа» и относительно МК сложны в работе, но они уже спокойно могут применяться в более сложных устройствах.
Однако иногда в сети появляются умельцы, которые впихивают в микроконтроллер ESP32 DOOM и даже эмулятор NES-игр.
