Какова реальная точка отсечения с точки зрения компромисса между стоимостью и производительностью при выборе 32-разрядных микроконтроллеров?
Другими словами, с ростом и доминированием архитектуры ARM, почему мы все еще используем 8-битные и 16-битные микроконтроллеры? Они все еще намного дешевле?
Я понимаю, что устройства очень низкого уровня не нуждаются в ресурсах, предлагаемых большими и более сложными архитектурами. Тем не менее, какова реальная мотивация их использования, если кажется, что затраты сходятся к тому же диапазону?
microcontroller
arm
cost
Бруно Море
источник
источник
Ответы:
Возможно, год назад существовала значительная разница между низкоуровневыми 8-разрядными и самыми дешевыми 32-разрядными микроконтроллерами. Уже не так.
Основываясь на оптовых ценах Digi-Key, вы можете получить 8-битный PIC10F200 за 35ȼ в 2500 количествах в упаковке SOT-23-6. Вы получаете 32-битный CY8C4013SXI-400 (ARM Cortex-M0) для 36ȼ в 2500 количествах в пакете SOIC-8. (Оптовое ценообразование Digi-Key нереально с точки зрения того, что фактически платят производители, а это, вероятно, намного меньше, но я думаю, что это целесообразно использовать для приблизительного сравнения цен между различными продуктами для сходных количеств.)
Так что ОП прав, они сходятся.
Так почему же 32-битные чипы не используются чаще? Как я уже говорил в первом абзаце, такое соотношение цены и размера произошло только в прошлом году или 18 месяцах. И у них все еще есть длинный предстоит пройти путь, прежде чем достаточно фишек, чтобы быть конкурентоспособными.
Из 6875 чипов ARM, доступных от Digi-Key, только четыре в наличии с ценовой оценкой ниже доллара. четыре . Между тем, сотни инженеров предлагают 8-битные чипы под доллар.
Но допустим, что было доступно по меньшей мере несколько десятков бюджетных 32-разрядных микросхем. Будут ли они автоматически выбраны над 8-битными?
Прежде всего, вы должны информировать инженеров о них. Всегда есть большое сопротивление изменениям. Новые вещи для изучения - с аппаратной точки зрения, обучение тому, как встроить новый чип в схему. Появились новые инструменты, такие как внутрисхемные программисты, новые компиляторы и т. Д. Для инженеров-программистов, изучающих, как использовать совершенно новый набор периферийных устройств и таймеров (в основном, схемы разметки и значения битов).
32-битные это хорошо и все такое, но если не нужно много тяжелых вычислений, какой смысл? Если у вас только четыре вывода GPIO, внутренний доступ к ним в виде 32-разрядного регистра не дает никаких преимуществ по сравнению с использованием 8-разрядного регистра.
Я думаю, что энергопотребление всегда будет в пользу 8-битных микро.
Например, PIC10F200 потребляет 175 мкА, работая на 4 МГц и 2 В и 100 нА в режиме ожидания. CY8C4013SXI-400 потребляет приблизительно 800 мкА при частоте 4 МГц и 2 В и 1 мкА в режиме ожидания. (Таблица данных для CY8C4013SXI не имела чисел ни для 4 МГц, ни для 2 В, поэтому мне пришлось провести некоторую оценку - в таблице говорится, что она потребляет 2 ма при 6 МГц и 3,3 В).
Таким образом, ARM потребляет в 4,5 раза больше тока, когда бодрствует, и в 10 раз, когда спит. Не похоже много, но разница между бегом по клетке монеты в течение 3 месяцев или в течение года. (Я предполагаю, что оба микроконтроллера в основном выполняют синхронизацию, обновляют порты и т. Д. И не выполняют по-настоящему тяжелых вычислений. Если это последний случай, и 8-разрядный микро должен выполнять много многобайтовой арифметики в течение длительного периода времени времени, он теряет часть своего преимущества.)
Интересно, что ARM потребляет примерно в четыре раза больше тока, чем 8-битный, и, в свою очередь, имеет внутренние регистры и пути данных, которые в четыре раза шире. Я не думаю, что это совпадение. Для CMOS потребление энергии примерно пропорционально количеству переключаемых транзисторов, и ARM, очевидно, делает намного больше для каждой выполняемой команды.
Поскольку все больше производителей ARM выпускают недорогие чипы, я не удивлюсь, если такие производители, как Microchip, еще больше снизят свои цены. В любом случае, при более или менее равных ценах на пакеты одинакового размера, но с гораздо меньшим количеством 32-битных микросхем на выбор, я думаю, что 8-битные микроконтроллеры еще какое-то время появятся, особенно потому, что вы с ними познакомились десятки тысяч инженеров.
источник
Три основных момента:
50 ¢, когда вы заказываете 10000 фишек, это довольно большие деньги. Даже больше, когда вы заказываете 100 000 фишек.
Вы можете получить 8-битные микросхемы, значительно меньшие, чем 32-битные микросхемы, такие как PIC10, который доступен в упаковке SOT23-6.
32-битные микросхемы, поскольку они обычно работают быстрее и потребляют больше энергии, потребляют гораздо больше энергии, чем маленькие 8-битные микросхемы. Батареи разряжаются быстрее, энергосистемы должны обеспечивать больший ток (и, следовательно, быть более дорогостоящими) и т. Д.
В конце концов, почему вы покупаете Джаггернаут, чтобы взять чашку сахара по соседству?
источник
Приложения uC, которые я разработал для коммерческих продуктов, почти никогда не обрабатывали данные размером более 8 бит; поэтому, даже если бы 32-битная цена была такой же, как у 8-битной, все равно не было бы никакой выгоды. Как сказал кто-то другой, мы стремимся к тому, что знакомо, поэтому мы можем сделать это быстрее. Однако последняя разработка, которую я разработал, всячески подталкивала PIC16, который я использовал, до предела, но это было не из-за размера данных. Если я сделаю еще что-то подобное, мне действительно стоит выучить ARM.
источник
Я ожидаю, что ARM-чипы возьмут на себя большинство функций, когда что-то ведет себя как «компьютер». С другой стороны, многие 8-битные микроконтроллеры привыкли делать то, что можно сделать с помощью относительно простого программируемого логического устройства или умеренного числа вентилей, но на самом деле это можно сделать дешевле и / или с меньшим потреблением тока, используя простой 8-битный микро При разработке более сложных приложений часто проще использовать 32-битный микро, чем 8-битный, но если цель микросхемы состоит в том, чтобы, например, наблюдать и отбрасывать определенный вход и, если он идет высоко, начать вывод 200 импульсы на определенном выходе с интервалами 1 мс, затем 100 с интервалами 2 мс, затем 100 с интервалами 3 мс, затем пауза на 100 мс и продолжайте делать это до тех пор, пока вход не станет низким, разработка кода для этого на самом деле может быть прощена 8-битном микро, чем на 32-битном. Разница в стоимости между 8-битными и 32-битными микросхемами во многих случаях может оказаться недостаточной, чтобы оправдать затраты дополнительных инженерных усилий, чтобы проект "вписался" в 8-битную микросхему, но в тех случаях, когда 32-битная часть не Не стоит тратить время на инженерные работы, нет причин тратить лишние деньги.
источник
Хотя я согласен с тем, что основными причинами являются стоимость процессора и энергопотребление, еще одно соображение, которое я здесь пока не видел, - это пространство на печатной плате. Для многих типов встраиваемых систем, таких как, например, электронные весы для ванной комнаты, нет большой необходимости в большом количестве операций ввода-вывода, нет необходимости в большем размере шины и нет преимущества в более быстрой обработке. Тем не менее, этоПреимущество для меньшего пакета с меньшим количеством контактов, потому что это делает расположение и маршрутизацию печатной платы проще и часто меньше. Если плата может быть спроектирована как двухслойная, а не четырехслойная, это означает значительную экономию затрат, а меньшее число выводов, которое часто идет с 8-разрядными процессорами, способствует такой экономии легче, чем 32-разрядная. битовые процессоры, которые обычно имеют больше контактов и физически большие пакеты.
источник
Известно, что даже в 8-битном мире новые типы занимают много времени в пользу старых типов - MCS51 все еще жив в своих нишах, а MCS48 все еще обнаруживается в неожиданных местах.
Во многих случаях изменения не происходят, потому что они не приносят никакой дополнительной пользы и связаны с затратами на изучение новой технологии, которая еще не доказала свою готовность и / или, как ожидается, все еще будет движущейся целью (что делает это интересно людям, которые хотят сосредоточиться на технологии MCU, но раздражают людей, которые хотят сосредоточиться на своих приложениях и не постоянно исправлять и повторно тестировать производственное программное обеспечение, чтобы адаптировать винтаж ARM этого года!). Для некоторых компонент, который больше не разрабатывается, устарел, для других он, наконец, стал стабильным , и, хотя ему могут потребоваться обходные пути для исправления ошибок, он, по крайней мере, обеспечивает для них стабильную платформу. Лавовый поток не всегда является антипаттерном, на который он треснул - он заставляет горы оставаться на месте.
источник