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

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

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

Журнал «Электронные компоненты» №08 2013

Один ответ в “Микроконтроллер или микропроцессор, что выбрать для проекта?”

  1. Обязательно перечитаю. Что то до конца не догнал

Комментарии отключены.