Выбор микроконтроллера. Как правильно выбрать микроконтроллер для вашего проекта: ключевые критерии и рекомендации

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

Содержание

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

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

Аппаратные требования проекта

Первым делом необходимо четко определить требования вашего проекта:

  • Какие периферийные устройства будут подключаться к микроконтроллеру?
  • Сколько портов ввода-вывода потребуется?
  • Нужны ли специализированные интерфейсы (I2C, SPI, CAN и т.д.)?
  • Какой объем памяти программ и данных необходим?
  • Требуется ли аналого-цифровое преобразование?

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


Производительность и энергопотребление

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

  • Какая тактовая частота процессора требуется?
  • Достаточно ли 8-битного микроконтроллера или нужен 16/32-битный?
  • Важна ли низкая потребляемая мощность для автономной работы?
  • Нужны ли энергосберегающие режимы?

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

Объем и тип памяти

Правильный выбор объема памяти критически важен:

  • Сколько памяти программ (Flash) потребуется для вашего кода?
  • Какой объем оперативной памяти (RAM) необходим?
  • Нужна ли энергонезависимая память EEPROM?
  • Достаточно ли встроенной памяти или потребуется внешняя?

Оцените требования к памяти с запасом на будущее расширение функциональности.

Поддержка и экосистема микроконтроллера

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


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

Наличие качественных средств разработки существенно упрощает процесс создания устройства:

  • Доступны ли интегрированные среды разработки (IDE) для выбранного микроконтроллера?
  • Есть ли компиляторы для популярных языков программирования (C, C++)?
  • Поддерживаются ли отладчики и программаторы?
  • Существуют ли готовые библиотеки для работы с периферией?

Хорошая экосистема разработки позволит сэкономить время и избежать многих проблем.

Документация и техническая поддержка

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

  • Насколько подробны и понятны даташиты на микроконтроллер?
  • Есть ли руководства по применению (application notes)?
  • Доступна ли техническая поддержка от производителя?
  • Существуют ли обучающие материалы и примеры кода?

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

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

Финансовый аспект также играет важную роль при выборе микроконтроллера:


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

Стоимость микроконтроллера может существенно повлиять на общую стоимость проекта:

  • Какова цена микроконтроллера в розницу и оптом?
  • Как соотносится цена и функциональность?
  • Есть ли более дешевые аналоги с похожими характеристиками?

Старайтесь найти оптимальное соотношение цена/качество для вашего проекта.

Доступность и жизненный цикл

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

  • Насколько распространен данный микроконтроллер на рынке?
  • Планирует ли производитель продолжать его выпуск в будущем?
  • Есть ли проблемы с поставками компонента?
  • Существуют ли совместимые аналоги на случай снятия с производства?

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

Популярные семейства микроконтроллеров

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

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

  • Atmel AVR (ATmega, ATtiny)
  • Microchip PIC
  • STMicroelectronics STM8

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


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

  • ARM Cortex-M (STM32, NXP, TI и др.)
  • MIPS-based (PIC32)
  • RISC-V

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

Как сделать окончательный выбор микроконтроллера?

После анализа всех вышеперечисленных факторов, следует выполнить следующие шаги для принятия окончательного решения:

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

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

Заключение

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



Классификация и выбор микроконтроллеров

 

Все микроконтроллеры можно условно разделить на 3 класса в соответствии с их разрядностью:

  • 8-разрядные
  • 16-разрядные
  • 32-разрядные

8-разрядные микроконтроллеры имеют относительно низкую производительность, которая вполне достаточна для решения широкого круга задач управления различными объектами. Это простые и дешевые микроконтроллеры, ориентированные на использование в относительно несложных устройствах массового выпуска. Основными областями их применения являются бытовая и измерительная техника, промышленная автоматика, автомобильная электроника, теле-, видео- и аудиоаппаратура, средства связи. Для этих микроконтроллеров характерна реализация Гарвардской архитектуры, где используется отдельная память для хранения программ и данных. Внутренняя память программ обычно имеет объем от нескольких единиц до десятков килобайт. Для хранения данных используется регистровый блок, организованный в виде нескольких регистровых банков, или внутреннее ОЗУ. Объем внутренней памяти данных составляет от нескольких десятков байт до нескольких килобайт. Ряд микроконтроллеров этой группы позволяет, в случае необходимости, дополнительно подключать внешнюю память команд и данных, объемом до 64…256 килобайт. Микроконтроллеры этой группы обычно выполняют относительно небольшой набор команд (30-100), использующих наиболее простые способы адресации. Такие микроконтроллеры обеспечивают выполнение большинства команд за один такт машинного времени.

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

32-разрядные микроконтроллеры содержат высокопроизводительный процессор, соответствующий по своим возможностям младшим моделям микропроцессоров общего назначения. В ряде случаев процессор, используемый в этих микроконтроллерах, аналогичен CISC- или RISC-процессорам, которые выпускаются или выпускались ранее в качестве микропроцессоров общего назначения. Например, в 32-разрядных микроконтроллерах компании Intel используется процессор i386, в микроконтроллерах компании Motorola широко применяется процессор 68020, в ряде других микроконтроллеров в качестве процессорного ядра служат RISC-процессоры типа PowerPC. На базе данных процессоров были реализованы различные модели персональных компьютеров. Введение этих процессоров в состав микроконтроллеров позволяет использовать в соответствующих системах управления огромный объем прикладного и системного программного обеспечения, созданный ранее для соответствующих персональных компьютеров.

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

Цифровые сигнальные процессоры (ЦСП, DSP) представляют особый класс специализированных микропроцессоров, ориентированных на цифровую обработку поступающих аналоговых сигналов. Специфической особенностью алгоритмов обработки аналоговых сигналов является необходимость последовательного выполнения ряда команд умножения-сложения с накоплением промежуточного результата в регистре-аккумуляторе. Поэтому архитектура ЦСП ориентирована на реализацию быстрого выполнения операций такого рода. Набор команд этих процессоров содержит специальные команды MAC (Multiplication with Accumlation), реализующие эти операции. Значения поступившего аналогового сигнала может быть представлено в виде числа с фиксированной или с “плавающей” точкой. В соответствии с этим ЦСП делятся на процессоры, обрабатывающие числа с фиксированной или плавающей точкой. Более простые и дешевые ЦСП с фиксированной точкой обычно обрабатывают 16-разрядные операнды, представленные в виде правильной дроби. Однако ограниченная разрядность в ряде случаев не позволяет обеспечить необходимую точность преобразования. Поэтому в ЦСП с фиксированной точкой, выпускаемых компанией Motorola, принято 24-разрядное представление операндов. Наиболее высокая точность обработки обеспечивается в случае представления данных в формате с «плавающей» точкой. В ЦСП, обрабатывающих данные с «плавающей» точкой, обычно используется 32-разрядный формат их представления. Для повышения производительности при выполнении специфических операций обработки сигналов в большинстве ЦПС реализуется Гарвардская архитектура с использованием нескольких шин для передачи адресов, команд и данных. В ряде ЦПС нашли применение также некоторые черты VLIW-архитектуры: совмещение в одной команде нескольких операций, обеспечивающих обработку имеющихся данных и одновременную загрузку в исполнительный конвейер новых данных для последующей обработки.

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

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

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

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

Чтобы заставить микроконтроллер выполнять то, что от него требуется, нужно написать программу для него. Это можно делать на разных языках программирования, но чаще всего используются ассемблер и Си. В результате получается выходной файл с шестнадцатеричным кодом (наиболее распространенный стандарт intel-hex c расширением .hex), который и загружается в микроконтроллер.

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

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

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

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

  • симуляторы
  • эмуляторы.

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

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

Назад

Назад: Программирование микроконтроллеров

Выбор микроконтроллера для создания вашего робота.

Содержание

  1. Выбор микроконтроллера
  2. Что может делать микроконтроллер?
  3. Какие существуют более специализированные функции микроконтроллера?
  4. Аналоговые или цифровые?
  5. Как программировать микроконтроллеры?
  6. Почему не использовать стандартный компьютер?
  7. Как выбрать микроконтроллер правильно?
  8. Какой микроконтроллер самый популярный для моего приложения?
  9. Есть какие-то особенные требования у вашего робота?
  10. Какие компоненты доступны для конкретного микроконтроллера?
  11. Что нас ждет в будущем?
  12. Основные критерии выбора
  13. Обзор модуля EV3

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

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

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

Он часто упоминается как “мозг” или “центр управления” робота. Как правило, микроконтроллер отвечает за все вычисления, принятие решений и коммуникации.

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

микроконтроллер для робота

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

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

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

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

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

Аналогичным образом, микроконтроллеры могут быть использованы для контроля других электрических устройств. В первую очередь таких как приводы (при подключении к контроллеру двигателя), устройства хранения (например, карты SD), WiFi или bluetooth-интерфейсы и т. д. Как следствие этой невероятной универсальностью, микроконтроллеры можно найти в повседневной жизни.

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

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

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

Какие существуют более специализированные функции микроконтроллера?

Специальное оборудование, встроенное в микроконтроллеры позволяет этим устройствам сделать больше, чем обычный цифровой ввод/вывод, базовые расчеты и принятие решений. Многие микроконтроллеры с готовностью поддерживает наиболее популярные протоколы связи, такие как UART (RS232 или другой), SPI и I2C. Эта функция невероятно полезна при общении с другими устройствами, такими как компьютеры, датчики, или другие микроконтроллеры.

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

rs232

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

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

Аналоговые или цифровые?

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

аналого-цифровой преобразователь

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

Как программировать микроконтроллеры?

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

В настоящее время микроконтроллеры могут быть запрограммированы на различных языках высокого уровня. Это такие языки как C, C++, С#, Ява, Python, Basic и другие. Конечно, всегда можно написать программу на ассемблере. Хотя это для более продвинутых пользователей с особыми требованиями (с намеком на мазохизм). В этом смысле, любой должен быть в состоянии найти язык программирования, который лучше всего соответствуют его вкусу и предыдущему опыту программирования.

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

среда программирования Lego Education EV3

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

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

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

системный блок компьютера

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

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

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

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

  • Ардуино
  • BasicATOM
  • BasicX
  • Lego EV3
  • и многие другие

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

Какой микроконтроллер самый популярный для моего приложения?

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

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

Есть какие-то особенные требования у вашего робота?

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

Возможно другим контроллерам требуется специфическое оборудование (например, АЦП, ШИМ, и коммуникационный протокол поддержки). Также требования к памяти и скорости, а также число выводов должны быть приняты во внимание.

Какие компоненты доступны для конкретного микроконтроллера?

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

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

Что нас ждет в будущем?

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

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

Основные критерии выбора

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

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

Этим критериям соответствует модуль EV3 из набора Lego Mindstorms EV3.

Обзор модуля EV3

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

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

 

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

 

Итак, в этой статье мы укажем некоторые важные параметры (такие как архитектура, память, интерфейсы и ввод-вывод и т. д.), которые следует учитывать при выборе микроконтроллера.

 

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

1. Аппаратные требования

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

 

2. Требования к программному обеспечению

После требований к оборудованию вам необходимо узнать о требованиях к программному обеспечению для вашего проекта. Поэтому составьте список требований к программному обеспечению для проекта, таких как скорость обработки, мощность обработки, временные ограничения и т. д. В соответствии с требованиями к обработке вы можете решить, следует ли вам использовать DSP 80 МГц или 8051 8 МГц. Есть также некоторые другие факторы. следует помнить, например, требуют ли ваши алгоритмы математики с плавающей запятой или каких-либо высокочастотных датчиков?

 

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

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

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

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

Архитектура фон-Неймана:

   

Архитектура Гарварда:

          

 

46 . Требования к памяти

При выборе микроконтроллера следует обращать внимание на память, связанную с микроконтроллером. Flash, RAM, ROM и EEPROM являются важными компонентами любого микроконтроллера. При выборе микроконтроллера убедитесь, что у вас не закончились места для какой-либо переменной и программы.

 

   

 

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

 

5.  Затраты и требования к питанию

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

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

 

 

6. Разрядность

Доступны микроконтроллеры с разной скоростью передачи данных: 8-, 16-, 32- и 64-разрядной. 64 бита в настоящее время являются максимальным размером в битах, которым обладает любой микроконтроллер. Разрядность очень важна при выборе микроконтроллера для вашего проекта. Производительность микроконтроллера увеличивается с увеличением разрядности. 8-битные микроконтроллеры имеют 8 линий данных, и представление каждой инструкции, адреса, переменной или регистра занимает 8 бит. 8-битные микроконтроллеры имеют только 255 уникальных ячеек памяти и, следовательно, используются для небольших приложений. В то время как 32-битные микроконтроллеры имеют 4,294 967 295 уникальных ячеек памяти, что приводит к некоторым дополнительным функциям, таким как SPI, I2C, единицы с плавающей запятой и функции, связанные с процессом.

 

7. Поддержка микроконтроллера

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

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

 

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

10 шагов по выбору микроконтроллера — Блог Embedded — Блоги сообщества Arm

Китайская версия: 选择微控制器的 10 个步骤

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

Шаг 1: Составьте список необходимых аппаратных интерфейсов

Используя общую аппаратную блок-схему, составьте список всех внешних интерфейсов, которые должен поддерживать микроконтроллер. Существует два основных типа интерфейсов, которые необходимо перечислить. Во-первых, это коммуникационные интерфейсы. Это такие периферийные устройства, как USB, I2C, SPI, UART и так далее. Обратите особое внимание, если приложению требуется USB или какая-либо форма Ethernet. Эти интерфейсы сильно влияют на объем программного пространства, которое микроконтроллер должен поддерживать. Второй тип интерфейса — это цифровые входы и выходы, аналого-цифровые входы, ШИМ и т. д. Эти два типа интерфейса будут определять количество контактов, которые потребуются микроконтроллеру. На рис. 1 показан общий пример блок-схемы с перечисленными требованиями к вводу-выводу.

Рисунок 1. Список характеристик аппаратного обеспечения

Шаг 2. Изучение архитектуры программного обеспечения

Архитектура программного обеспечения и требования могут сильно повлиять на выбор микроконтроллера. От того, насколько тяжелыми или легкими будут требования к обработке, будет зависеть, выберете ли вы DSP с частотой 80 МГц или 8051 с частотой 8 МГц. Как и в случае с аппаратным обеспечением, записывайте любые требования, которые будут важны. Например, требуют ли какие-либо алгоритмы математики с плавающей запятой? Имеются ли какие-либо высокочастотные контуры управления или датчики? Оцените, как долго и как часто нужно будет запускать каждую задачу. Получите представление о том, какая вычислительная мощность потребуется. Требуемая вычислительная мощность будет одним из самых больших требований к архитектуре и частоте микроконтроллера.

Шаг 3: Выберите архитектуру

Используя информацию, полученную на шагах 1 и 2, инженер должен получить представление о необходимой архитектуре. Может ли приложение работать с восьмибитной архитектурой? Как насчет 16 бит? Требуется ли для этого 32-битное ядро ​​Arm? Между приложением и требуемыми программными алгоритмами эти вопросы начнут сходиться в решении. Не забывайте помнить о возможных будущих требованиях и расширении возможностей. Тот факт, что в настоящее время вы можете обойтись 8-битным микроконтроллером, не означает, что вам не следует рассматривать 16-битный микроконтроллер для будущих функций или даже для простоты использования. Не забывайте, что выбор микроконтроллера может быть итеративным процессом. Вы можете выбрать 16-битную часть на этом этапе, но затем на более позднем этапе обнаружите, что 32-битная часть Arm работает лучше. Этот шаг просто для того, чтобы заставить инженера смотреть в правильном направлении.

Шаг 4. Определение потребности в памяти

Флэш-память и ОЗУ — два очень важных компонента любых микроконтроллеров. Убедиться, что у вас не закончилось пространство для программ или переменных, несомненно, имеет наивысший приоритет. Гораздо проще выбрать деталь с большим количеством этих функций, чем с недостатком. Дойти до конца дизайна и обнаружить, что вам нужно выложиться на 110% или что функции нужно урезать, просто не сработает. В конце концов, вы всегда можете начать с большего, а затем перейти к более ограниченной части в том же семействе микросхем. Используя архитектуру программного обеспечения и коммуникационные периферийные устройства, включенные в приложение, инженер может оценить, сколько флэш-памяти и оперативной памяти потребуется для приложения. Не забудьте оставить место для новых функций и следующих версий! Это избавит от многих головных болей в будущем.

Шаг 5: Начать поиск микроконтроллеров

Теперь, когда есть более четкое представление о необходимых характеристиках микроконтроллера, можно начинать поиск! Хорошим местом для начала может быть поставщик микроконтроллеров, такой как Arrow, Avnet, Future Electronics или аналогичный. Поговорите с FAE о вашем приложении и требованиях, и часто они могут направить вас к новой детали, которая является передовой и отвечает требованиям. Просто имейте в виду, что в то время на них может быть оказано давление, чтобы они протолкнули определенное семейство микроконтроллеров!

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

Шаг 6. Изучение ограничений по стоимости и мощности

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

Шаг 7: Проверка доступности запчастей

Имея список возможных запчастей, самое время начать проверять доступность запчастей. Некоторые из вещей, которые следует иметь в виду, это то, каковы сроки выполнения этой части? Хранятся ли они на складе у нескольких дистрибьюторов или срок поставки составляет 6–12 недель? Каковы ваши требования к доступности? Вы же не хотите застрять с большим заказом и ждать три месяца, чтобы его выполнить. Затем возникает вопрос, насколько новой является деталь и будет ли она использоваться в течение всего жизненного цикла вашего продукта. Если ваш продукт будет использоваться в течение 10 лет, вам нужно найти деталь, которая, по гарантии производителя, будет производиться через 10 лет.

Шаг 8: Выберите комплект разработчика

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

Шаг 9: Изучите компиляторы и инструментальные средства

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

Шаг 10: Начните экспериментировать

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

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

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