Возможно, год назад существовала значительная разница между низкоуровневыми 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-битные микроконтроллеры еще какое-то время появятся, особенно потому, что вы с ними познакомились десятки тысяч инженеров.