Чем отличается микроконтроллер от микропроцессора: Микропроцессор или микроконтроллер? Что выбрать для своей разработки?

Содержание

Микропроцессор или микроконтроллер? Что выбрать для своей разработки?

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

Для начала давайте рассмотрим разницу между микроконтроллером (MCU) и микропроцессором (MPU). Обычно микроконтроллер использует встроенную флэш память, в которой хранятся и выполняется его программа. Благодаря этому, микроконтроллер имеет очень короткое время запуска и может выполнять код очень быстро. Единственное ограничение при использовании встроенной памяти — это ее конечный объем. Большинство микроконтроллеров, доступных на рынке, имеют максимальный объем флэш памяти ~2 мегабайта. Для некоторых приложений это может оказаться критическим фактором.  

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

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

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

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

Один из аспектов, которые сложно определить, это быстродействие, требуемое для работоспособности будущей системы. Количественно оценить этот критерий можно с помощью так называемой вычислительной мощности, которая измеряется в 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 раз меньше.

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

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

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

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

Atmel «Microprocessor (MPU) or Microcontroller (MCU)?». Вольный перевод ChipEnable.Ru

Поясним какое различие между микропроцессором и микроконтроллером.

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

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

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

Микроконтроллер можно назвать сердцем встроенных систем. Некоторые примеры популярных микроконтроллеров: 8051, АВР, серия pic.

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

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

Микропроцессор имеет только процессор внутри них в одной или нескольких интегральных схем. Как и микроконтроллеры не имеют оперативной памяти, ROM и другие периферийные устройства. Они зависят от внешних цепей периферийных устройств к работе. Но микропроцессоры делаются не для конкретной задачи, а они необходимы там, где задачи являются сложными и хитрыми, как Разработка программного обеспечения, игр и других приложений, требующих большого объема памяти и где вход и выход не определены. Его можно назвать сердцем компьютерной системы. Некоторые примеры являются микропроцессор Pentium, i3, и i5, и т. д.

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

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

1. Ключевым отличием в них является наличие внешнего периферийного устройства, в микроконтроллерах ОЗУ, ПЗУ, ЭСППЗУ встроенные в него,  в случае микропроцессоров мы должны использовать внешние цепи.

 2. Вся периферийного микроконтроллера собрана на одном кристалле она компактна, в то время как микропроцессор является громоздким.

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

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

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

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

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

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

<<< Техническая информация

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

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

Примеры семейств микронтроллеров, использующих архитектуру Гарварда: AVR, Intel 8051, PIC (кроме PIC32, см. Ниже) и ARM Cortex-M3. Заметным исключением являются процессоры Freescale, такие как HCS08, которые используют архитектуру фон Неймана, как и пропеллер Parallax.

Это влияет на программирование несколькими способами (примеры, показанные ниже, используют C):

Может быть несколько типов оперативной памяти, каждый со своим адресным пространством. Например, 8051 имеет внешние данные (xdata), которые адресуются отдельно от первых 256 байтов ОЗУ, хотя оба они реализованы на одном чипе. Поэтому необходимо использовать квалификаторы в объявлениях переменных, таких какunsigned int xdata foo;

Если константы объявлены в памяти кода, их может потребоваться скопировать в ОЗУ, прежде чем к ним можно будет получить доступ. Или должен существовать способ доступа к памяти кода, как если бы это были данные — например, спецификатор кода для 8051-го или функция PIC Program Space Visiblity (PSV).

Эти нестандартные способы доступа к коду и оперативной памяти, как правило, являются основным отличием (помимо периферийных устройств) при переносе кода C из одного семейства чипов в другое.

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

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

Отличие микропроцессоров от микроконтроллеров. и получил лучший ответ

Ответ от Releboy[гуру]
МИКРОПРОЦЕССОР — самостоятельное или входящее в состав микро-ЭВМ устройство обработки информации, выполненное в виде одной или нескольких больших интегральных схем (по сути — это мозг микроконтроллера) . С появлением однокристальных микро-ЭВМ связывают начало эры массового применения компьютерной автоматизации в области управления. По-видимому, это обстоятельство и определило термин «контроллер» (англ. controller — регулятор, управляющее устройство) . В связи со спадом отечественного производства и возросшим импортом техники, в том числе вычислительной, термин «микроконтроллер» (МК) вытеснил из употребления ранее использовавшийся термин «однокристальная микро-ЭВМ» . Первый патент на однокристальную микро-ЭВМ был выдан в 1971 году инженерам М. Кочрену и Г. Буну, сотрудникам американской Texas Instruments. Именно они предложили на одном кристалле разместить не только процессор, но и память с устройствами ввода-вывода. При проектировании микроконтроллеров приходится соблюдать баланс между размерами и стоимостью с одной стороны и гибкостью и производительностью с другой. Для разных приложений оптимальное соотношение этих и других параметров может различаться очень сильно. Поэтому существует огромное количество типов микроконтроллеров, отличающихся архитектурой процессорного модуля, размером и типом встроенной памяти, набором периферийных устройств, типом корпуса и т. д. В то время как 16-разрядные процессоры общего назначения давно и полностью вытеснены более производительными моделями, 8-разрядные микроконтроллеры продолжают широко использоваться. Это объясняется тем, что существует большое количество применений, в которых не требуется высокая производительность, но важна низкая стоимость. В то же время, есть микроконтроллеры, обладающие больши́ми вычислительными возможностями, например цифровые сигнальные процессоры. Сегодня термин микроконтроллер — это компьютер, управляющий периферийными устройствами в автоматическом режиме без участия оператора. Обычно работают на низших уровнях автоматизации. Современные же персональные компьютеры – это мощные и скоростные микроконтроллеры, направленные на выполнение огромного числа операций и функций с участием оператора. Собирают и обрабатывают информацию от контроллеров. Используются на высоких уровнях автоматизации.

Ответ от Ёеренький [гуру]
как я знаю микропроцессор уже запрограмирован. а микрокантроллер можно запрограмировать как захочеш в зависимости от задач один и тотже контролер может управлять и работой допустим индикатора многоразрядного с различным счеслением генерировать частоту управлять комутацией различных устройств даже на ВЧ управлять работой интерфейса (например модема) обычно их используют в относительно не дорогих многофункциональных устройствах в зависимости от времени выпуска устройство функциональный сервес может различатся задается прграмой

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


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

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

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

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

Операции, выполняемые микропроцессором, являются общими по своему назначению. Поэтому считается необходимым выполнять любые логические операции на компьютеризированной машине. Микропроцессоры настроены на микросхемы; он изготовлен из миниатюрных транзисторов и некоторых других элементов схемы на одиночной полупроводниковой ИС для выполнения своих задач в компьютере. Он сокращенно обозначается как «µP» или «uP». Существует пять основных типов процессоров:

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

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

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

Микроконтроллеры предназначены для выполнения определенных операций, которые помогают управлять конкретными системами. Он сокращенно обозначен как «uC», «µC» или «MCU».

Микроконтроллеры похожи на небольшой компьютер, в котором ЦП, блок памяти, такой как ОЗУ и ПЗУ, периферийные устройства ввода / вывода, таймеры, счетчики, встроены в одну интегральную схему, т.е. IC. Они легко подключаются к внешним периферийным устройствам, таким как последовательные порты, АЦП, ЦАП, Bluetooth, Wi-Fi и т. Д. Здесь процесс сопряжения происходит быстрее по сравнению с сопряжением микропроцессора. В большинстве случаев микроконтроллеры используют архитектуру RISC или CISM для выполнения задач на разных машинах. Различные типы микроконтроллеров:

  • 8-битный микроконтроллер
  • 16-битный микроконтроллер
  • 32-битный микроконтроллер
  • Встроенный микроконтроллер
  • Встроенный микроконтроллер

Сравнение между микропроцессором и микроконтроллером:

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

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

Это сердце компьютерной системы.

Это сердце встроенной системы.

Содержит

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

Он содержит схему микропроцессора и имеет встроенные ПЗУ, ОЗУ, устройства ввода-вывода, таймеры и счетчики.

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

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

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

Это большой.

Это небольшое.

Стоимость

Стоимость всей системы увеличивается.

Стоимость всей системы низкая.

Битовые инструкции

Он имеет одну или две инструкции по обработке битов.

Он имеет много инструкций по обработке битов.

Регистрационные номера

Имеет меньшее количество регистров; следовательно, операции основаны на памяти.

У этого есть больше количества регистров; следовательно, программы легче писать.

Место хранения

Он основан на архитектуре фон Неймана, где программа и данные хранятся в одном модуле памяти.

Он основан на архитектуре Гарварда, где память программ и память данных хранятся в отдельном модуле.

Время доступа к памяти и устройствам ввода / вывода больше.

Меньше времени доступа к встроенной памяти и устройствам ввода / вывода.

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

Это требует больше оборудования.

Это требует меньше оборудования.

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

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

Микроконтроллер — (далее МК) это микросхема, предназначенная для программного управления электронными схемами. МК выполняется на одном кристалле. На нём расположено как вычислительное устройство, так и ПЗУ и ОЗУ. Кроме этого, в составе МК чаще всего находятся порты ввода/вывода, таймеры, АЦП , последовательные и параллельные интерфейсы. В некоторых даже можно заметить 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-х. Самым популярным на тот момент считался . Это микропроцессор, разработанный компанией Intel и представленный 15 ноября 1971 года. Он имел внушающие на тот период характеристики:

  • 2300 транзисторов;
  • тактовая частота — 740 кГц;
  • разрядность регистров и шины — 4 бита;
  • техпроцесс — 10 мкм;
  • площадь кристалла: — 12 мм².

К слову, 4004 был выполнен в обычном DIP-16 корпусе. Этот МП является самой популярной микросхемой для коллекционирования. Некоторые экземпляры продаются по 400 $ за штуку. Менее раритетные стоят около 250 $.

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

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

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

  1. Размер — если в случае МК всё уже находится в одном корпусе, то минимальный набор элементов для работы МП занимает больше места.
  2. Цена — обычно, вся «сборка» комплектующих для МП выходит гораздо дороже «голых» микроконтроллеров.
  1. Производительность — микропроцессоры обладают большей производительностью, чем микроконтроллеры.
  2. Выбор — в случае МП у вас есть возможность подобрать комплектующие. Это позволит поставить более подходящую под ваши цели периферию.

Применение

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

Однако иногда в сети появляются умельцы, которые впихивают в микроконтроллер ESP32

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

Для начала давайте рассмотрим разницу между микроконтроллером (MCU) и микропроцессором (MPU). Обычно микроконтроллер использует встроенную флэш память, в которой хранятся и выполняется его программа. Благодаря этому, микроконтроллер имеет очень короткое время запуска и может выполнять код очень быстро. Единственное ограничение при использовании встроенной памяти — это ее конечный объем. Большинство микроконтроллеров, доступных на рынке, имеют максимальный объем флэш памяти ~2 мегабайта. Для некоторых приложений это может оказаться критическим фактором.

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

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

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

Один из аспектов, которые сложно определить, это быстродействие, требуемое для работоспособности будущей системы. Количественно оценить этот критерий можно с помощью так называемой вычислительной мощности, которая измеряется в 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 раз меньше.

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

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

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

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

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

Отличие микропроцессоров от микроконтроллеров. и получил лучший ответ

Ответ от Releboy[гуру]
МИКРОПРОЦЕССОР — самостоятельное или входящее в состав микро-ЭВМ устройство обработки информации, выполненное в виде одной или нескольких больших интегральных схем (по сути — это мозг микроконтроллера) . С появлением однокристальных микро-ЭВМ связывают начало эры массового применения компьютерной автоматизации в области управления. По-видимому, это обстоятельство и определило термин «контроллер» (англ. controller — регулятор, управляющее устройство) . В связи со спадом отечественного производства и возросшим импортом техники, в том числе вычислительной, термин «микроконтроллер» (МК) вытеснил из употребления ранее использовавшийся термин «однокристальная микро-ЭВМ» . Первый патент на однокристальную микро-ЭВМ был выдан в 1971 году инженерам М. Кочрену и Г. Буну, сотрудникам американской Texas Instruments. Именно они предложили на одном кристалле разместить не только процессор, но и память с устройствами ввода-вывода. При проектировании микроконтроллеров приходится соблюдать баланс между размерами и стоимостью с одной стороны и гибкостью и производительностью с другой. Для разных приложений оптимальное соотношение этих и других параметров может различаться очень сильно. Поэтому существует огромное количество типов микроконтроллеров, отличающихся архитектурой процессорного модуля, размером и типом встроенной памяти, набором периферийных устройств, типом корпуса и т. д. В то время как 16-разрядные процессоры общего назначения давно и полностью вытеснены более производительными моделями, 8-разрядные микроконтроллеры продолжают широко использоваться. Это объясняется тем, что существует большое количество применений, в которых не требуется высокая производительность, но важна низкая стоимость. В то же время, есть микроконтроллеры, обладающие больши́ми вычислительными возможностями, например цифровые сигнальные процессоры. Сегодня термин микроконтроллер — это компьютер, управляющий периферийными устройствами в автоматическом режиме без участия оператора. Обычно работают на низших уровнях автоматизации. Современные же персональные компьютеры – это мощные и скоростные микроконтроллеры, направленные на выполнение огромного числа операций и функций с участием оператора. Собирают и обрабатывают информацию от контроллеров. Используются на высоких уровнях автоматизации.

Ответ от Ёеренький [гуру]
как я знаю микропроцессор уже запрограмирован. а микрокантроллер можно запрограмировать как захочеш в зависимости от задач один и тотже контролер может управлять и работой допустим индикатора многоразрядного с различным счеслением генерировать частоту управлять комутацией различных устройств даже на ВЧ управлять работой интерфейса (например модема) обычно их используют в относительно не дорогих многофункциональных устройствах в зависимости от времени выпуска устройство функциональный сервес может различатся задается прграмой

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

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

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

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

Микропроцессор (в ангоязычной литературе MPU — Micro Processor Unit) содержит функционал компьютерного центрального процессора, или ЦП (CPU — Central Processing Unit) на одном полупроводниковом кристалле (ИМС — интегральная микросхема или на западный манер — Integrated Circuit).

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

Микропроцессор обрабатывает данные, поступающие с входных периферийных устройств и передает обработанные данные на выходные периферийные устройства.

Существует четыре основных типа процессоров, различающихся своей архитектурой.

Микропроцессоры с полным набором команд (Complex Instruction Set Computer, CISC -архитектура). Характеризуются нефиксированным значением длины команды, кодированием арифметических действий одной командой, небольшим числом регистров, выполняющих строго определённые функции. Примером такого типа процессоров служит семейство x86.

Микропроцессоры с сокращенным набором команд (Reduced Instruction Set Computer, RISC -архитектура). Обладают, как правило, повышенным быстродействием за счёт упрощения инструкций, что позволяет упростить процесс декодирования и, соответственно, сократить время их выполнения. Большинство графических процессоров разрабатываются, используя этот тип архитектуры.

Микропроцессоры с минимальным набором команд (Minimal Instruction Set Computer, MISC -архитектура). В отличие от RISC-архитектуры, в них используются длинные командные слова, что позволяет выполнять достаточно сложные действия за один цикл работы устройства. Формирование длинных «командных слов» стало возможным благодаря увеличению разрядности микропроцессорных устройств.

В суперскалярных процессорах (Superscalar Processors ) используются несколько декодеров команд , которые загружают работой множество исполнительных блоков . Планирование исполнения потока команд происходит динамически и осуществляется самим вычислительным ядром. Примером процессора с таким типом архитектуры является, например Cortex A8.

Отдельно хочу выделить микропроцессоры специального назначения (ASIC — Application S pecific I ntegrated C ircuit). Как следует из названия, предназначены для решения конкретной задачи. В отличие от микропроцессоров общего назначения, применяются в конкретном устройстве и выполняют определенные функции, характерные только для данного устройства. Специализация на выполнении узкого класса функций приводит к увеличению скорости работы устройства и, как правило, позволяет снизить стоимость такой интегральной схемы. Примерами таких микропроцессоров может быть микросхема, разработанная исключительно для управления мобильным телефоном , микросхемы аппаратного кодирования и декодирования аудио- и видеосигналов — так называемые цифровые сигнальные процессоры (Digital Signal Processing, DSP multiprocessors). Могут быть реализованы в виде ПЛИС (программируемая логическая интегральная схема). При разработке таких процессоров для описания их функциональности используют языки описания аппаратных устройств (HDL — Hardware D escription L anguage) , такие как Verilog и VHDL .

Системы на основе микропроцессоров строят примерно следующим образом.

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

Теперь, давайте, рассмотрим микроконтроллер.

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

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

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

Ядро микроконтроллера (центральный процессор), как правило строится на основе RISC-архитектуры.

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

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

Микропроцессор Микроконтроллер
Использование Компьютерные системы Встраиваемые системы
Устройство Содержит центральный процессор, регистры общего назначения, указатели стека, счетчики программы, таймер и цепи прерываний Cодержит схему микропроцессора и имеет встроенные ПЗУ, ОЗУ, устройства ввода/вывода, таймеры и счетчики.
Память данных Имеет много инструкций для перемещения данных между памятью и процессором. Имеет одну-две инструкции для перемещения данных между памятью и процессором.
Электрические цепи Высокая сложность Достаточно простые
Затраты Стоимость всей системы увеличивается Низкая стоимость системы
Число регистров Имеет меньшее количество регистров, операции в основном производятся в памяти. Имеет большее число регистров, поэтому проще писать программы
Запоминающее устройство Основано на архитектуре фон Неймана. Программа и данные хранятся в том же модуле памяти. Основано на Гарвардской архитектуре. Программы и данные хранятся в разных модулях памяти.
Время доступа Время доступа к памяти и устройствам ввода/вывода больше. Меньшее время доступа для встроенной памяти и устройств ввода/вывода.
Железо Требует большее количество аппаратного обеспечения. Требует меньшее количество аппаратного обеспечения.

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

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

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

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

  • Что такое микропроцессор?
  • Что такое микроконтроллер? Каковы его особенности?
  • Где используются микроконтроллеры?
  • Чем микроконтроллер отличается от микропроцессора?
  • Что такое сигнальный процессор?
  • Что такое программируемый логический контроллер (ПЛК)? Как он построен?
  • Как программируют ПЛК?

Вы уже наверняка знаете, что любой компьютер – это машина для обработки информации, не взирая на то, какую конкретно задачу он выполняет. Центральным элементом компьютера является микропроцессор. Если спросить у ученика средней школы: – Что такое микропроцессор?, – то, скорее всего, получите ответ «Микропроцессор – это сердце компьютера».

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

Почему «микроэлектронное»? Потому что микропроцессоры производятся с помощью технологий современной микроэлектроники на основе полупроводникового кристалла. Информация в микропроцессорной системе передается электрическими импульсами. Конструктивно микропроцессор исполняется в виде одной микросхемы (иногда – нескольких). Микросхема состоит из пластикового или керамического корпуса, внутри которого размещается миниатюрная полупроводниковая подкладка (рис. 1). На этой подкладке лазером «начерчены» все электронные схемы микропроцессора. Входы и выходы схемы на подкладке соединены с металлическими выводами, расположенными по бокам или снизу корпуса микросхемы.



а) б)

Рис. 1. Интегральная микросхема (а) и ее внутреннее строение (б)

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

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

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

Персональный компьютер может иметь множество применений, однако это достаточно дорогое и громоздкое устройство. А как же наделить элементами интеллекта бытовую технику, автомобили, медицинские приборы? Как сделать их «умными»? Понятно, что в бытовой кондиционер нельзя вмонтировать системный блок обычного компьютера. Это повысит его стоимость в два-три раза. И в составе так называемого смарт-телевизора мы не найдем отдельного персонального компьютера в его обычном виде. Для автоматизации такого рода техники разработаны и изготавливаются специальные процессорные устройства – однокристальные микроконтроллеры (англ.: «Microcontroller»). Английское слово «control» обозначает «контролировать», «управлять». Таким образом, микроконтроллер – это специальный микропроцессор, предназначенный для автоматизации разнообразных устройств и управления их работой.

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

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

Рис. 2. Сферы применения микроконтроллеров.

Микроконтроллеры также широко используются в автомобильной электронике. Например, автомобиль «Peugeot 206» имеет на борту 27 микроконтроллеров, а в автомобилях высокого класса, таких как, например, «BMW» седьмой серии, используется более 60 микроконтроллеров. Они регулируют жесткость адаптивной подвески, управляют впрыском топлива, светотехникой, двигателями дворников, стеклоподъемников и зеркал заднего вида и т. п. (рис. 3).


Рис. 3. Использование микроконтроллеров в автомобильной электронике
(по материалам Microchip Technology).

Микроконтроллер, в отличие от микропроцессора, обычно имеет небольшую разрядность (8 – 16 бит) и богатый набор команд манипулирования отдельными битами. Битовые команды дают возможность управлять дискретным оборудованием (поднять/опустить шлагбаум, включить/выключить лампу, нагреватель, запустить/остановить двигатель, открыть/закрыть клапан, и проч. ) Средства, обеспечивающие возможность оперировать отдельными битами, вводить и выводить дискретные сигналы называют «битовым процессором».

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

Типовая архитектура микроконтроллера (рис. 4) содержит систем систему синхронизации и управления (1), арифметико-логическое устройство (2), регистры общего назначения (3), память данных (4) и память программ (5), порты (6), функциональные устройства (таймеры, счетчики, широтно-импульсные модуляторы, интерфейсы) и регистры для их настройки (7), рис. 4.


Рис. 4. Архитектура типичного микроконтроллера.

Программы для микроконтролеров создают в специальных интегрованных инструментальных средах (англ .: I ntegrated D evelopment E nvironment, IDE) языками Асемблера (машинных команд) или C++.

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

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

Сигнальные процессоры (англ .: D igital S ignal P rocessor, DSP) характеризуются высокой разрядностью и быстродействием, имеют в системе команд специальные инструкции для реализации типовых алгоритмов цифровой обработки сигналов (ЦОС). Также на одном кристалле, кроме собственно процессорной части, реализуются аналогово-цифровые и цифро-аналоговые преобразователи. А налого-Ц ифровой П реобразователь (АЦП) заменяет непрерывный входной сигнал соответствующим потоком цифровых данных (отсчетов). Далее эти данные обрабатываются процессорной частью, после чего с помощью Ц ифро-А налогового П реобразователя (ЦАП) обработанные цифровые данные снова воспроизводятся в аналоговый сигнал. Таким способом сигнальный процессор может углублять четкость изображения, или, наоборот, размывать его, шифровать и дешифровать аудио- и видеопотоки, воспроизводить на экране виртуальную или дополненную реальность, отслеживать движущиеся объекты даже в условиях значительных помех и неполной входной информации.


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

высокая разрядность,
универсальная архитектура.

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

Еще один тип микропроцессорных устройств, которые за последние 30 – 40 лет заняли свою рыночную нишу – так называемые программируемые логические контроллеры.

П рограммируемый Л огический К онтроллер (ПЛК; англ .: P rogrammable L ogic C ontroller или PLC) – это специализированная микропроцессорная система, которая используется для автоматизации технологических процессов и общепромышленных установок и комплексов (конвейеров, рольгангов, подъемных кранов, дробилок, мельниц, классификаторов, смесителей, прессов, упаковочных машин, робототехнических и гибких производственных комплексов, и т. п.)

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

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

Рис. 5. Программируемые логические контроллеры.

Кроме аппаратной унификации (использования стандартных размеров, уровней напряжений, видов сигналов), прорывному распространению ПЛК поспособстваволо то, что для них были разработаны интуитивные «общеинженерные» языки программирования. Теперь для разработки программы пользователя не обязательно приглашать программиста высокого класса. С этим может справиться (иногда – и лучше) и технолог, и электрик, и химик, и, конечно, специалист по автоматизации. А в случае сложных задач эти языки программирования стирают грань недопонимания между программистом и инженером. Они одинаково понятны и заказчику (инженеру) и исполнителю (программисту).

Таких языков программирования – 6 (5 стандартизированных), причем 4 из них – визуальные (т. е. программа вводится не в виде текста, а как набор соединенных друг с другом графических элементов (блоков), (рис. 6).


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

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

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

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

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

Под микроконтроллером понимается электронный компонент, содержащий в себе основные аппаратные модули, необходимые для выполнения им своих функций. Такие как, например:

  • вычислительный чип;
  • модуль ПЗУ;
  • модуль ОЗУ;
  • таймер;
  • мосты;
  • регулятор напряжения;
  • порты ввода и вывода.

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

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

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

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

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

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

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

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

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

Сравнение

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

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

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

Таблица

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

Удивительно, как небольшая часть технологии изменила лицо персональных компьютеров. С первого коммерческого микропроцессора (4-бит 4004), который был разработан Intel в 1971 году для более продвинутого и универсального 64-битного Itanium 2, микропроцессорная технология перешла в совершенно новую сферу архитектуры следующего поколения. Достижения в области микропроцессорной техники сделали персональные вычисления более быстрыми и надежными, чем когда-либо прежде. Если микропроцессор является сердцем компьютерной системы, микроконтроллер — это мозг. Как микропроцессор, так и микроконтроллер часто используются в синонимах друг друга из-за того, что они имеют общие функции и специально разработаны для приложений реального времени. Однако у них есть и их доля различий.

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

Микропроцессор — это интегрированный чип на основе кремния, имеющий только центральный процессор. Это сердце компьютерной системы, которая предназначена для выполнения множества задач, связанных с данными. Микропроцессоры не имеют RAM, ROM, IO контактов, таймеров и других периферийных устройств на чипе. Они должны быть добавлены извне, чтобы сделать их функциональными. Он состоит из ALU, который обрабатывает все арифметические и логические операции; блок управления, который управляет и управляет потоком инструкций по всей системе; и Register Array, который хранит данные из памяти для быстрого доступа. Они предназначены для приложений общего назначения, таких как логические операции в компьютерной системе. Проще говоря, это полностью функциональный процессор на единой интегральной схеме, который используется компьютерной системой для выполнения своей работы.

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

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

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

1) Технология, используемая в микропроцессоре и микроконтроллере

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

2) Архитектура микропроцессора и микроконтроллера

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

3) Работа микропроцессора и микроконтроллера

Для микропроцессора требуется внешняя шина для подключения к периферийным устройствам, таким как RAM, ROM, Analog и Digital IO, а также последовательные порты. ALU выполняет все арифметические и логические операции, поступающие с устройств памяти или ввода, и выполняет результаты на выходных устройствах. Микроконтроллер представляет собой небольшое устройство со всеми периферийными устройствами, встроенными в один чип, и предназначен для выполнения определенных задач, таких как выполнение программ для управления другими устройствами.

4) Память данных в микропроцессоре и микроконтроллере

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

5) Хранение в микропроцессоре и микроконтроллере

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

6) Приложения микропроцессора и микроконтроллера

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

Микропроцессор против микроконтроллера: сравнительная таблица

Резюме микропроцессора и микроконтроллера

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

Отличие микроконтроллеров от цифровых сигнальных процессоров. Чем микроконтроллер отличается от микропроцессора

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

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

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

Предпосылки для появления микропроцессорных и микроконтроллерных систем

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

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

Кстати, в 1969 году уже был изобретен прообраз интернета — ARPANET (англ. Advanced Research Projects Agency Network).

Параллельно развивались полупроводниковые технологии — в 1907 работы по детекторам и электролюминесценции полупроводников. В 1940-е диоды и транзисторы. Это всё привело к появлению интегральных технологий. Роберт Нойс в 1959 году изобрел интегральную микросхему (дальше ИМС или МС).

Важно:

Фирма Intel — внесла огромный вклад в развитие микроконтроллеров. Основатели: Роберт Нойс, Гордон Мур и Эндрю Гроув. Основана в 1968 году.

До определённых пор фирма производила п/п запоминающие устройства. Первым была МС «3101» — 64 разряда, Шотки — биполярная статическая ОЗУ.

Следующим было изобретение «4004» — микропроцессора с 2300 п/п транзисторов в своём составе, по производительности не хуже, чем ENIAC, а размером меньше ладони. Т.е. размер 4004-го микропроцессора был на много порядков меньше.

Архитектура, программирование, физическая реализация

Разработчиком архитектуры первого микропроцессора стал — Тед Хофф , системы команд — Стен Мейзор . Федерико Феджин — спроектировал кристалл. Но изначально компания Intel не владела всеми правами на этот чип, и, заплатив 60 000 долларов компании Busicom, получила полные права. Вскоре, последняя обанкротилась.

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

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

Это интересно:

4004 — 4-разрядная, p-МОП микросхема.

Следующим этапом стал выпуск в 1972 году процессора «8008». В отличие от предыдущей модели он уже больше похож на современные модели. 8008 — 8 разрядный, имеет аккумулятор, 6 регистров общего назначения, указатель стэка, 8 регистров адреса, команды ввода-вывода.

Событие:

А в 1973 году была изобретена наиболее удачная конфигурация микропроцессора, который до сих пор является классическим — это 8 разрядный «8080».

Через полгода у Intel появился серьезный конкурент — Motorola с процессором «6800», n-МОП технология, трёхшинную структуру с 16 разрядной шиной адреса. Более мощная система прерываний, для его питания достаточно оного напряжения, а не три, как у «8080». Кроме того, команды были проще и короче.

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

Ускорило скорость работы и расширило возможности микропроцессоров внедрение 16-разрядных микропроцесоров. Первым из них был разработан «8086» от Intel. Именно его использовали в компании IBM для создания первых персональных компьютеров.

Процессор «68000» — 16 разрядный ответ от «Motorola», использовался в компьютерах ATARI и Apple

Для широкой аудитории в роли ПК стали популярны ZX Spectrum . В них устанавливались процессоры «Z80», от Sinclair Research Ltd. Одна из основных причин популярности — не нужно покупать монитор, ведь спектрум, как современные приставки, подключался к телевизору, а обычный магнитофон как устройство для записи и хранения программ и данных.

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

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

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

Конец семидесятых — это новая волна конкуренции между Intel и Motorola. Причиной этому стали две презентации, а именно в 76 году Intel выпустила i8048, а Motorola, только в 78 — mc6801, который был совместим с раним микропроцессором mc6800.

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

Для своего времени он имел немыслимые 128 000 транзисторов. Это в четыре раза превосходило количество в i8086 процессоре.

В 2017 году, и последние десятилетие наиболее распространены следующие виды микроконтроллеров:

    8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel;

    16-битные MSP430 фирмы TI;

    32-битные микроконтроллеры, архитектуры ARM. Она продаётся разработчиками различным фирмам, на базе которой выпускается масса различных продуктов.

В Советском союзе техника не стояла на месте. Ученные не только копировали наиболее удачные и интересные зарубежные разработки, но и занимались разработкой уникальных проектов. Таким образом к 1979 году в НИИ ТТ была разработана К1801ВЕ1, эта микроархитектура называлась «Электроника НЦ» и имела 16 разрядов.

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

Микроконтроллеры можно разделить по таким критериям:

    Разрядность;

    Система команд;

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

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

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

Деление происходит на:

Деление по типу системы команд:

    RISC-архитектура , или сокращенная система команд. Ориентирована на быстрое выполнение базовых команд за 1, реже 2 машинных цикла, а также имеет большое количество универсальных регистров, и более длинный способ доступа к постоянной памяти. Архитектурна характерна для систем под управление UNIX;

    СISC-архитектура , или полная система команд, характерна прямая работа с памятью, большее число команд, малое число регистров (ориентирована на работу с памятью), длительность команд от 1 до 4 машинных циклов. Пример — процессоры Intel.

Деление по типу памяти:

    Архитектура Фон-Неймана — основная черта общая область памяти для команд и данных, при работе с такой архитектурой в результате ошибки программиста данные могут записаться в область памяти программ и дальнейшее выполнение программы станет невозможным. Пересылка данных и выборка команды не может осуществляться одновременно по тем же причинам. Разработана в 1945 году.

    Гарвардская архитектура — раздельная память данных и память программ, использовалась в первые на компьютерах семейства Mark. Разработана в 1944 году.

Выводы

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

Пошаговое обучение программированию и созданию устройств на микроконтроллерах AVR

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

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

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

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

На данный момент у Максима Селиванова есть 4 курса по созданию устройств на микроконтроллерах, построенные по принципу от простого к сложному.

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

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

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

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

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

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

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

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

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

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

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

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

Altera-Cyclone and Arduino

Каждый начинающий микропрогер на определенном этапе своего развития задается вопросом в чем же разница между ПЛИС (фирм Altera или Xilinx) и микроконтроллером (микропроцессором)?

Читаешь форумы — знатоки дела пишут, что это совершенно разные вещи, которые нельзя сравнить, аргументируя это тем, что у них разная архитектура . Читаешь мануал по Verilog или C++ — и тот и другой используют похожие операторы со схожим функционалом, даже синтаксис похож, а почему разные? Заходишь на марсоход — там светодиодами (или даже просто лампочками) с помощью FPGA моргают, смотришь проекты на Arduino — там роботами управляют. СтОп!

А вот теперь остановимся и спросим себя: почему с ПЛИС — тупо лампочка, а Ардуино — умно робот? Ведь и первый и второй вроде как программируемое устройство, неужели у ПЛИС возможностей для робота не хватает?

В какой-то степени суть вопроса «В чем разница между ПЛИС и микроконтроллером ?» раскрывается именно на таком примере.

Отметим сразу. Функционал ПЛИС изначально не уступает микроконтроллеру (и микропроцессору, кстати, тоже), точнее — основные функции у одного и второго по сути идентичны — выдавать логические 0 или 1 при определенных условиях, а если говорить о быстродействии, количестве выводов(ножек) и возможностях конвейерной обработки, то микроконтроллеру до ПЛИС а вообще далеко. Но есть одно «но». Время на разработку одного и того же программного алгоритма на двух разных устройствах (ПЛИС и микроконтроллер ) различается в разы, а то и в десятки раз. Именно ПЛИС здесь в 99% случаев сильно уступает МК. И дело вовсе не в замороченности языков Verilog , VHDL или AHDL , а в устройстве самой ПЛИС .

FPGA : в ПЛИС и нет сложных автоматизированных цепочек(делающих часть работы за вас). Есть только железные проводные трассы и магистрали, входы, выходы, логические блоки и блоки памяти. Среди трасс есть особый класс — трасса для тактирования(привязанная к определенным ножкам, через которые рекомендуется проводить тактовую частоту).

Основной состав:

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

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

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

Транзистор — основной элемент ТТЛ логики.

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

Тактовый генератор — внешняя микросхема, вырабатывающая тактовые импульсы, на которых основывается большая часть работы ПЛИС .

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


Архитектура ПЛИС (FPGA)

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

Постоянная память (ПЗУ) — память, в которой хранится ваша программа. В нее входят алгоритмы действий и константы. А так же библиотеки(наборы) команд и алгоритмов.

Оперативная память (ОЗУ) — память, используемая микроконтроллером для временного хранения данных(как триггеры в ПЛИС ). Например, при вычислении в несколько действий. Допустим, нужно умножить первое пришедшее число на второе(1-е действие), затем третье на четвертое(2 действие) и сложить результат(3 действие). В оперативную память при этом занесется результат 1 действия на время выполнения второго, затем внесется результат 2 действия. А затем оба этих результата пойдут из оперативной памяти на вычисление 3 действия.

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

Средства (порты) ввода-вывода и последовательные порты ввода-вывода — ножки микроконтроллера , предназначенные для взаимодействия с внешним миром.

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

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

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

Внутренние магистрали — трассы, проложенные внутри микроконтроллера для информационного обмена между блоками.

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

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


ПЛИС прошивается на уровне железа, практически по всей площади кристалла. Сигналы проходят через сложные цепочки транзисторов. Микропроцессор же прошивается на уровне программы для железа, сигналы проходят группами, от блока к блоку — от памяти к процессору, к оперативной памяти, от оперативной к процессору, от процессору к портам ввода-вывода, от портов ввода-вывода к оперативной памяти, от оперативной памяти… и так далее. Вывод: за счет архитектуры ПЛИС выигрывает в быстродействии и более широких возможностях конвеерной обработки, МК выигрывает в простоте написания алгоритмов. За счет более простого способа описания программ, фантазия разработчика Микроконтроллера менее скованна временем на отладку и разработку, и, таким образом, время на программирование того же робота на МК и ПЛИС будет отличаться во многие и многие разы. Однако робот, работающий на ПЛИС будет гораздо шустрее, точнее и проворнее.

В ПЛИС всю работу нужно делать самому, вручную: для того, чтобы реализовать какую-либо программу на ПЛИС , нужно отследить каждый сигнальчик по каждому проводку, приходящему в ПЛИС , расположить какие-то сигнальчики в ячейки памяти, позаботиться о том, чтобы в нужный момент именно к этим ячейкам памяти обратился другой сигнальчик, который вы так же отслеживаете или даже генерируете, и в итоге набор сигнальчиков, задержанный в памяти задействовал нужный вам сигнальчик, который, например, пойдет на определенную выходную ножку и включит светодиодик, который к ней подключен. Часть сигнальчиков идет не в память, а например на запуск определенной части алгоритма(программы). То есть, говоря языком микропрогера, эти ножки являются адресными. Например, имеем на нашей плате в нашей программе три адресные ножки для включения неких не связанных(или связанных) друг с другом алгоритмов, которые мы реализовали на языке Verilog в ПЛИС . Также в программе, кроме трех адресных ножек, у нас есть еще например 20 информационных ножек, по которым приходит набор входных сигнальчиков(например с разных датчиков) с какой-либо информацией (например температура воды в аквариуме с датчика температуры воды в аквариуме). 20 ножек = 20 бит. 3 ножки -3 бита. Когда приходит адресный сигнал 001(с трех ножек адреса) — запускаем первый алгоритм, который записывает 20 информационных сигнальчиков в 20 ячеек памяти(20 триггеров), затем следующие 20 сигнальчиков умножаем на полученные ранее 20, а результат умножения записываем в память, а потом отсылаем по другим ножкам например в терморегулятор воды в аквариуме. Но Отошлем мы этот результат только тогда, когда на наши адресные ножки придет код например 011 и запустит алгоритм считывания и передачи. Ну, естественно «отсылаем», «считываем» и еще что-то прописываем в ручную. Ведем каждый сигнальчик в каждый такт работы ПЛИС по определенному пути, не теряем. Обрабатываем или записываем. Складываем или умножаем. Не забываем записать. Не забываем принять следующий сигнал и записать в другие триггеры. Еще добавьте сюда работу, привязанную к тактовой частоте, синхронизацию (которая так же реализуется вручную), неизбежные ошибки на этапах разработки и отладки и кучу других проблем, которые в данной статье рассматривать просто бессмысленно. Трудно. Долго. Но зато на выходе работает супер оперативно, без глюков и тормозов. Железно!

Теперь микроконтроллер . 20 ножек на прием информации — для большинства микроконтроллеров физически невозможная задача. А вот 8 или 16 — да пожалуйста! 3 информационных — в легкую! Программа? По адресу 001 умножить первое пришедшее число на второе, по адресу 011 отсылай результат в терморегулятор. Все! Быстро. Легко. Не супер, но оперативно. Если очень грамотно написать программу- без глюков и тормозов. Программно!

Железо и Программа! Вот главное отличие между ПЛИС и Микроконтроллером .

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

Заключение

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

По характеристикам выдаваемого сигнала, ПЛИС чаще всего рассчитана на 3,3В, 20мА, Микроконтроллер на 5В, 20мА.

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

В принципе, все просто!

Остались вопросы? Напишите комментарий. Мы ответим и поможем разобраться =)

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

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

Это как маленький компьютер на одной микросхеме. Он содержит ядро процессора, ПЗУ, ОЗУ и порты ввода/вывода, которые отвечают за выполнение различных задач. Микроконтроллеры обычно используются в проектах и приложениях, которые требуют прямого управления пользователя. Так как он имеет все компоненты, необходимые в одном чипе, он не нуждается в каких-либо внешних цепей, чтобы сделать свою задачу, так микроконтроллеры часто используются во встраиваемых системах и основные микроконтроллеры производства компании делают их применение на рынке встраиваемых решений. Микроконтроллер можно назвать сердцем встроенных систем. Некоторые примеры популярных микроконтроллеров: 8051, АВР, серия pic.

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

Микропроцессор имеет только процессор внутри них в одной или нескольких интегральных схем. Как и микроконтроллеры не имеют оперативной памяти, ROM и другие периферийные устройства. Они зависят от внешних цепей периферийных устройств к работе. Но микропроцессоры делаются не для конкретной задачи, а они необходимы там, где задачи являются сложными и хитрыми, как Разработка программного обеспечения, игр и других приложений, требующих большого объема памяти и где вход и выход не определены. Его можно назвать сердцем компьютерной системы. Некоторые примеры являются микропроцессор Pentium, i3, и i5, и т. д.

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

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

1. Ключевым отличием в них является наличие внешнего периферийного устройства, в микроконтроллерах ОЗУ, ПЗУ, ЭСППЗУ встроенные в него, в случае микропроцессоров мы должны использовать внешние цепи.

2. Вся периферийного микроконтроллера собрана на одном кристалле она компактна, в то время как микропроцессор является громоздким.

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

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

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

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

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

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

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

Микроконтроллер — это «все в одном», процессор, RAM, IO на одном чипе, поэтому вы не можете (скажем) увеличить объем доступной RAM или количество портов ввода-вывода. Управляющая шина является внутренней и недоступной дизайнеру платы.

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

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

However, as I mentioned, the line gets blurry. For example, recent Intel/AMD processors add a memory controller on the chip (previously it was in the chipset).

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

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

Микроконтроллер — (далее МК) это микросхема, предназначенная для программного управления электронными схемами. МК выполняется на одном кристалле. На нём расположено как вычислительное устройство, так и ПЗУ и ОЗУ. Кроме этого, в составе МК чаще всего находятся порты ввода/вывода, таймеры, АЦП , последовательные и параллельные интерфейсы. В некоторых даже можно заметить 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-х. Самым популярным на тот момент считался . Это микропроцессор, разработанный компанией Intel и представленный 15 ноября 1971 года. Он имел внушающие на тот период характеристики:

  • 2300 транзисторов;
  • тактовая частота — 740 кГц;
  • разрядность регистров и шины — 4 бита;
  • техпроцесс — 10 мкм;
  • площадь кристалла: — 12 мм².

К слову, 4004 был выполнен в обычном DIP-16 корпусе. Этот МП является самой популярной микросхемой для коллекционирования. Некоторые экземпляры продаются по 400 $ за штуку. Менее раритетные стоят около 250 $.

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

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

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

  1. Размер — если в случае МК всё уже находится в одном корпусе, то минимальный набор элементов для работы МП занимает больше места.
  2. Цена — обычно, вся «сборка» комплектующих для МП выходит гораздо дороже «голых» микроконтроллеров.
  1. Производительность — микропроцессоры обладают большей производительностью, чем микроконтроллеры.
  2. Выбор — в случае МП у вас есть возможность подобрать комплектующие. Это позволит поставить более подходящую под ваши цели периферию.

Применение

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

Однако иногда в сети появляются умельцы, которые впихивают в микроконтроллер ESP32

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

Altera-Cyclone and Arduino

Каждый начинающий микропрогер на определенном этапе своего развития задается вопросом в чем же разница между ПЛИС (фирм Altera или Xilinx) и микроконтроллером (микропроцессором)?

Читаешь форумы — знатоки дела пишут, что это совершенно разные вещи, которые нельзя сравнить, аргументируя это тем, что у них разная архитектура . Читаешь мануал по Verilog или C++ — и тот и другой используют похожие операторы со схожим функционалом, даже синтаксис похож, а почему разные? Заходишь на марсоход — там светодиодами (или даже просто лампочками) с помощью FPGA моргают, смотришь проекты на Arduino — там роботами управляют. СтОп!

А вот теперь остановимся и спросим себя: почему с ПЛИС — тупо лампочка, а Ардуино — умно робот? Ведь и первый и второй вроде как программируемое устройство, неужели у ПЛИС возможностей для робота не хватает?

В какой-то степени суть вопроса «В чем разница между ПЛИС и микроконтроллером ?» раскрывается именно на таком примере.

Отметим сразу. Функционал ПЛИС изначально не уступает микроконтроллеру (и микропроцессору, кстати, тоже), точнее — основные функции у одного и второго по сути идентичны — выдавать логические 0 или 1 при определенных условиях, а если говорить о быстродействии, количестве выводов(ножек) и возможностях конвейерной обработки, то микроконтроллеру до ПЛИС а вообще далеко. Но есть одно «но». Время на разработку одного и того же программного алгоритма на двух разных устройствах (ПЛИС и микроконтроллер ) различается в разы, а то и в десятки раз. Именно ПЛИС здесь в 99% случаев сильно уступает МК. И дело вовсе не в замороченности языков Verilog , VHDL или AHDL , а в устройстве самой ПЛИС .

FPGA : в ПЛИС и нет сложных автоматизированных цепочек(делающих часть работы за вас). Есть только железные проводные трассы и магистрали, входы, выходы, логические блоки и блоки памяти. Среди трасс есть особый класс — трасса для тактирования(привязанная к определенным ножкам, через которые рекомендуется проводить тактовую частоту).

Основной состав:

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

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

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

Транзистор — основной элемент ТТЛ логики.

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

Тактовый генератор — внешняя микросхема, вырабатывающая тактовые импульсы, на которых основывается большая часть работы ПЛИС .

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


Архитектура ПЛИС (FPGA)

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

Постоянная память (ПЗУ) — память, в которой хранится ваша программа. В нее входят алгоритмы действий и константы. А так же библиотеки(наборы) команд и алгоритмов.

Оперативная память (ОЗУ) — память, используемая микроконтроллером для временного хранения данных(как триггеры в ПЛИС ). Например, при вычислении в несколько действий. Допустим, нужно умножить первое пришедшее число на второе(1-е действие), затем третье на четвертое(2 действие) и сложить результат(3 действие). В оперативную память при этом занесется результат 1 действия на время выполнения второго, затем внесется результат 2 действия. А затем оба этих результата пойдут из оперативной памяти на вычисление 3 действия.

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

Средства (порты) ввода-вывода и последовательные порты ввода-вывода — ножки микроконтроллера , предназначенные для взаимодействия с внешним миром.

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

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

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

Внутренние магистрали — трассы, проложенные внутри микроконтроллера для информационного обмена между блоками.

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

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


ПЛИС прошивается на уровне железа, практически по всей площади кристалла. Сигналы проходят через сложные цепочки транзисторов. Микропроцессор же прошивается на уровне программы для железа, сигналы проходят группами, от блока к блоку — от памяти к процессору, к оперативной памяти, от оперативной к процессору, от процессору к портам ввода-вывода, от портов ввода-вывода к оперативной памяти, от оперативной памяти… и так далее. Вывод: за счет архитектуры ПЛИС выигрывает в быстродействии и более широких возможностях конвеерной обработки, МК выигрывает в простоте написания алгоритмов. За счет более простого способа описания программ, фантазия разработчика Микроконтроллера менее скованна временем на отладку и разработку, и, таким образом, время на программирование того же робота на МК и ПЛИС будет отличаться во многие и многие разы. Однако робот, работающий на ПЛИС будет гораздо шустрее, точнее и проворнее.

В ПЛИС всю работу нужно делать самому, вручную: для того, чтобы реализовать какую-либо программу на ПЛИС , нужно отследить каждый сигнальчик по каждому проводку, приходящему в ПЛИС , расположить какие-то сигнальчики в ячейки памяти, позаботиться о том, чтобы в нужный момент именно к этим ячейкам памяти обратился другой сигнальчик, который вы так же отслеживаете или даже генерируете, и в итоге набор сигнальчиков, задержанный в памяти задействовал нужный вам сигнальчик, который, например, пойдет на определенную выходную ножку и включит светодиодик, который к ней подключен. Часть сигнальчиков идет не в память, а например на запуск определенной части алгоритма(программы). То есть, говоря языком микропрогера, эти ножки являются адресными. Например, имеем на нашей плате в нашей программе три адресные ножки для включения неких не связанных(или связанных) друг с другом алгоритмов, которые мы реализовали на языке Verilog в ПЛИС . Также в программе, кроме трех адресных ножек, у нас есть еще например 20 информационных ножек, по которым приходит набор входных сигнальчиков(например с разных датчиков) с какой-либо информацией (например температура воды в аквариуме с датчика температуры воды в аквариуме). 20 ножек = 20 бит. 3 ножки -3 бита. Когда приходит адресный сигнал 001(с трех ножек адреса) — запускаем первый алгоритм, который записывает 20 информационных сигнальчиков в 20 ячеек памяти(20 триггеров), затем следующие 20 сигнальчиков умножаем на полученные ранее 20, а результат умножения записываем в память, а потом отсылаем по другим ножкам например в терморегулятор воды в аквариуме. Но Отошлем мы этот результат только тогда, когда на наши адресные ножки придет код например 011 и запустит алгоритм считывания и передачи. Ну, естественно «отсылаем», «считываем» и еще что-то прописываем в ручную. Ведем каждый сигнальчик в каждый такт работы ПЛИС по определенному пути, не теряем. Обрабатываем или записываем. Складываем или умножаем. Не забываем записать. Не забываем принять следующий сигнал и записать в другие триггеры. Еще добавьте сюда работу, привязанную к тактовой частоте, синхронизацию (которая так же реализуется вручную), неизбежные ошибки на этапах разработки и отладки и кучу других проблем, которые в данной статье рассматривать просто бессмысленно. Трудно. Долго. Но зато на выходе работает супер оперативно, без глюков и тормозов. Железно!

Теперь микроконтроллер . 20 ножек на прием информации — для большинства микроконтроллеров физически невозможная задача. А вот 8 или 16 — да пожалуйста! 3 информационных — в легкую! Программа? По адресу 001 умножить первое пришедшее число на второе, по адресу 011 отсылай результат в терморегулятор. Все! Быстро. Легко. Не супер, но оперативно. Если очень грамотно написать программу- без глюков и тормозов. Программно!

Железо и Программа! Вот главное отличие между ПЛИС и Микроконтроллером .

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

Заключение

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

По характеристикам выдаваемого сигнала, ПЛИС чаще всего рассчитана на 3,3В, 20мА, Микроконтроллер на 5В, 20мА.

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

В принципе, все просто!

Остались вопросы? Напишите комментарий. Мы ответим и поможем разобраться =)

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

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

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

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

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

Сравнение

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

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

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

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

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

  • Что такое микропроцессор?
  • Что такое микроконтроллер? Каковы его особенности?
  • Где используются микроконтроллеры?
  • Чем микроконтроллер отличается от микропроцессора?
  • Что такое сигнальный процессор?
  • Что такое программируемый логический контроллер (ПЛК)? Как он построен?
  • Как программируют ПЛК?

Вы уже наверняка знаете, что любой компьютер – это машина для обработки информации, не взирая на то, какую конкретно задачу он выполняет. Центральным элементом компьютера является микропроцессор. Если спросить у ученика средней школы: – Что такое микропроцессор?, – то, скорее всего, получите ответ «Микропроцессор – это сердце компьютера».

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

Почему «микроэлектронное»? Потому что микропроцессоры производятся с помощью технологий современной микроэлектроники на основе полупроводникового кристалла. Информация в микропроцессорной системе передается электрическими импульсами. Конструктивно микропроцессор исполняется в виде одной микросхемы (иногда – нескольких). Микросхема состоит из пластикового или керамического корпуса, внутри которого размещается миниатюрная полупроводниковая подкладка (рис. 1). На этой подкладке лазером «начерчены» все электронные схемы микропроцессора. Входы и выходы схемы на подкладке соединены с металлическими выводами, расположенными по бокам или снизу корпуса микросхемы.



а) б)

Рис. 1. Интегральная микросхема (а) и ее внутреннее строение (б)

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

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

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

Персональный компьютер может иметь множество применений, однако это достаточно дорогое и громоздкое устройство. А как же наделить элементами интеллекта бытовую технику, автомобили, медицинские приборы? Как сделать их «умными»? Понятно, что в бытовой кондиционер нельзя вмонтировать системный блок обычного компьютера. Это повысит его стоимость в два-три раза. И в составе так называемого смарт-телевизора мы не найдем отдельного персонального компьютера в его обычном виде. Для автоматизации такого рода техники разработаны и изготавливаются специальные процессорные устройства – однокристальные микроконтроллеры (англ.: «Microcontroller»). Английское слово «control» обозначает «контролировать», «управлять». Таким образом, микроконтроллер – это специальный микропроцессор, предназначенный для автоматизации разнообразных устройств и управления их работой.

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

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

Рис. 2. Сферы применения микроконтроллеров.

Микроконтроллеры также широко используются в автомобильной электронике. Например, автомобиль «Peugeot 206» имеет на борту 27 микроконтроллеров, а в автомобилях высокого класса, таких как, например, «BMW» седьмой серии, используется более 60 микроконтроллеров. Они регулируют жесткость адаптивной подвески, управляют впрыском топлива, светотехникой, двигателями дворников, стеклоподъемников и зеркал заднего вида и т. п. (рис. 3).


Рис. 3. Использование микроконтроллеров в автомобильной электронике
(по материалам Microchip Technology).

Микроконтроллер, в отличие от микропроцессора, обычно имеет небольшую разрядность (8 – 16 бит) и богатый набор команд манипулирования отдельными битами. Битовые команды дают возможность управлять дискретным оборудованием (поднять/опустить шлагбаум, включить/выключить лампу, нагреватель, запустить/остановить двигатель, открыть/закрыть клапан, и проч.) Средства, обеспечивающие возможность оперировать отдельными битами, вводить и выводить дискретные сигналы называют «битовым процессором».

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

Типовая архитектура микроконтроллера (рис. 4) содержит систем систему синхронизации и управления (1), арифметико-логическое устройство (2), регистры общего назначения (3), память данных (4) и память программ (5), порты (6), функциональные устройства (таймеры, счетчики, широтно-импульсные модуляторы, интерфейсы) и регистры для их настройки (7), рис. 4.


Рис. 4. Архитектура типичного микроконтроллера.

Программы для микроконтролеров создают в специальных интегрованных инструментальных средах (англ .: I ntegrated D evelopment E nvironment, IDE) языками Асемблера (машинных команд) или C++.

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

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

Сигнальные процессоры (англ .: D igital S ignal P rocessor, DSP) характеризуются высокой разрядностью и быстродействием, имеют в системе команд специальные инструкции для реализации типовых алгоритмов цифровой обработки сигналов (ЦОС). Также на одном кристалле, кроме собственно процессорной части, реализуются аналогово-цифровые и цифро-аналоговые преобразователи. А налого-Ц ифровой П реобразователь (АЦП) заменяет непрерывный входной сигнал соответствующим потоком цифровых данных (отсчетов). Далее эти данные обрабатываются процессорной частью, после чего с помощью Ц ифро-А налогового П реобразователя (ЦАП) обработанные цифровые данные снова воспроизводятся в аналоговый сигнал. Таким способом сигнальный процессор может углублять четкость изображения, или, наоборот, размывать его, шифровать и дешифровать аудио- и видеопотоки, воспроизводить на экране виртуальную или дополненную реальность, отслеживать движущиеся объекты даже в условиях значительных помех и неполной входной информации.


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

высокая разрядность,
универсальная архитектура.

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

Еще один тип микропроцессорных устройств, которые за последние 30 – 40 лет заняли свою рыночную нишу – так называемые программируемые логические контроллеры.

П рограммируемый Л огический К онтроллер (ПЛК; англ .: P rogrammable L ogic C ontroller или PLC) – это специализированная микропроцессорная система, которая используется для автоматизации технологических процессов и общепромышленных установок и комплексов (конвейеров, рольгангов, подъемных кранов, дробилок, мельниц, классификаторов, смесителей, прессов, упаковочных машин, робототехнических и гибких производственных комплексов, и т. п.)

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

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

Рис. 5. Программируемые логические контроллеры.

Кроме аппаратной унификации (использования стандартных размеров, уровней напряжений, видов сигналов), прорывному распространению ПЛК поспособстваволо то, что для них были разработаны интуитивные «общеинженерные» языки программирования. Теперь для разработки программы пользователя не обязательно приглашать программиста высокого класса. С этим может справиться (иногда – и лучше) и технолог, и электрик, и химик, и, конечно, специалист по автоматизации. А в случае сложных задач эти языки программирования стирают грань недопонимания между программистом и инженером. Они одинаково понятны и заказчику (инженеру) и исполнителю (программисту).

Таких языков программирования – 6 (5 стандартизированных), причем 4 из них – визуальные (т. е. программа вводится не в виде текста, а как набор соединенных друг с другом графических элементов (блоков), (рис. 6).


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

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

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

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

Для начала давайте рассмотрим разницу между микроконтроллером (MCU) и микропроцессором (MPU). Обычно микроконтроллер использует встроенную флэш память, в которой хранятся и выполняется его программа. Благодаря этому, микроконтроллер имеет очень короткое время запуска и может выполнять код очень быстро. Единственное ограничение при использовании встроенной памяти — это ее конечный объем. Большинство микроконтроллеров, доступных на рынке, имеют максимальный объем флэш памяти ~2 мегабайта. Для некоторых приложений это может оказаться критическим фактором.

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

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

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

Один из аспектов, которые сложно определить, это быстродействие, требуемое для работоспособности будущей системы. Количественно оценить этот критерий можно с помощью так называемой вычислительной мощности, которая измеряется в 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 раз меньше.

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

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

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

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

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

Микроконтроллер — это «все в одном», процессор, RAM, IO на одном чипе, поэтому вы не можете (скажем) увеличить объем доступной RAM или количество портов ввода-вывода. Управляющая шина является внутренней и недоступной дизайнеру платы.

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

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

However, as I mentioned, the line gets blurry. For example, recent Intel/AMD processors add a memory controller on the chip (previously it was in the chipset).

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

Подробности

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

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

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

В этом микропроцессоре 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-плееры

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

Термины «микропроцессор » и «микроконтроллер » всегда путали друг с другом.Оба они были разработаны для приложений реального времени. У них много общих черт и в то же время есть существенные различия. Обе микросхемы, то есть микропроцессор и микроконтроллер, нельзя различить, глядя на них. Они доступны в различных версиях, от 6 до 80–100 контактов или даже выше, в зависимости от характеристик.

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

Микропроцессор — это ИС, внутри которой находится только ЦП, т.е.е. только вычислительные мощности, такие как Intel Pentium 1,2,3,4, Core 2 Duo, i3, i5 и т. д. Эти микропроцессоры не имеют ОЗУ, ПЗУ и других периферийных устройств на кристалле. Разработчик системы должен добавить их извне, чтобы сделать их функциональными. Применения микропроцессора включают настольные ПК, ноутбуки, блокноты и т. Д.

Но это не относится к микроконтроллерам. Микроконтроллер имеет ЦП, а также фиксированный объем ОЗУ, ПЗУ и других периферийных устройств, встроенных в один чип. Иногда его также называют мини-компьютером или компьютером на одном чипе.Сегодня разные производители выпускают микроконтроллеры с широким набором функций, доступных в разных версиях. Некоторые производители: ATMEL, Microchip, TI, Freescale, Philips, Motorola и т. Д.

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

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

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

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

Тактовая частота микропроцессора довольно высока по сравнению с микроконтроллером.В то время как микроконтроллеры работают в диапазоне от нескольких МГц до 30–50 МГц, современные микропроцессоры работают на частотах выше 1 ГГц при выполнении сложных задач. Подробнее о том, что такое микроконтроллер.

Сравнение микроконтроллера и микропроцессора по стоимости не оправдано. Несомненно, микроконтроллер намного дешевле микропроцессора. Однако микроконтроллер не может использоваться вместо микропроцессора, и использование микропроцессора вместо микроконтроллера не рекомендуется, поскольку это делает приложение довольно дорогостоящим.Микропроцессор нельзя использовать отдельно. Им нужны другие периферийные устройства, такие как ОЗУ, ПЗУ, буфер, порты ввода-вывода и т. Д., И, следовательно, система, созданная на основе микропроцессора, довольно дорогостоящая.


Рубрика: Учебники
С тегами: микроконтроллер, микропроцессор

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

Для новичков, которые только начинают заниматься электроникой, часто может быть сложно сравнить микропроцессор и микроконтроллер .Но и микропроцессор, и микроконтроллеры полностью отличаются друг от друга с точки зрения аппаратной архитектуры и работы. Основное различие между микропроцессором и микроконтроллером состоит в том, что микропроцессорная ИС имеет только ЦП внутри, в то время как ИС микроконтроллера также имеет ОЗУ, ПЗУ и другие связанные с ней периферийные устройства. Некоторыми популярными примерами микропроцессоров являются Intel Core i7, AMD Athlon, Broadcom BCM2711 (Raspberry Pi) и т. Д., А некоторыми примерами микроконтроллеров являются ATmega328 (Arduino UNO), STM32, PIC16F877A и т. Д.Чтобы понять подробно, мы должны взглянуть на общую архитектуру микропроцессора и микроконтроллера, что мы и собираемся сделать в этой статье.

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

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

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

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

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

Из этого изображения архитектуры микропроцессора можно легко увидеть, что у него есть регистры и АЛУ в качестве блока обработки, и в нем нет ОЗУ и ПЗУ.

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

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

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

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

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

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

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

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

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

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

Надеюсь, эта статья поможет вам в сравнении микропроцессора и микроконтроллера . Если вас интересует больше таких статей, вы также можете проверить сравнение микроконтроллера и ПЛК, а также статью о сравнении C и Embedded C.

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

против микропроцессора — в чем разница?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Стоимость

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

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

Скорость

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

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

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

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

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

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

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

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

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

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

Сводка

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

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

Есть вопросы? Отправьте их нам! Вы можете связаться с нами по адресу [email protected]

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

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

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

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

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

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

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

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

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

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

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

Микропроцессоры работают на более высоких тактовых частотах. Тактовая частота микропроцессора находится в диапазоне от 1 ГГц до 4 ГГц.В то время как в случае с микроконтроллером высокая тактовая частота не требуется. Тактовая частота микроконтроллера находится в диапазоне от 1 МГц до 300 МГц.

Память:

Микропроцессоры должны работать под управлением операционной системы, или она используется для очень сложных задач. Следовательно, для микропроцессора требуется очень большой объем памяти. Энергозависимая память (RAM) микропроцессора находится в диапазоне от 512 МБ до 32 ГБ.Объем жесткого диска (ПЗУ) микропроцессора составляет от 128 ГБ до 2 ТБ.

Микроконтроллеры предназначены для решения конкретной задачи. Объем памяти, необходимый для микроконтроллера, намного меньше по сравнению с микропроцессором. Энергозависимая память (RAM) микроконтроллера находится в диапазоне от 2 КБ до 256 КБ. Жесткий диск или флэш-память (ПЗУ) находится в диапазоне от 32 КБ до 2 МБ.

Периферийный интерфейс:

Обычным периферийным интерфейсом для микропроцессора является USB, UART и высокоскоростной Ethernet, а периферийным интерфейсом микроконтроллера — I2C, SPI и UART.

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

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

Размер бита:

Современные микроконтроллеры 32- и 64-разрядные.32-битный микропроцессор может одновременно обрабатывать 32-битные двоичные данные. Следовательно, адрес и шина данных 32-битные. Точно так же 64-битный микропроцессор может одновременно обрабатывать 64-битные двоичные данные. Микроконтроллеры бывают 8-битные, 16-битные или 32-битные. Следовательно, количество данных, которые может обрабатывать микроконтроллер за один цикл, меньше по сравнению с микропроцессором.

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

Потребляемая мощность микропроцессора выше, чем у микроконтроллера.

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

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

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

Резюме

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

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

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

Заявка

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

Используется там, где задача фиксирована и предопределена. Применяется в стиральной машине, сигнализации и т. Д.

Структура

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

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

ЦП

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

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

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

Высокая тактовая частота микропроцессора. Это в единицах ГГц. Его диапазон составляет от 1 ГГц до 4 ГГц.

Тактовая частота микроконтроллера меньше.Это в мегагерцах. он находится в диапазоне от 1 МГц до 300 МГц.

RAM

Энергозависимая память (RAM) микропроцессора находится в диапазоне от 512 МБ до 32 ГБ.

Энергозависимая память (RAM) микроконтроллера находится в диапазоне от 2 КБ до 256 КБ.

ПЗУ

Жесткий диск (ПЗУ) для микропроцессора находится в диапазоне от 128 ГБ до 2 ТБ.

Жесткий диск или флэш-память (ПЗУ) находится в диапазоне от 32 КБ до 2 МБ.

Периферийный интерфейс

Обычным периферийным интерфейсом для микропроцессора является USB, UART и высокоскоростной Ethernet.

Обычным периферийным интерфейсом для микроконтроллера является I2C, SPI и UART.

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

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

Программа для микроконтроллера фиксируется после разработки.

Размер бита

Доступен в 32-битном и 64-битном вариантах.

Доступен в 8-битном, 16-битном и 36-битном форматах.

Стоимость

Стоимость микропроцессора высока по сравнению с микроконтроллером.

Это дешевле.

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

Потребляемая мощность микропроцессора слишком высока.

Потребляемая мощность микроконтроллера меньше.

Размер

Общий размер системы большой.

Общий размер системы невелик.

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

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

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

и микропроцессор: основные отличия

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

MPU

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

Еще одно отличие — мощность. За счет встраивания собственного источника питания микроконтроллеру требуется только одна шина питания с одним напряжением. Для сравнения, MPU требует нескольких шин для разности напряжений для ядра, DDR и т. Д. Разработчик должен учесть это с помощью дополнительных интегральных схем / преобразователей питания на борту.

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

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

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

Некоторые параметры измерения

Атрибут, который трудно определить, — это требуемая производительность обработки, которая может потребоваться для любого конкретного проекта. Вычислительная мощность, измеренная в Dhrystone MIPS (DMIPS), помогает количественно оценить эти критерии.

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

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

Например, микроконтроллер на базе ARM Cortex-M4, такой как микроконтроллер SAM4 от Atmel, рассчитан на 150 DMIPS. В то время как процессор приложений ARM Cortex-A5 (MPU), такой как SAMA5D3 от Atmel, может обеспечивать до 850 DMIPS. Один из способов оценки требуемого DMIPS — это посмотреть на требовательные к производительности части приложения.

Запуск полной операционной системы (ОС), такой как Linux, Android или Windows CE, для вашего приложения потребует не менее 300–400 DMIPS.Для многих приложений может быть достаточно простой RTOS, и допуска в 50 DMIPS будет более чем достаточно. Использование RTOS также имеет то преимущество, что требует небольшого объема памяти; Типичное ядро ​​составляет всего несколько килобайт. К сожалению, полная ОС требует для работы блок управления памятью (MMU); это, в свою очередь, определяет тип используемого ядра процессора и требует большей мощности процессора.

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

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

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

Зачем нужны различия?

Во-первых, требуются ли накладные расходы на обработку? Накладные расходы в размере 80–100 DMIPS могут быть достаточными для библиотеки пользовательского интерфейса, такой как Qt, поскольку она широко используется поверх Linux.Второй фактор связан со сложностью пользовательского интерфейса. Более высокая вычислительная мощность и память необходимы для большего количества анимаций, эффектов, мультимедийного контента и большего количества изменений, применяемых к отображаемому изображению. И эти требования увеличиваются с увеличением разрешения, поэтому для приложений, ориентированных на UI, более вероятно, что MPU подойдет.

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

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

Некоторые микроконтроллеры Flash теперь выходят на рынок со встроенными контроллерами TFT LCD. Однако для управления дисплеем все еще должно быть достаточно встроенной памяти SRAM. Например, для 16-цветного формата QVGA 320 x 240 требуется 150 КБ SRAM для подачи и обновления изображения.

Это довольно большой объем SRAM для выделения. Может потребоваться некоторая дополнительная память, которая добавит к спецификации и восполнит пробел с решением MPU. Более сложные и продвинутые графические пользовательские интерфейсы, особенно с использованием экранов размером более 4,3 дюйма, требуют наличия MPU. Если считается, что MPU доминируют, когда дело доходит до запуска пользовательского интерфейса на цветном TFT-экране, то MCU являются королем для управления сегментными или матричными ЖК-дисплеями и другими экранами с последовательными интерфейсами.

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

С точки зрения возможности подключения доступно большинство устройств MCU и MPU со всеми распространенными популярными периферийными интерфейсами.Периферийные устройства для высокоскоростной связи, такие как HS USB 2.0, несколько портов 10/100 Ethernet или порт Gigabit Ethernet, обычно находятся только на MPU. Они лучше способны обрабатывать большие объемы данных. Ключевой вопрос — достаточно ли подходящих каналов и пропускной способности для обработки трафика данных.

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

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

Разница между микропроцессором и микроконтроллером: потребляемая мощность

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

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

Выбираете?

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

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

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

Источник Atmel .

История материнской платы компьютера
Эта статья была впервые опубликована 28 мая 2016 г. и обновлена ​​4 апреля 2019 г.

различий в программировании микроконтроллера и микропроцессора?

Это действительно два вопроса в одном …

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

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

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

Во-вторых, программирование микроконтроллера и микропроцессора одно и то же?

В чем-то да, а в чем-то нет.

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

Однако разные типы ЦП понимают разный набор инструкций ЦП. Например, если вы напишете программу на языке ассемблера, которая работает с микроконтроллером pic 16F877, это будет полной ерундой для микропроцессора или любого другого микроконтроллера вне семейства микроконтроллеров pic 16Fxxx.

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

.

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

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