8051 и другие младшие микроконтроллеры все еще используются сегодня?
Да почти везде. Они маленькие и простые, вокруг много плавающих ядер, которые вы можете вставить в свой пользовательский кремний за небольшую плату или бесплатно, есть зрелые компиляторы. Все это делает 8051 по-прежнему одной из самых популярных базовых архитектур среди производителей кремния. Ядра ARM могут быть доступны в более разных продуктах, но, опять же, когда вы говорите с кем-то, кто строит много устройств по очень строгому ценовому ограничению, есть вероятность, что он предпочтет более дешевое / бесплатное ядро 8051, если оно выполнит свою работу , Просто чтобы возразить, @ Nitro2k01 утверждает, что использование только в нише: у Mouser есть около 800 моделей 8051 микроконтроллеров на складе ¹. И тот факт, что они начинаются, даже в Mouser, по ценам ниже 40 центов, может указывать на то, для чего они используются:
основной, низкопроизводительный, MCU большого объема
таким образом:
... очевидно, что ни одна индустрия не будет использовать его для разработки продукта из-за его простоты ...
это качественная полная ерунда. Тем более что вы сами представляете себе контрпример
Мой босс, которому за пятьдесят, сказал, что он использует производные 8051, и они делают свою работу.
Точно! Они используются повсеместно, они хорошо себя зарекомендовали и дешевы, и их достаточно ; Никогда не стоит недооценивать преимущества решения какой-либо общей проблемы в ящике где-нибудь!
Конечно, часто бывает так, что вам может понадобиться решение, скажем, с двумя типичными автомобильными шинами, высокоскоростным интерфейсом к АЦП, некоторыми надежными сторожевыми таймерами, тремя модулями ШИМ ... и затем вы начинаете собирать воедино что-то, состоящее из четыре 8051 и 8080 производных .. э-э. Это плохая ситуация, и, скорее всего, ее можно решить гораздо быстрее и надежнее, используя один, более универсальный, более мощный MCU (например, ARM). Но то, что «у нас есть знания компании о том, как что-то работает со старыми технологиями,« против », что мы ориентированы на будущее, имея возможность работать на современном оборудовании», является классическим компромиссом в области безопасности инвестиций. Если вы столкнетесь с одним из таких проектов, я постараюсь поговорить с боссом в этом контексте. Для легких небольших работ, да, 8051.
Должен ли я узнать об архитектуре MCU в целом?
Да! Я думаю, что @jfkowes объясняет это очень хорошо. Но, честно говоря, это немного похоже на вопрос: «Должен ли я узнать, как работает двигатель внутреннего сгорания, если я хочу быть автомехаником»; Ответ таков: «Вы могли бы просто жить хорошо, если бы вы могли просто выполнять руководства по ремонту достаточно хорошо, но вы, вероятно, будете намного лучшим техником (не говоря уже о инженере), если вы понимаете, что делает ваше оборудование.
Как только вы столкнетесь с проблемой, которая не может быть Google, вы будете в значительной степени черепахой на спине, если вы не понимаете, как работает ваш процессор.
Стоит ли изучать архитектуру 8051?
Возможно нет. В том смысле, что, да, поскольку стоимость не является вашей основной задачей, вы, скорее всего, можете просто использовать гораздо более мощные и универсальные микроконтроллеры на основе ядер ARM или другие, более современные архитектуры.
С другой стороны, ядро 8051 настолько просто, что я бы порекомендовал понять, какие у него блоки, прежде чем пытаться взяться за более современное, сложное ядро MCU. Это хороший пример.
Так что, если 8051 не ядро Я ищу в приложении низкого объема, чем я ищу?
Итак, лично: пойти на ARM Cortex-M0, -M3, -M4F; они распространены во всех видах доступных микроконтроллеров, просты в программировании (да, зрелая поддержка GCC, стандартные библиотеки CMSIS, много встроенных ОС, работающих на них) и обычно поставляются со стандартными интерфейсами отладки (что является большим плюсом).
Снаружи ARM, как правило, относительно легко понять, поскольку вы обычно отображаете каждую периферию в пространство памяти, и все. Внутренне, они имеют различную степень сложности и оптимизации скорости / надежности / размера, что делает их не совсем легкими для понимания в деталях, но я думаю, что это может быть слишком много, если вы не занимаетесь разработкой ЦП.
Если вы занимаетесь проектированием процессоров, я думаю (это действительно личное убеждение, основанное на моих наблюдениях за исследовательской деятельностью и «обещанными» инвестициями в отрасли), в настоящее время мы наблюдаем появление новой важной ISA - RISC-V. Существуют различные реализации этой архитектуры для ПЛИС или кремния, и такие люди, как Nvidia, похоже, тоже пытаются заменить свои потоковые мультипроцессоры ядрами такого типа.
О. Очень вероятно, что мне не хватает более половины фактических 8051-х, которые есть у mouser (потому что, эй, я только что выбрал все MCU с именем ядра * 80 * 5 *). Скорее всего, если вы выберете случайный 8-битный микроконтроллер, вполне вероятно, что его ядро, по крайней мере, частично получено из 8051. Я имею в виду, просто посмотрите на
«список поставщиков производных [8051]» из Википедии .