Существует множество платформ MCU, и как только кто-то привык к одной, они обычно не хотят переходить на другую платформу.
У меня вопрос: если бы сегодня кто-то начал использовать MCU для задач общего назначения, как бы вы выбрали его? Каковы уникальные точки продажи различных платформ?
Ответы:
Прошел год, я выступил с докладом на тему комплектации микроконтроллеров (это заняло около 1,5 часов). Аудитория была программистами и производителями программного обеспечения высокого уровня. У большинства зрителей не было опыта работы с µC, остальные играли только с Arduino. Количество посетителей в аудитории было около 30. Итак, это была многоадресная рассылка, в отличие от клиники один на один.
Ключевым слайдом в разговоре было:
п.с.
Я должен определить область, которой ограничен мой ответ. Я вижу этот вопрос выбора платформы через два вида линз. Первый - это прототип. Второй - разработчик профессионального оборудования с уличными ценами порядка $ 3 тыс. И сотнями в год. Хобби-объектив тоже не за горами. В этих случаях дополнительные затраты на микроконтроллер невелики по сравнению со стоимостью разработки или стоимостью профессионального оборудования, в которое входит микроконтроллер.
Есть, конечно, совсем другая перспектива массового производства. Когда кто-то выбирает микроконтроллер для дешевого устройства, которое будет производиться в больших количествах (хороший пример - игрушки), это будет зависеть от стоимости оборудования. Небольшая экономия на стоимости оборудования, помноженная на большой объем производства (в сотни тысяч и более), может оправдать боль от использования громоздкой среды разработки и недорогого микроконтроллера с поддержкой mediochre.
источник
Поскольку этот вопрос не совсем дал мне сравнение платформ, на которое я надеялся, я попытался создать его самостоятельно, изучая литературу и другие ответы. Может быть, это может помочь кому-то еще в будущем.
Пожалуйста, дайте мне знать, если есть какие-либо ошибки или есть информация, которую я могу добавить.
Сравнение платформ
Примечания относительно сравнения:
PIC:
AVR:
Arm Cortex-M:
PSoc: (из ответа Ракетного магнита )
Пропеллер: (из ответа Ракетного магнита)
Сравнение по Приложению
USB:
«Легенда» для списка ниже:
Свойства наименее дорогого устройства: (в приблизительном порядке цены)
Ethernet:
источник
Ваш выбор MCU во многом зависит от того, над какими проектами вы собираетесь работать. Вы делаете громоздкие, супер-дешевые и простые устройства, такие как мигающие велосипедные фонари? Вы разрабатываете сложные прототипы роботов, которые имеют дело с многочисленными причудливыми устройствами ввода-вывода и датчиками?
Я в основном работаю над последним. Главная проблема для меня - это попытка найти микроконтроллеры, которые имеют периферийный набор, который я хочу. Это очень сложно, так как наши требования не являются общепринятыми. Нам нужны такие вещи, как 5 каналов ШИМ, 5 квадратурных декодеров, 2 нестандартных порта SPI и UART с отрицательным IO.
Единственные MCU, которые я видел, которые могут легко справиться с такими требованиями, - это PSoC и Propeller.
Propeller - это восемь 32-битных микроконтроллеров в одном чипе. Если вам нужен какой-то тип периферийного устройства, вы просто программируете один из MCU для выполнения этой работы. Таким образом, вы можете иметь все, что хотите.
PSoC выпускаются в двух вариантах: 3 и 5. 3 - это ядро 8051, а 5 - ARM Cortex M3. Также в микросхему включены реконфигурируемые цифровые и аналоговые блоки, которые могут быть преобразованы в широкий спектр периферийных устройств: АЦП, фильтры, операционные усилители, ЦАП, SPI, UART, квадратурный декодер, генератор CRC и т. Д.
Среда разработки фантастическая. У вас есть обычное редактирование исходного кода типичной IDE, но у вас также есть редактор схем. Вы можете буквально подключить любую цифровую схему, какую захотите, подключив периферийные устройства с помощью шлюзов, триггеров и т. Д. Нужно 5 ШИМ? Легко, просто поместите их в схему, подключите их, и все готово. Вы даже можете написать свои собственные периферийные устройства в Verilog, если вы хотите что-то, что не предоставляется. Большая часть вашего приложения может быть просто реализована на таком оборудовании.
Реальное преимущество заключается в том, что вы можете придерживаться одной микросхемы, зная, что она может реализовать множество проектов, которые вы захотите реализовать в будущем. Что меня раздражало в PIC, так это то, что я постоянно искал десятки устройств в поисках того, у которого был именно тот набор периферийных устройств, который мне был нужен. Теперь у меня нет этой проблемы.
источник
Для меня самым важным требованием было, если устройство / IDE хорошо поддерживаются на моем компьютере, отличном от Windows (Linux). Оказалось, что для меня AVR Atmel имеет лучшую (с открытым исходным кодом) поддержку, чем PIC.
источник
Использование более чем одной платформы - это нормально. Выбор лучшего для каждой работы, а также наличие кода и примеров, связанных с работой.
У большинства из них есть хорошие инструменты для разработки, у arduino есть визуальная студия, у pic есть отличный инструмент, как и у других. Итак, для меня, насколько быстро и легко я могу выполнить свою работу хорошо, + сколько людей с открытым исходным кодом работают над одним и тем же?
источник
Микроконтроллеры - это быстро меняющийся мир, есть много преимуществ в изучении текущих микросхем «в», и наиболее известной IDE является помощь сообщества. Как человек из PIC, я бы сказал, что Aduino, вероятно, имеет лучшие IDE и платы для разработки для новичков на данный момент, и вы можете многое добавить к базовой плате aduino, не касаясь паяльника.
Любой, кто использует aduino для реальных вещей, может вскоре захотеть двигаться дальше, но к тому времени вы уже изучите много основ цифровой электроники и хороший набор C, чтобы легко использовать что-то более подходящее.
Как кто-то упомянул, что вы выбрали чип для своего проекта, я видел несколько проектов, в которых чипы ARM использовались в качестве простых датчиков температуры или преобразователей AD, точно так же, как я видел, как aduinos и PIC 16 доводят до предела свои возможности для создания игры космических захватчиков, FPGA. Являются ли они слишком хорошими, и это хорошо, чтобы понять HDL, если вы серьезно занимаетесь разработкой электроники ... но, к сожалению, в реальном мире не так много проектов, где вам нужно будет использовать одно, большинство из которых - это малый объем, быстрый дизайн и ограниченные цены и это где 8 битный UC царит
источник
Поскольку многие из опубликованных ответов посвящены использованию хобби, здесь приводятся различные рекомендации, предназначенные только для профессиональных разработчиков.
Обнаженные минимальные требования
Если MCU не выполняет все эти требования, его не следует использовать.
Предупреждающие знаки - аппаратное обеспечение MCU
Это вещи, с которыми не стоит тратить время в 2019 году.
int
, что, в свою очередь, сопровождается всеми скрытыми опасностями целочисленных промоушенов на языке Си.Предупреждающие знаки - цепь инструмента
источник
Если вы собираетесь выполнять задачи общего назначения, которые могут иметь аналоговую и цифровую обработку, то я бы предпочел PSoC из-за его IDE, отладчика и большого количества вещей, которые вы можете сделать с ними.
Я использовал PSoC3 в колледже для своих проектов, и освоить его довольно просто. Единственное, что если вам нужны микросхемы производительности, вам все равно придется получать их отдельно. У него достаточно хороших портов. Так что, если вы ищете некоторые чипы производительности вместе с комплектом разработчика, лучше перейдите на отдельные компоненты.
источник