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

Добавлено 17 сентября 2019 в 18:14

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

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

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

Выбор производителя

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

Simplicity Studio, бесплатная IDE от Silicon Labs, предоставляет вам одну среду разработки, которая поддерживает множество различных микроконтроллеров.
Simplicity Studio, бесплатная IDE от Silicon Labs, предоставляет вам одну среду разработки, которая поддерживает множество различных микроконтроллеров.

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

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

Если ваш опыт разработки на микроконтроллерах всё еще довольно ограничен, я рекомендую выбрать одного из следующих производителей: Texas Instruments, STMicroelectronics, Silicon Labs или Microchip. (Atmel также определенно должен быть включен в этот список, но он был приобретен Microchip в 2016 году.)

Критические параметры

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

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

Цифро-аналоговый преобразователь (ЦАП)

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

Синусоида, сгенерированная 12-разрядным ЦАП, встроенным в микроконтроллер SAM4S от Atmel.
Синусоида, сгенерированная 12-разрядным ЦАП, встроенным в микроконтроллер SAM4S от Atmel.

Аналого-цифровой преобразователь (АЦП)

Я только что сказал, что АЦП распространены, и это правда, но стоит отметить, что производительность многих микроконтроллерных АЦП находится в диапазоне от низкого до среднего уровня. Если вам нужен АЦП с необычно высоким разрешением или необычно высокой частотой дискретизации, вам придется сделать это приоритетом в процессе выбора. Несколько лет назад я оказался в подобной ситуации, и, если я правильно помню, ничто не могло сравниться с C8051F060 от Silicon Labs (у него есть два встроенных АЦП, которые могут выполнять 16-разрядное преобразование со скоростью один миллион выборок в секунду).

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

Если вам нужен микроконтроллер, который более совместим с интенсивными вычислительными функциями DSP (цифрового сигнального процессора), вам нужно отдать приоритет устройствам, которые поддерживают высокие частоты процессора. У Silicon Labs есть два 8-разрядных семейства, работающих на частоте 100 МГц, а у STMicroelectronics и Microchip есть высокопроизводительные 32-разрядные микроконтроллеры, работающие на частоте 120 МГц.

Универсальная последовательная шина (USB)

Интерфейс USB является доминирующей формой последовательной связи. Я обнаружил, что это очень эффективный способ передачи данных между встраиваемым устройством и компьютером, и в контексте бытовой электроники он незаменим. Если вы ищете компактный, простой метод включения USB соединения в вашу систему, я рекомендую вам сосредоточиться на микроконтроллерах, которые включают в себя USB модуль. Я использовал EFM8 Universal Bee от Silicon Labs, а Microchip предлагает 8-разрядные, 16-разрядные и 32-разрядные USB микроконтроллеры.

Емкостной датчик прикосновения

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

Интерфейс на емкостных датчиках на базе микроконтроллера MSP430 от Texas Instruments
Интерфейс на емкостных датчиках на базе микроконтроллера MSP430 от Texas Instruments

Стоимость и размер корпуса

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

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

Оценка аппаратного обеспечения

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

Заключение

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

Теги

MCUMicrochip TechnologySilicon LabsSTMicroelectronicsTexas InstrumentsВстраиваемые системыМикроконтроллерПроектирование встраиваемых систем

На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.

В случае комментирования в качестве гостя (без регистрации на disqus.com) для публикации комментария требуется время на премодерацию.