Altinkaya: турецкие корпуса для РЭА
РадиоЛоцман - Все об электронике

11 мифов о 8-битных микроконтроллерах

Журнал РАДИОЛОЦМАН, январь 2018

Wayne Freeman, Microchip Technology

Electronic Design

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

11 мифов о 8-битных микроконтроллерах

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

Инженеры, которые достаточно молоды, чтобы не застать Берлинской стены или Советского Союза, предпочитают отказываться от эффективной простоты 8-битных устройств в поисках обещанной бесконечной вычислительной мощности 32-битных приборов. Но в самом ли деле 32-битные микроконтроллеры являются наилучшим выбором для любого приложения? Давайте же рассмотрим наиболее распространенные мифы и заблуждения, касающиеся старейшины рынка встраиваемых систем.

1. 8-битные микроконтроллеры уходят прочь.

Хотите верьте, хотите нет – это самое распространенное заблуждение, с которым мы сталкиваемся в пространстве 8-битных встраиваемых устройств.

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

Давайте попробуем подкрепить наше обсуждение некоторыми конкретными данными. Согласно отчету исследовательской компании Gartner за 2015 год, объемы продаж 8- и 32-битных устройств в долларовом выражении были примерно равны и составляли $6 млрд. С учетом разницы средних цен, эти цифры говорят о том, что в 2015 году на один встраиваемый 32-битный микроконтроллер приходилось три 8-битных. Так что же, уходят прочь? Отнюдь не так скоро.

2. В 8-битных устройствах нет ничего нового. Никаких инноваций.

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

11 мифов о 8-битных микроконтроллерах
Рисунок 1. 8-битные микроконтроллеры Microchip имеют независимую от
ядра конфигурируемую периферию (CIP), выполняющие системные
функции без участия процессора, и могут общаться друг с другом,
что помогает повысить эффективность и быстродействие
системы, снизив при этом потребляемую ею мощность.

Например, линейки 8-битных микроконтроллеров PIC и AVR компании Microchip имеют независимую от ядра периферию (core independent peripherals – CIP), работающую без участия центрального процессора и способную обмениваться друг с другом (Рисунок 1). Это помогает повысить эффективность и быстродействие системы при одновременном снижении энергопотребления. В сочетании с современными средствами ускорения разработки, такими как MPLAB Code Configurator и Atmel START, эти инновационные 8-битные приборы позволяют конструкторам пройти путь от прототипа до серийного производства за несколько месяцев.

3. 8-битные процессоры очень сложно программировать на Си и других языках высокого уровня.

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

В микроконтроллерах современного семейства Microchip PIC16 “F1” есть несколько инструкций, полностью посвященных устранению любых проблем, связанных со страницами и банками их адресного пространства. Если этого недостаточно, то архитектуры PIC18 и AVR имеют большие пространства линейных адресов, специально созданные для компиляторов языков высокого уровня. Естественно, что современные интегрированные среды разработки все эти проблемы сделали несущественными.

4. 8-битные микроконтроллеры можно использовать только в простых приложениях.

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

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

5. Мощности 8-битных устройств недостаточно для устройств Интернета вещей.

В нашем представлении приложения Интернета вещей (IoT) – это умные часы, узел беспроводного аудио или какая-то другая столь же сложная встраиваемая система. Однако реальность заключается в том, что «вещи», содержащиеся в приложениях IoT, выполняют довольно простые задачи. Это сенсорные переключатели, датчики, беспроводные лампочки и сетевые устройства открывания гаражных дверей; это кнопка в вашей прачечной, автоматически подающая стиральный порошок, когда вы нажимаете на нее.

Эти системы выполняют измерения. Они посылают данные в Интернет через ваш домашний роутер. Они управляют простыми импульсными источниками питания. Они просыпаются, когда их «толкает в бок» сеть. Они выполняют свою работу, расходуя очень мало энергии. И все это – именно те задачи, под которые специально разрабатывались новейшие 8-битные микроконтроллеры. Поэтому, если в следующем вашем устройстве IoT не будет 8-битника, значит, вероятно, что вы упустили возможность оптимизировать свое приложение.

6. 8-битные процессоры слишком медленны, чтобы реагировать на критические системные события.

Помните об этом: время отклика на критические системные события связано с задержкой и детерминизмом.

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

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

7. 32-битные микроконтроллеры более энергоэффективны, чем 8-битные.

Так же, как все знают, что 32-битные микроконтроллеры – самые быстрые во встраиваемых устройствах, так все понимают, что более быстрым 32-битникам требуется больше энергии. Не будем спорить, но некоторые инженеры считают, что могут использовать всю эту скорость, чтобы немного «обмануть систему». В основном, они исходят из того, что, ускоряя работу процессора, можно на большее время погружать его в спячку. Значит, 32-битные микроконтроллеры более энергоэффективны, чем 8-битные, правильно? Нет, не правильно.

Даже если на обеих архитектурах вы выполняете примерно эквивалентные подпрограммы, гораздо более низкое потребление энергии в активном режиме 8-битного микроконтроллера гарантирует больший срок службы крошечной батареи. Добавьте к этому тот факт, что большинство современных 8-битных микроконтроллеров имеют лучший баланс периферийных функций, чем 32-разрядные устройства сопоставимой стоимости. Это позволяет «менее мощным» микроконтроллерам выполнять больше задач на аппаратном уровне, оставляя центральному процессору больше времени для спящего режима. В некоторых распространенных приложениях, использующих новые 8-битные микроконтроллеры PIC и AVR, время активного состояния центрального процессора почти равно нулю.

8. 32-битные стоят столько же, но имеют удвоенную производительность.

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

8-битные микроконтроллеры Microchip оснащены интеллектуальными аналоговыми периферийными устройствами, способными без вмешательства центрального процессора автоматизировать задачи анализа сигналов, предоставлять корректирующую информацию широтно-импульсным модуляторам (ШИМ) и обеспечивать автоматическое отключение. Эти 8-битные устройства могут значить сократить количество внешних компонентов и сохранить массу денег. Лучший совет – посмотреть на реальные потребности всего приложения и выбрать микроконтроллер, который сможет решить задачу при минимальной стоимости системы. Тогда вы никогда не ошибетесь при выборе оптимальной конфигурации своей системы.

9. У 8-битных решений нет перспективы.

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

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

10. 32-битные микроконтроллеры сокращают время разработки программ.

Написать программный код несложно. Намного сложнее написать работающий код. Люди, поддерживающие миф номер 10, обычно недооценивают количество времени и усилий, необходимых для тестирования, отладки и проверки их кода в рабочем приложении. Или же все они гении программирования. Один день кодирования может вылиться в месяцы проверки (Рисунок 2).

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

Приложения, использующие 32-разрядные микроконтроллеры, как правило, ориентированы на программное обеспечение. Это означает, что вся необходимая функциональность реализуется в подпрограммах, поэтому эффективного способа избежать цикла отладки не существует. Оба 8-битных микроконтроллера PIC и AVR предназначены для более эффективного использования своих периферийных устройств, чтобы сократить количество строк кода, необходимых для реализации общих функций. Это ускоряет процесс разработки, поскольку программирование становится простым, а функциональность аппаратуры проверена на заводе (Рисунок 3).

11 мифов о 8-битных микроконтроллерах
Рисунок 3. 8-битные микроконтроллеры PIC и AVR предназначены для более эффективного
использования своих периферийных устройств, чтобы сократить количество
строк кода, необходимых для реализации общих функций. Это ускоряет процесс
разработки, поскольку программирование становится простым, а функциональность
аппаратуры проверена на заводе.

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

11. Миграция с 8-битных микропроцессоров невозможна.

Возможность миграции зависит в большей степени от используемой вами среды разработки, чем от какого-либо конкретного микроконтроллера или части оборудования. Если миграция является ключевой проблемой, то лучше всего использовать микроконтроллеры производителя, предлагающего «полную линейку» 8-, 16- и 32-битных приборов, поддерживаемых совместимой экосистемой разработки. В наши дни именно среда разработки, а не оборудование, определяет легкость перехода от одного микроконтроллера к другому. Хорошо продуманная среда разработки, такая как MPLAB X или Atmel START от Microchip, позволяет пользователям реализовать свои идеи на любом микроконтроллере компании.

Если вы проектируете очередной Linux-суперкомпьютер, который будет носиться на запястье, то имеет смысл начинать и заканчивать поиск микроконтроллера среди новейших и лучших 32-битных устройств. Но если вы, как и все остальные, добавляете в обычные повседневные системы интеллект, управляемость и детерминизм, вы совершили бы большую ошибку, если бы не включили в свой список новые 8-битные микроконтроллеры. Вы получите наименьшую мощность потребления, невероятно полезные периферийные устройства и исключительную простоту разработки. Что вам в этом не нравится?

Перевод: AlexAAN по заказу РадиоЛоцман

На английском языке: 11 Myths About 8-Bit Microcontrollers

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения:Полный вариант обсуждения »
  • Иногда читаеш очередной лохотрон и диву даешся - это же не только дают "толпе" читать, за этот лохотрон еще и деньги заплатили! И так, думаю ни кто сейчас не будет говорить о 1_х изобретенных лампах или транзисторах, которые за золото продавали в Японию, которая кристал резала на 4 части и продавала уже 4 идентичных транзистора... Мы говорим сегодня о микроконтроллерах - значит о том, что разработано сегодня и применимо и разработано как 8 бит, так и 32-бит контроллеры. Данные вещи можно делать с 1 и той же частотой и технологиями - вывод - 32 битные контроллеры в 4 раза медленнее 8 битных из за разрядности. Следующзий момент - программирование в СИ - это эксклюзив, язык программирования "для общего развития, оскорблять не стану", с описаниями, я оторвался сходить в туалет, но там была жесткая бумага, поэтому программу буду писать на день больше. Или если программу Виндовс переделать на некоторые другие языки программирования - она станет в 50 раз меньше и 10 раз быстрее.
  • Очередной бредовый комментарий от 666.
  • особенно понравилось про форточку. 666 жГи АЩо аЦкИЙ сАТАнА