8-разрядные микроконтроллеры успешно применяются уже более 40 лет. Это удивительный факт, поскольку технологии развиваются настолько быстро, что электронные устройства устаревают через год или два после выхода на рыынок. В данной статье мы попробуем разобраться, чем объясняется «живучесть» этих простых микроконтроллеров.
Современные 8-разрядные микроконтроллеры (МК) значительно отличаются от тех, что были в начале 1970-х гг. Они миниатюрнее, быстрее, дешевле, экономично расходуют энергию, легко программируются и предоставляют больше возможностей, в т.ч. по подключению периферийных устройств. Для первых 8-разрядных микроконтроллеров 500 тыс. операций в секунду считалась очень хорошей производительностью, а типичное значение тактовой частоты составляло 1…2 МГц. Сейчас частота достигает 64 МГц, а скорость выполнения — 16 млн инструкций в секунду.
8-разрядные МК предназначены для реализации малопотребляющих устройств с несложным программным кодом. Они всегда были и остаются самым простым и экономически эффективным решением для осуществления основных операций управления. Если необходимо быстро решить какую-либо проблему, то 8-разрядные МК — идеальный выбор, поскольку средства разработки для них имеют низкую стоимость, а время вывода на рынок минимально.
Оптимизированные по экономической эффективности 8-разрядные МК имеют меньший программный код, малое энергопотребление и обеспечивают хорошую устойчивость к шумам.
С годами увеличилась и емкость встроенной памяти. На данный момент семейства 8-разрядных МК компании Microchip содержат от 384 байт памяти программ для простых устройств с очень низкой стоимостью до 128 Кбайт флэш-памяти и до 4 Кбайт ОЗУ для более сложных приложений.
Особенности и периферийные устройства
Современные 8-разрядные МК в небольшом корпусе обладают широким набором возможностей. Например, МК семейства PIC10F2XX Microchip выпускаются в 6-выводных корпусах DFN или SOT-23. Это самые миниатюрные в мире микроконтроллеры, однако они незаменимы при добавлении электронных функций в дискретные или аналоговые устройства, в которых изначально не было электронной начинки.
Семейства PIC-микроконтроллеров Microchip имеют встроенную поддержку большого набора периферийных устройств, что значительно увеличивает количество потенциальных приложений, поскольку в большинстве встраиваемых модулей требуются ресурсы для подключения внешних ИС. 8-разрядные МК Microchip содержат стандартные интерфейсы связи, такие как SPI, USART (RS-232/RS-485), I2C, CAN и LIN.
Кроме того, многие PIC-микроконтроллеры имеют встроенный USB-порт для регистрации данных, удаленного обновления во время работы, получения данных (вместо RS-232) и подключения диагностического оборудования. Семейства PIC18F14K50 и PIC18F87J50 поддерживают Full-Speed USB 2.0 со скоростью работы до 12 Мбит/с. Все USB-МК поставляются с USB-драйверами и стеком. Для добавления интерфейса USB в любой PIC-микроконтроллер можно использовать ИС MCP2200 — запрограммированный мост USB-UART.
Во многих приложениях также требуется обеспечить возможность подключения Ethernet-порта. В этом случае разработчики выбирают между автономными Ethernet-контроллерами ENC28J60 или ENC624J600 с реализованными на плате протоколами физического и канального уровня или используют решение PIC18F97J60, в котором в одном корпусе объединены PIC-микроконтроллер и протоколы физического и канального уровней 10-BASE-T Ethernet. Какой бы вариант ни был выбран, с помощью недорогих инструментов Microchip и стека TCP-IP добавление поддержки Ethernet не составит труда.
Следующий класс встроенных периферийных ресурсов позволяет разрабатывать удобные и недорогие пользовательские интерфейсы с клавишами и дисплеем. В качестве альтернативы механическим кнопкам, переключателям или слайдерам Microchip предлагает сенсорные решения mTouch. Они дешевле и менее подвержены воздействию окружающей среды.
Для приложений, в которых требуется управление сегментированным индикатором, компания предлагает 8-разрядные МК со встроенным контроллером дисплея (до 192 точек). Видеодрайвер поддерживает функции управления контрастом и яркостью, что позволяет настроить параметры дисплея в соответствии с условиями освещения.
Помимо интерфейсов подключения и взаимодействия с пользователем 8-разрядные МК содержат интерфейсы управления и синхронизации для захвата и сравнения ШИМ, счетчиков-таймеров и сторожевых таймеров. Для работы с аналоговыми сигналами предусмотрены АЦП (до 12 разрядов), ЦАП, компараторы и ОУ, детекторы провала напряжения, температурные датчики, опорные источники и регуляторы напряжения, а также резонаторы.
В связи с тем, что во многих приложениях требуется низкое энергопотребление или питание от батареи, преобразование энергии становится важным фактором. Современные устройства должны быть экономичными и работать до 20 лет без замены батареи. Продукты с технологией XLP имеют увеличенный срок службы батарей и малый ток в режиме ожидания.
Использование микроконтроллеров с поддержкой USB, ЖКИ и емкостных датчиков mTouch не требует подключение дополнительных элементов, что позволяет сократить стоимость конечного устройства, упростить его схему и снизить ток потребления. Продукты с XLP содержат специальные схемы надзора для устройств с батарейным питанием, предотвращающие возникновение сбоев в схеме и обеспечивающие точное тактирование.
Для ускорения работы с 8-разрядными МК семейств XLP, USB, Ethernet, LCD, mTouch и PIC общего назначения Microchip предлагает простые и наглядные инструменты разработки, а также обширную библиотеку руководств по применению.
Разрядность: 8, 16 или 32?
Расширенные возможности и универсальность 8-разрядных микроконтроллеров привели к интересной ситуации на рынке. Некоторым производителям, которые отказались от 8-разрядных МК в пользу 16 - и 32-разрядных семейств, в настоящее время во многих приложениях приходится конкурировать с решениями на основе 8-разрядных МК. На микроконтроллерах с более высокой разрядностью можно реализовать все то, что и на 8-разрядных МК. Однако возникает вопрос, насколько это эффективно. К сожалению, в большинстве случаев это менее эффективный подход.
8-разрядные микроконтроллеры предназначены для взаимодействия с простыми устройствами, такими как переключатели, датчики, клавиатуры и небольшие дисплеи. При работе с ними нет необходимости передавать 32-разрядные данные. В качестве примера можно привести многочисленные бытовые устройства с индикацией времени. Для реализации этой функции отлично подойдет 8-разрядный МК.
Плотность кода для устройства на основе 8-разрядного МК намного ниже, чем для 16- или 32-разрядного процессора. Многие 8-разрядные микроконтроллеры имеют широкий диапазон рабочего напряжения 1,8…5,5 В. Благодаря этому их удобно использовать в средах с высоким уровнем электромагнитных помех (промышленные помещения или автомобиль). Для подобных сред компания Мicrochip разработала МК с повышенной стойкостью к электромагнитному и радиационному излучению.
Большинство 32-разрядных микроконтроллеров оптимизировано для работы на более высоких частотах. Они более чувствительны к шуму и имеют более высокое энергопотребление.
В целом классификация рынка МК по емкости шины данных слишком примитивна. Существует ряд приложений, где приходится искать компромисс между степенью интеграции, потреблением, вычислительной эффективностью, стойкостью и стоимостью.
Как правило, 32-разрядные МК лучше подходят для программно-ориентированных приложений с машинным интерфейсом, в которых главное — это высокая вычислительная способность, а также работа в режиме реального времени и многопоточность. Для аппаратно-ориентированных приложений, в которых требуется детерминированность поведения, низкое потребление в режиме ожидания, хорошие электрические характеристики и наличие интерфейса пользователя, лучшим решением по-прежнему является 8-разрядный МК. К числу этих приложений относятся кофе-машины, тостеры, электронные ключи и брелоки, датчики в системах безопасности, электрические зубные щетки, термостаты и т.п.
Архитектура PIC
Одна из отличительных особенностей 8-разрядных микроконтроллеров Microchip — это PIC-архитектура, основанная на модифицированной Гарвардской архитектуре с набором команд RISC. Ее достоинствами являются раздельные шины для передачи данных и инструкций. Более 80% инструкций выполняются за один цикл, повышая эффективность вычислений. Двухступенчатый конвейер позволяет обрабатывать одну инструкцию во время выполнения другой, ускоряя вычисления. Кроме того, если требования к проекту меняются, то замена микроконтроллера на более функциональный не требует больших усилий — стандартное расположение выводов позволяет заменять 6-выводной МК 100-выводным и увеличивать память программ с 384 байт до 128 Кбайт.
Программное обеспечение и поддержка
В настоящее время качество аппаратного обеспечения напрямую зависит от эффективности программного кода. Однако не все инженеры одинаково хорошо разбираются и в программной, и в аппаратной частях устройства. Для упрощения проектирования Microchip предлагает несколько возможностей.
Во-первых, 8-разрядные МК не обязательно программируются на ассемблере. Бесплатный компилятор С позволяет не только упростить проектирование, но и ускорить выход устройства на рынок и сократить расходы. Если требуется оптимизация на высоком уровне, Microchip предлагает более продвинутые компиляторы С.
Кроме того, компания предлагает обширную библиотеку программного обеспечения на С. Она может использоваться не только при работе с 8-разрядными МК, но и для 16- и 32-разрядных семейств. Это удобно, особенно если проект в дальнейшем планируется модернизировать и расширять. Библиотеки для 8-разрядных семейств предоставляются бесплатно и содержат примеры кодов, на основе которых можно создавать собственные программы. Программное и аппаратное обеспечение от одного производителя — это гарантия защищенности от проблем несовместимости.
Microchip также предоставляет своим клиентам бесплатную интегрированную среду разработки и отладки. Немаловажна и помощь сообщества разработчиков в интернете.
Литература
1. Alcott А. 8-Bit MCUs: Sophisticated Solutions for Simple Applications.