Две стороны повсеместного применения микроконтроллеров / Хабр
Микроконтроллеры (старое красивое название — однокристалльные микро-ЭВМ) в настоящее время имеют невероятно много областей применения. От промышленной автоматики до бытовых приборов, от управления ядерными станциями до детских игрушек, от секретных военных систем до переключения каналов в вашем радиоприемнике. Одним словом, проще перечислить, где они не применяются.
Изобретение и дальнейшее развитие микроконтроллеров произвело настоящую революцию в цифровой электронике. Изменились не только схемотехника и элементная база, но и сами принципы построения систем. Значительные изменения претерпел цикл разработки. Появились целые классы устройств, существование которых было бы невозможно без контроллеров.
Но у всякой технологии, как бы хороша она не была, всегда есть обратная сторона. Сюда относятся незаметные на первый взгляд трудности; проблемы, порождаемые новым подходом; ограничения, с которыми приходится считаться. Новые возможности, которые предоставляет технология, могут найти самые неожиданные применения, и не всегда направленные во благо.
Эта статья имеет целью дать обзорную оценку как положительных, так и отрицательных аспектов повсеместного применения микроконтроллеров.
Упрощение схемотехники
Если сравнивать схемотехнику устройств на жесткой логике и на контроллерах, то последняя намного проще. При разработке требуется только определить, из каких функциональных блоков будет состоять устройство, какими интерфейсами их объединить, и какую элементную базу выбрать. Вместо составления схемы будущего устройства из отдельных деталей теперь применяется блочное проектирование. Микроконтроллер позволяет на одном кристалле создать законченный блок, а то и несколько.
Реализация всех алгоритмов работы — теперь задача программы контроллера, а написание программы гораздо менее трудоемко, чем синтез цифровой схемы. С ростом сложности задач это преимущество становится все более явным. Растущий размер программного кода компенсируется его структурированностью, а также введением дополнительных уровней абстракции. Широко применяются встраиваемые ОС и стандартные библиотеки, что позволяет разделить код, работающий с аппаратурой, и код, задающий поведение и алгоритмы.
Унификация
Разделение программной и аппаратной части позволило унифицировать элементную базу. Один и тот же контроллер может применяться для создания множества различных устройств. Унификация приводит к снижению стоимости производства. Экономически выгодно производить несколько десятков видов контроллеров вместо сотни разновидностей логических микросхем (и тысячи специализированных).
Несколько разных по функциональности устройств могут иметь одну и ту же схему, а различаться лишь программой. Наиболее ярким примером могут служить промышленные ПЛК (программируемые логические контроллеры). Они собираются из стандартных модулей: устройств ввода, устройств вывода, вычислительных и интерфейсных модулей. За взаимодействие модулей между собой и алгоритмы работы системы в целом отвечает программная часть. Таким образом, из небольшого набора стандартных блоков можно построить любую необходимую систему.
Простота внесения изменений
Для того, чтобы изменить алгоритм работы схемы на жесткой логике, необходимо соединить ее элементы в другом порядке, удалить часть из них или добавить новые. Часто это можно сделать только в процессе макетирования, а когда устройство уже готово, единственный способ внести изменения — выпустить новую версию.
Микроконтроллер в этом отношении дает гораздо больше гибкости. Для внесения изменений в алгоритм работы устройства достаточно загрузить новую прошивку. Большая часть современной электроники поддерживает перепрошивку в условиях сервис-центра, а зачастую даже пользователем. В наши дни вы можете легко обновить ПО своего телефона, принтера или фотоаппарата. В недалеком будущем вы сможете проделать то же самое, скажем, со стиральной машиной или кофеваркой. По мере того, как все больше устройств получают возможность доступа к сети, логично ожидать распространения механизма автообновлений, подобно тому, который применяется сегодня для компьютерных программ.
Если положительные аспекты повсеместного применения микроконтроллеров очевидны и не требуют подробного рассмотрения, то проблемы, связанные с ним, спрятаны глубже и незаметны на первый взгляд.
Снижение надежности
Теория надежности включает в себя много различных аспектов, но в «бытовом» смысле, когда говорят о надежности техники, обычно имеют в виду устойчивость к отказам и сбоям. Отказ — это неустранимое нарушение работоспособности, как пример можно привести перегоревшую лампочку. Сбой — это нарушение, которое устраняется само по себе, или при минимальном воздействии оператора. Старый телевизор, который «чинится» ударом кулака — пример системы, работающей со сбоями.
Чем из большего числа элементов состоит система, тем вероятнее возникновение отказа какого-нибудь из них. В этом отношениии интегральная схема контроллера, содержащая миллионы транзисторов, на первый взгляд проигрывает жесткой логике, где всего несколько сот транзисторов на кристалл. Однако уровень надежности в микроэлектронике сегодня достаточно высок. Все кристаллы, вызывающие подозрения, отбракованы еще на этапе производства. Более слабыми местами являются печатные платы, соединения микросхем между собой и пассивные элементы. Таким образом, по частоте отказов, вызванных внутренними причинами, микроконтроллерные схемы даже выигрывают.
Проигрывают они по устойчивости к сбоям. Сбои, как правило, вызываются внешними воздействиями: температурой, электромагнитными помехами, радиацией. Особенно чувствительны контроллеры к электромагнитным воздействиям, которые вызывают зависания и самопроизвольные перезагрузки. Для обеспечения помехозащищенности микроконтроллерных схем требуются специальные меры: разделение шин питания, сторожевые таймеры, дополнительные слои металлизации на плате и т.п. Подробнее — см. [1].
Часто источником сбоев становится плохо отлаженная прошивка. Или же причина ненадежной работы лежит на стыке программной и аппаратной части. Например, многократная запись в одну и ту же ячейку flash-памяти рано или поздно приводит к исчерпанию ресурса ячейки, и данные начинают повреждаться. Микроконтроллер может обеспечить уровень надежности, необходимый для большинства задач, но только при грамотном подходе к проектированию. Об этом, кстати, стоит сказать отдельно.
Кажущаяся простота разработки
Прежде чем заниматься разработкой электроники, необходимо накопить значительную сумму знаний. Схемотехника цифровых устройств — это довольно объемный институтский курс. Плюс желательно знать электротехнику, основы аналоговой схемотехники и дискретную математику. Одним словом, порог входа для разработки электронных схем достаточно высок.
Порог входа для программирования гораздо ниже. Можно за один вечер изучить основы любого языка и научиться писать «Hello world»ы. Ясно, что между «программистом» и «хорошим программистом» лежит огромная пропасть, но легкость, с которой можно начать писать, подкупает.
Точно также низок порог входа для разработки устройств на контроллерах. Сейчас полно отличных Arduino-подобных комплектов, огромный выбор периферийных модулей к ним, осталось потратить тот самый вечер на освоение IDE (среды разработки) — и можно приступать к своему первому проекту.
Так почему же хороший программист встраиваемых систем — сравнительная редкость? Дело в том, что помимо непосредственно умения писать код, он должен знать все особенности своей архитектуры. Ему необходимо представлять, как работают цифровые устройства, разбираться в кодировании сигналов, знать, как поведет себя устройство в каких-либо нестандартных условиях. Программист, работающий с контроллерами, находится гораздо ближе к «железу», чем прикладной программист. Соответственно, без знания принципов работы этого железа ему не обойтись.
Получается, что легкость разработки под контроллеры — только иллюзия. Микроконтроллер гораздо чувствительнее к ошибкам программиста, чем «большие» компьютеры. Ограниченный объем памяти, требования к быстродействию «по тактам» и почти полное отсутствие «защит от дурака» требуют высокой квалификации разработчика.
Функциональная перегруженность и неудобные интерфейсы
— Как выглядит идеальный интерфейс? Одна кнопка с надписью «Сделай мне хорошо».
— Нет, никаких кнопок, просто надпись «Тебе уже хорошо».Шутка с долей правды.
Для решения той или иной задачи микроконтроллер всегда выбирается c запасом по параметрам. Соответственно, часть ресурсов контроллера (иногда до 90%) остается свободной. Это приводит к тому, что добавить несколько дополнительных функций можно практически «бесплатно», дописав пару десятков строк в коде прошивки. И такой возможностью часто злоупотребляют. В результате нарушается принцип
K.I.S.S., объявляющий простоту системы одним из основных приоритетов в проектировании.
Наличие ненужных функций — лишь вершина айсберга. Казалось бы, не используется — и ладно, может когда-нибудь пригодится… Но функциональная сложность приводит к сложности пользовательских интерфейсов. Тут возможно два пути. Можно попытаться «втиснуть» управление всеми функциями в ограниченный набор элементов ввода-вывода. Так появляются меню с N-надцатью уровнями вложенности, или кнопки с десятками альтернативных действий. Как пример сумеречного инженерного гения в этом направлении можно привести телефон-АОН «Русь». У кого был этот агрегат, тот знает, что его настройка похожа на программирование в машинных кодах.
Второй путь — сделать интерфейс удобным для пользователя путем применения большого цветного экрана (лучше сенсорного) или добавления своей кнопки для каждой функции. Этот вариант уже лучше, но увеличиваются габариты, уменьшается время автономной работы, снижается надежность устройства.
И не забываем о цене. Даже если затраты на производство возрастают незначительно, наличие «супер-пупер экрана с 5000000 цветов» позволяет без лишних угрызений совести накрутить +50…250% к конечной стоимости устройства.Недокументированные функции
В крупном торговом комплексе ни с того ни с сего открываются фрамуги дымоудаления (большие окна с электроприводом) и выдают неисправность на реле управления. Ночью обещали дождь; не починим — зальёт полкомплекса.
Вызываю из фирмы спеца, который релюху эту программировал. Он на город один, зараза, сам всё паяет и ставит. Описал проблему; он ответил, мол, всё понятно, сейчас приеду и сделаю.
Приезжает, уверенной походкой идет к релюхе, снимает с неё плату, тыкает в переходник. Открывает редактор какой-то — всё в шестнадцатиричном коде, ни черта не понять. Что же, думаю, он делать будет? Наблюдаю как бы случайное движение мышки в правый нижний угол — навёл, каналья, дату посмотрел, открыл конвертер, перевёл какие-то числа в hex, поиском нашёл их в коде и заменил на другие.«Чё, — спрашиваю, — таймер отработал?» IThappens.ru
Проанализировав схему устройства на жесткой логике, можно восстановить весь алгоритм его работы. Проделать то же самое с микроконтроллерным устройством на порядок сложнее. Прежде всего, нужно извлечь прошивку, что возможно далеко не всегда, современные контроллеры имеют неплохую защиту. Полученный файл нужно затем дизассемблировать, деобфусцировать, и только потом проводить анализ.
Какова вероятность того, что помимо основных функций, в прошивке не присутствуют какие-либо дополнительные? Это может быть отправка статистики производителю, намеренно сделанная ошибка, модуль перехвата данных, backdoor — все, что угодно. Причем «закладку» не обязательно добавлять во время разработки, можно внести изменения в прошивку любого существующего устройства. В качестве примера можно привести червя StuxNet, который внедрял свой код в ПЛК ядерно-обогатительных предприятий [2]. Если вы не обогащаете уран, это еще не значит, что вам ничего не угрожает.
Уже разработаны механизмы атаки на принтеры [3] и роутеры [4], использующие смену прошивки. Учитывая, с какой легкостью перепрошивается большинство устройств, в ближайшем будущем следует ожидать появления новых «программно-аппаратных» вирусов и разновидностей атак.А вы уверены, что прямо сейчас ваша микроволновка не следит за вами? 🙂
В ходе чтения этой статьи, особенно второй её части, может сложиться впечатление, что я призываю отказаться от широкого использования контроллеров. Это ни в коем случае не так. Во-первых, технический прогресс невозможно повернуть вспять. Во-вторых, для многих задач контроллеры — единственная альтернатива, и заменить их нечем. И, наконец, в-третьих, описанные негативные аспекты никоим образом не перевешивают достоинств микроконтроллера.
Основной вывод, который хотелось бы сделать — а он подходит для любой технологии — необходимо умело пользоваться преимуществами, которые дает эта технология, но не забывать об их оборотной стороне. Благодарю за внимание, и да пребудет с вами Сила!
Литература
[1]
— Г. Горюнов. «Почему одни микроконтроллеры надежнее других».
[2]
— «Как Symantec взломала Stuxnet». Хабрахабр.
[3]
— «Десятки миллионов принтеров HP LaserJet уязвимы». Хакер.
[4]
— «Троян в роутере: заражение D-link 500T в домашних условиях». Хакер №7/10
Книга «Применение микроконтроллеров PIC18. Архитектура, программирование и построение интерфейсов с применением С и ассемблера (+ CD)» Брей Б
Применение микроконтроллеров PIC18. Архитектура, программирование и построение интерфейсов с применением С и ассемблера (+ CD)
Сегодня микроконтроллеры используются повсеместно в автомобилях, бытовой технике, промышленном и медицинском оборудовании и т.п. Этот учебник дает всестороннее представление об архитектуре, программировании и построении интерфейсов этого современного чуда. На примере се¬мейства микроконтроллеров PIC18 производства Microchip в книге объясняется архитектура, програм¬мирование и построение интерфейсов.
Семейство PIC18 выбрано не случайно, поскольку оно относит¬ся к самым современным восьмиразрядным микроконтроллерам. Изложенный в книге материал также применим как к более ранним версиям микроконтроллеров Microchip, так и к аналогичным устройст¬вам других производителей. Он рассчитан на опытных практиков и радиолюбителей, интересующихся микроконтроллерами.- Издательство:
- МК-пресс; Корона-Век
- Год издания:
- 2008
- Место издания:
- Киев; Спб
- Язык текста:
- русский
- Язык оригинала:
- английский
- Редактор/составитель:
- Авраменко Ю. Ф.
- Тип обложки:
- Мягкая обложка
- Формат:
- 70х100 1/16
- Размеры в мм (ДхШхВ):
- 240×170
- Вес:
- 785 гр.
- Страниц:
- 576
- Тираж:
- 2000 экз.
- Код товара:
- 436504
- Артикул:
- 52876
- ISBN:
- 978-5-7931-0516-3,978-966-8806-55-1,978-0-13-088546-3
- В продаже с:
- 14. 11.2008
Сегодня микроконтроллеры используются повсеместно в автомобилях, бытовой технике, промышленном и медицинском оборудовании и т.п. Этот учебник дает всестороннее представление об архитектуре, программировании и построении интерфейсов этого современного чуда. На примере се¬мейства микроконтроллеров PIC18 производства Microchip в книге объясняется архитектура, програм¬мирование и построение интерфейсов. Семейство PIC18 выбрано не случайно, поскольку оно относит¬ся к самым современным восьмиразрядным микроконтроллерам. Изложенный в книге материал также применим как к более ранним версиям микроконтроллеров Microchip, так и к аналогичным устройст¬вам других производителей. Он рассчитан на опытных практиков и радиолюбителей, интересующихся микроконтроллерами. Читать дальше…
Применение микроконтроллеров для быта
Двухканальный стабилизированный диммер (с подробнейшим описанием) (ATmega16, asm)
03-08-2013
1. ОБЩИЕ СВЕДЕНИЯ
1.1. Введение
Несмотря на бурное развитие сверх ярких светодиодов, в широкой продаже пока не появились светодиодные…
Просмотров: 5672
15-ти канальный управляемый диммер (ATmega8)
20-05-2011
В наш повседневный быт всё чаще входят различные интеллектуальные системы управления. Стиральные машинки давно сами стирают и сушат,…
Просмотров: 7603
Пульт дистанционного управления для цифровых зеркальных камер (ATtiny12, asm)
02-12-2010
Некоторые модели цифровых фотокамер имеют возможность дистанционного управления с помощью ИК-лучей. Дистанционное управление…
Просмотров: 4665
ИК пульт ДУ для Canon, Nikon, Minolta, Pentax, Olympus (PIC12F629, asm)
02-12-2010
Некоторые фотокамеры фирм Canon, Nikon, Minolta, Pentax, Olympus имеют функцию дистанционной съёмки с помощью инфракрасного пульта дистанционного…
Просмотров: 3654
15-ти канальная система инфракрасного дистанционного управления (ATmega8)
26-10-2010
Основные возможности разработанного модуля дистанционного управления:
· 15 выходов для подключения нагрузок;
·…
Просмотров: 4018
Универсальное устройство: часы, термометр, система удалённого управления (ATmega16)
01-08-2010
Устройство “Universal device” (Универсальное устройство) содержит в себе функции нескольких устройств, которые сильно облегчают жизнь…
Просмотров: 7935
Часы на микроконтроллере ATmega16 (ATmega16, C)
26-01-2010
От администрации сайта eldigi. ru
Автор конструкции предоставил только схемы, исходники и проект для симуляции в Proteus-e. За что ему…
Просмотров: 6854
Сенсорный регулятор освещения с дистанционным управлением (ATtiny2313)
08-03-2009
Предлагаемое устройство — один из вариантов микроконтроллерных регуляторов яркости ламп накаливания, конструкции которых можно…
Просмотров: 7227
Многоканальная система дистанционного управления или «Умный дом» (ATmega16)
24-01-2009
Как говорится, лень – двигатель прогресса. Возможно, поэтому всё большее распространение получают системы дистанционного…
Просмотров: 9342
Часы на ATmega8 (ATmega8, C)
21-06-2008
Два датчика температуры DS18B20 (дома и на улице).
5 будильников.
Отсрочка сигнала, если будильник не отключить, срабатывает примерно…
Просмотров: 15342
Часы с коррекцией времени от GPS (PIC16F876, asm)
16-05-2008
Конструкции и принципиальные схемы электронных часов в настоящее время достаточно хорошо разработаны. Но точность индикации времени…
Просмотров: 4689
Домашняя метеостанция с часами, календарем и будильниками (ATmega32, C)
21-04-2008
Предлагаемый прибор отличается от аналогов использованием современной базы, исчерпывающим в домашних условиях набором измеряемых…
Просмотров: 8903
Калькулятор для спортивных соревнований с гандикапом (PIC16F88, asm)
21-04-2008
Разработанный авторами калькулятор предназначен для быстрого пересчета времени, затраченного участниками соревнований на…
Просмотров: 2361
«МультиПульт» — расширь возможности своего пульта! (ATtiny2313)
13-04-2008
Данная конструкция будет интересна прежде всего владельцам ТВ тюнеров на чипсете Philips SAA7134 и SAA7135. Теоретически, любой пульт от таких ТВ…
Просмотров: 3137
Музыкальный Звонок на MMC/SD карте (ATmega32, C)
17-03-2008
Простые однотональные мелодии на сегодняшний день уже не могут вызвать восторга у благодарных слушателей. За примерами далеко ходить…
Просмотров: 9222
Универсальная телефонная приставка (PIC16F84A)
01-03-2008
Сегодня практически во всех крупных городах телефонные номера переводятся на повременную оплату. Недалеко то время, когда поминутная…
Просмотров: 3905
Регулятор яркости лампы накаливания на микроконтроллере (AT89C2051, asm)
01-03-2008
В этом проекте рассказывается о микроконтроллерном регуляторе яркости лампы накаливания (далее просто регулятор). Регулятор…
Просмотров: 6117
Таймер на PIC16F628 (PIC16F628, asm)
01-03-2008
Проэкт представляет собой часы с таймером, который может быть запрограммирован на включение и на выключение. Я начал его делать так как…
Просмотров: 3854
Термостат для теплого пола (PIC16F84A, asm)
22-01-2008
Сегодня во многих квартирах имеются полы с электроподогревом. Они удобны и достаточно долговечны, но вот их терморегуляторы имеют ряд. ..
Просмотров: 4598
Дистанционный регулятор освещения (PIC16F629, C)
22-01-2008
Предлагаемый прибор — один из вариантов регулятора яркости ламп накаливания с расширенными за счет применения микроконтроллера…
Просмотров: 5140
Регулятор освещения с дистанционным управлением (AT90S2313, C)
22-01-2008
Предлагаемый прибор умеет не только включать и выключать освещение, но и регулировать его яркость. Он имеет и дополнительную функцию…
Просмотров: 4610
Усовершенствованная «поющая ёлка» на PIC (PIC16F628, asm)
20-01-2008
Особенностью данной программы является возможность плавного изменения яркости светодиодов. Прототипом послужила «поющая…
Просмотров: 3804
Часы будильник термометр и ИК-ДУ (AT89C4051, C)
18-01-2008
Предлагаемое вниманию читателей устройство выполнено на современной элементной базе и отличается от ранее опубликованных в журнале…
Просмотров: 3589
Простые часы-будильник на PIC16F84 (PIC16F84, asm)
17-01-2008
Не так давно электронные часы строили на так называемых часовых микросхемах серии К176 и специализированных микросхемах серий К145. ..
Просмотров: 4978
Экономичный цифровой термометр (PIC16F628, asm)
16-01-2008
В последнее время конструирование цифровых термометров очень популярно. Применение микроконтроллеров (МК) и современных датчиков…
Просмотров: 4325
Часы-будильник с ЖК-индикатором (PIC16F84A)
15-01-2008
Особенности устройства:
Два будильника.
Сохранение времени установки будильников при выключении питания.
Возможность отключения…
Просмотров: 3468
Таймер на PIC16F84 (PIC16F84A, asm)
07-01-2008
Таймер — одна из наиболее популярных радиолюбительских конструкций Вниманию читателей предлагается еще один вариант В отличие от…
Просмотров: 4430
Счетчик на микроконтроллере (AT90S2313, asm)
06-01-2008
Во многих устройствах бытовой техники и промышленной автоматики сравнительно недавних лет выпусков установлены механические…
Просмотров: 5141
Точные часы-будильник на микроконтроллере (PIC16F628A, asm)
04-01-2008
При создании этой конструкции основной упор был сделан на точности хода часов и удобстве управления.
— Реализовано 2 режима…
Просмотров: 4553
Часы с таймером на микроконтроллере (PIC16F628A, asm)
04-01-2008
Проэкт представляет собой часы с таймером, который может быть запрограммирован на включение и на выключение. Я начал его делать так как…
Просмотров: 4060
Автомат вечернего освещения (PIC12C508, C)
04-01-2008
Устройство, схема которого показана на рис. 1, ежедневно в установленное время включает и выключает свет. Разработал его таиландец Wrchit…
Просмотров: 2986
Блок жизнеобеспечения аквариума (AT89C2051, asm)
08-12-2007
Блок жизнеобеспечения аквариума представляет собой функционально законченный блок, который управляет включением компрессора,…
Просмотров: 3679
PIC для младенца (PIC12F629, asm)
07-12-2007
Назначение: Разработанное устройство предназначено для звуковой сигнализации намокания пеленок малыша. Как и памперсы, оно не…
Просмотров: 2620
Продвинутые радио-часы/будильник с термометрами на графическом LCD (ATmega8515)
29-11-2007
Представленное устройство не слишком рентабельно для серийного производства, но представляет собою весьма неплохой пример…
Просмотров: 6191
Что такое микроконтроллер. Применение микроконтроллеров.
Цель курса – познакомиться с микропроцессорной техникой, научиться писать программы для микроконтроллеров и отлаживать их на реальном оборудовании. В курсе описано устройство микроконтроллера, показано, как он взаимодействует с окружающим миром. Курс предназначен для учащихся школ, нетехнических колледжей, техникумов и ВУЗов.
Для освоения курса не требуется каких-либо специализированных знаний в электротехнике и программировании, не нужно ничего паять (хотя в будущем было бы неплохо научиться ;), не нужно покупать дорогостоящих отладочных плат. Для начала работы нам понадобится персональный компьютер (ПК) с выходом в интернет. Вся практическая часть курса выполняется в лаборатории с удаленным доступом, которая представлена макетной платой с микроконтроллером и направленной на нее вебкамерой. Любой желающий может, сидя у себя дома, запрограммировать микроконтроллер и через вебкамеру понаблюдать за его работой.
Программы мы будем писать на языке С в среде программирования Keil-C компании ARM. Сразу оговоримся, среда разработки Keil-C платная, но для выполнения всех наших работ достаточно демонстрационной версии этого продукта, demo версию можно скачать либо с официального сайта компании ARM www.keil.com, либо у нас в разделе файлы. В своих примерах я буду использовать версию v812.
Что же такое микроконтроллер? Микроконтроллер можно сравнить с персональным компьютером, он также имеет свой процессор, оперативную память, память для долгосрочного хранения информации, порты ввода-вывода и многие другие периферийные устройства, например, аналого-цифровые (АЦП) и цифроаналоговые преобразователи (ЦАП). Только, в отличие от персонального компьютера, все эти компоненты объединены в одной микросхеме, поэтому микроконтроллер можно назвать «компьютером в одной микросхеме». Конечно, быстродействие такого компьютера не сравниться с быстродействием ПК, но для большинства задач мониторинга и управления его достаточно.
Рисунок 1 — Внешний вид микрокнтроллера ADuC842 в различных корпусахМикроконтроллер может задавать режим работы стиральной машины, контролировать температуру в бассейне, выводить на жидкокристаллический дисплей текст или изображение, управлять мощностью освещения, измерять напряжение, ток или любую другую физическую величину. Микроконтроллер можно встретить в сотовом телефоне, телевизоре, микроволновой печи, фотоаппарате, автомобиле, клавиатуре, наручных часах, то есть в любых устройствах, где так или иначе приходится чем-либо управлять, что-то измерять или обрабатывать информацию.
Также как и для персонального компьютера, для работы микроконтроллера требуется программа, но если в ПК, как правило, программа рассчитана на взаимодействие с операционной системой, то в микропроцессоре (тоже, как правило, но совсем не обязательно) такой операционной системы нет. В персональном компьютере операционная система организует доступ пользовательской программы ко всем внутренним и внешним устройствам компьютера через драйвер. Когда мы пишем программу для микроконтроллера, то никаких драйверов устройств нет, и нам необходимо самостоятельно организовывать программный доступ к каждому устройству.
Для обмена информацией с внешним миром в контроллере предусмотрены порты ввода и вывода информации. Часто порт ввода объединяется с портом вывода, и образуют порт ввода-вывода информации.
С внешним миром микроконтроллер обменивается информацией в цифровом виде. Основой логики работы микропроцессора служит двоичная система счисления, состоящая всего из двух цифр – единицы «1» и нуля «0». Эти две цифры двоичной системы позволяют записывать практически любые числа. Для электрических сигналов, несущих эту цифровую информацию, двоичная система счисления соответствует двум состояниям, или двум «логическим» уровням: высокому и низкому. Как правило, напряжение высокого логического уровня близко к напряжению питания микросхемы, например, 5 В или 3 В. Напряжение низкого логического уровня – логического ноля «0» — может составлять несколько десятых вольта, например, 0,3 В, и в идеальном случае равняется 0 В. С помощью загруженной в него программы микроконтроллер может установить на любой ножке порта вывода требуемый уровень напряжения. Также микроконтроллер может программно определять состояние сигнала на своих ножках, высокое ли напряжение на ней или низкое (ноль или единица).
Получать информацию микроконтроллер может из подключаемых к его портам устройств, таких как: кнопки, клавиатуры, различные датчики, цифровые микросхемы и других микроконтроллеры, и даже ПК. Для вывода информации к портам контроллера можно подключать светодиоды, жидкокристаллические индикаторы, семисегментные индикаторы и многое другое.
Все порты ввода-вывода можно разделить на две группы: это параллельные порты и последовательные. При параллельном способе передачи информации каждый бит передаваемого слова имеет отдельный провод, таким образом, при передаче данных байтами нам понадобиться шлейф из восьми проводов. При таком способе передачи у микропроцессора для функции ввода-вывода должно быть зарезервировано восемь ножек. При последовательном способе передачи данных используется всего лишь один информационный проводник, на нем последовательно, друг за другом, устанавливаются биты передаваемого слова. На другой стороне приемник также последовательно считывает эти биты. То есть для реализации последовательной передачи данных может быть использована всего одна ножка контроллера.
Рисунок 2 — Структурная схема микроконтроллераЛюбой микроконтроллер в своем составе должен иметь микропроцессор. Микропроцессор — это «мозг» микроконтроллера, помимо вычислений он обеспечивает взаимодействие всех периферийных устройств микроконтроллера. Когда мы пишем программу, мы как бы указываем микропроцессору, какие инструкции и в какой последовательности ему следует выполнять.
Также как и в персональном компьютере, в микропроцессоре есть память. Структурно память состоит из пронумерованных ячеек, номер ячейки принято называть адресом, а совокупность всех возможных адресов памяти называют адресным пространством. Процессору в произвольный момент времени доступна любая ячейка.
Всю память можно разделить две большие группы: это ПЗУ — постоянно запоминающее устройство, и ОЗУ — оперативно запоминающее устройство, или просто — оперативная память. В персональном компьютере роль ПЗУ выполняют жесткие диски, оптические диски, карты памяти и флешки. Особенность этого типа памяти заключается в том, что после отключения питания устройства записанная информация сохраняется на носителе, и после возобновления подачи питания снова может быть считана. В оперативной же памяти информация сохраняется только пока подано питание. Но быстродействие ОЗУ может превосходить быстродействие ПЗУ в десятки и даже сотни раз. Поэтому удобно исполняемую программу держать в ПЗУ, а все переменные, к которым требуется быстрый доступ — в ОЗУ. Если в ПК объем памяти измеряется в ГБ (приставка Гига – 109), то в микроконтроллерах все гораздо скромнее. Так, в микроконтроллере ADuC842, который мы будем использовать в практической части урока, имеется всего 62 кБ (килобайта) ПЗУ и 256 байт ОЗУ.
Еще одна особенность микроконтроллеров заключается в том, что большая часть из них выполнена по так называемой Гарвардской архитектуре, а это значит, что для хранения программ и данных используется две различные памяти: память программ и память данных. В памяти программ хранится непосредственно исполняемый код, который определяет алгоритм действия системы. Этот код никоим образом не может быть изменен исполняемой программой. Загружая исполнительный код в память микроконтроллера, программист определяет алгоритм функционирования микроконтроллерной системы. Часто процесс загрузки программы в память называют «прошивкой» контроллера.
После загрузки программы в память мы перезапускаем микроконтроллер. После перезагрузки микропроцессор обращается в самую первую ячейку памяти программ за командой. Адрес самой первой ячейки — 0. Затем считанная команда выполняется, и процессор начинает считывать следующую по порядку команду. Таким образом, команды выполняются последовательно, одна после завершения другой. Но существуют команды, способные изменить последовательность выполнения команд в зависимости от каких-либо условий, такие команды называются командами условного перехода. С помощью таких команд реализуются разветвленные алгоритмы работы.
Рисунок 3 — Порядок выполнения командВ данном курсе мы научимся создавать собственные «прошивки» для микроконтроллеров. Каждый урок будет состоять из двух частей. Первая часть — это теория, где я расскажу о способах подключения различных устройств к микроконтроллеру и особенностях функционирования встроенной периферии. Во второй части покажу, как программно организовать работу описанной в первой части системы. Кроме того, в конце каждого урока полагается домашнее задание, где будет предложено решить прикладную задачу: написать, отладить и испытать на реальном оборудовании программу.
Применение микроконтроллеров для решения прикладных практических задач
В. В.Игонин63
В данной статье рассматриваются современные возможности микроконтроллеров и спектр задач реального мира, решаемых с помощью них
Введение
В настоящий момент на рынке представлено множество микроконтроллеров – по сути представляющих из себя миниатюрный компьютер, заключенный в одну микросхему.
Наличие процессора, памяти, систем обработки сигналов и взаимодействие с внешним миром позволяет строить на базе микроконтроллеров практически любые системы, управлять объектами, выполнять слежение за окружающей средой, производить вычисления.
Общие сведения о микроконтроллерах
При проектировании микроконтроллеров приходится соблюдать баланс между размерами и стоимостью с одной стороны и гибкостью и производительностью с другой. Для разных приложений оптимальное соотношение этих и других параметров может различаться очень сильно. Поэтому существует огромное количество типов микроконтроллеров, отличающихся архитектурой процессорного модуля, размером и типом встроенной памяти, набором периферийных устройств, типом корпуса и т. д.
В то время как 8-разрядные процессоры общего назначения полностью вытеснены более производительными моделями, 8-разрядные микроконтроллеры продолжают широко использоваться. Это объясняется
тем, что существует большое количество применений, в которых не
требуется высокая производительность, но важна низкая стоимость. В то же время, есть микроконтроллеры, обладающие большими вычислительными возможностями, например цифровые сигнальные процессоры.
Ограничения по цене и энергопотреблению сдерживают также рост тактовой частоты контроллеров. Хотя производители стремятся обеспечить работу своих изделий на высоких частотах, они, в то же время,
предоставляют заказчикам выбор, выпуская модификации, рассчитанные
на разные частоты и напряжения питания. Во многих моделях микроконтроллеров используется статическая память для ОЗУ и внутренних регистров. Это даёт контроллеру возможность работать на меньших частотах и даже не терять данные при полной остановке тактового генератора. Часто предусмотрены различные режимы энергосбережения, в которых отключается часть периферийных устройств и вычислительный модуль.
Большое распространение получили микроконтроллеры с RISCархитектурой (англ. Reduced Instruction Set Computer — вычисления с упрощённым набором команд). Упрощённый набор команд позволяет выполнять большинство инструкций за один такт, что обеспечивает высокое быстродействие даже при относительно низкой тактовой частоте.
Кроме ОЗУ, микроконтроллер может иметь встроенную энергонезависимую память для хранения программы и данных. Во многих контроллерах вообще нет шин для подключения внешней памяти. Наиболее дешёвые типы памяти допускают лишь однократную запись. Такие устройства подходят для массового производства в тех случаях, когда программа контроллера не будет обновляться. Другие модификации контроллеров обладают возможностью многократной перезаписи энергонезависимой памяти. В отличие от процессоров общего назначения, в микроконтроллерах часто используется гарвардская архитектура памяти, то есть раздельное хранение данных и команд в ОЗУ и ПЗУ соответственно.
Предоставляемые возможности
Основным критерием выбора микроконтроллеров является имеющийся набор аппаратных контроллеров, благодаря которому при проектировании схем можно отказаться от использования дополнительных чипов и реализовать все на базе одного микроконтроллера, с произведением лишь распайки выводов и периферии.
Неполный список периферии, которая может присутствовать в микроконтроллерах, включает в себя:
универсальные цифровые порты, которые можно настраивать как
на ввод, так и на вывод
различные интерфейсы ввода-вывода, такие
как UART, I²C, SPI, CAN, USB, IEEE 1394, Ethernet
аналого-цифровые и цифро-аналоговые преобразователи
компараторы
широтно-импульсные модуляторы
таймеры
контроллеры бесколлекторных двигателей
контроллеры дисплеев и клавиатур
радиочастотные приемники и передатчики
массивы встроенной флеш-памяти
встроенный тактовый генератор и сторожевой таймер
Решаемые задачи
Благодаря практически неограниченному набору периферии, компактность и простоту программирования, микроконтроллеры могут быть использованы для решения таких задач, где применение компьютеров затруднено и невозможно. Кроме того, микроконтроллер стоит на несколько порядков меньше компьютера и вычислительных комплексов.
Задачи, решаемые с применением микроконтроллеров, условно можно разделить на два вида – задачи слежения и задачи управления.
К задачам слежения можно отнести:
измерение параметров работы электрооборудования
учет используемых ресурсов
контроль качества энергоснабжения
соблюдение требований электро, свето, шумо безопасности
Задачами управления являются
системы автопилотов, вспомогательные системы управления
воздушынми и морскими судами
автоматизация процессов производства
организация доступа (домофоны и т. д.)
бытовое оборудование с программным управлением
(микроволновые печи, стиральные машины)
конструирование роботов
(Материал взят из книги Информатика и вычислительная техника — В. Н. Негоды)
Донов, Геннадий Иннокентьевич — Применение микроконтроллеров : учебное пособие
Поиск по определенным полям
Чтобы сузить результаты поисковой выдачи, можно уточнить запрос, указав поля, по которым производить поиск. Список полей представлен выше. Например:
author:иванов
Можно искать по нескольким полям одновременно:author:иванов title:исследование
Логически операторы
По умолчанию используется оператор AND.
Оператор AND означает, что документ должен соответствовать всем элементам в группе:
исследование разработка
author:иванов title:разработка
оператор OR означает, что документ должен соответствовать одному из значений в группе:исследование OR разработка
author:иванов OR title:разработка
оператор NOT исключает документы, содержащие данный элемент:исследование NOT разработка
author:иванов NOT title:разработка
Тип поиска
При написании запроса можно указывать способ, по которому фраза будет искаться. Поддерживается четыре метода: поиск с учетом морфологии, без морфологии, поиск префикса, поиск фразы.
По-умолчанию, поиск производится с учетом морфологии.
Для поиска без морфологии, перед словами в фразе достаточно поставить знак «доллар»:
$исследование $развития
Для поиска префикса нужно поставить звездочку после запроса:исследование*
Для поиска фразы нужно заключить запрос в двойные кавычки:«исследование и разработка«
Поиск по синонимам
Для включения в результаты поиска синонимов слова нужно поставить решётку «#» перед словом или перед выражением в скобках.
В применении к одному слову для него будет найдено до трёх синонимов.
В применении к выражению в скобках к каждому слову будет добавлен синоним, если он был найден.
Не сочетается с поиском без морфологии, поиском по префиксу или поиском по фразе.
#исследование
Группировка
Для того, чтобы сгруппировать поисковые фразы нужно использовать скобки. Это позволяет управлять булевой логикой запроса.
Например, нужно составить запрос: найти документы у которых автор Иванов или Петров, и заглавие содержит слова исследование или разработка:
author:(иванов OR петров) title:(исследование OR разработка)
Приблизительный поиск слова
Для приблизительного поиска нужно поставить тильду «~» в конце слова из фразы. Например:
бром~
При поиске будут найдены такие слова, как «бром», «ром», «пром» и т.д.Можно дополнительно указать максимальное количество возможных правок: 0, 1 или 2.4 разработка По умолчанию, уровень равен 1. Допустимые значения — положительное вещественное число.
Поиск в интервале
Для указания интервала, в котором должно находиться значение какого-то поля, следует указать в скобках граничные значения, разделенные оператором TO.
Будет произведена лексикографическая сортировка.
author:[Иванов TO Петров]
Будут возвращены результаты с автором, начиная от Иванова и заканчивая Петровым, Иванов и Петров будут включены в результат.author:{Иванов TO Петров}
Такой запрос вернёт результаты с автором, начиная от Иванова и заканчивая Петровым, но Иванов и Петров не будут включены в результат.Для того, чтобы включить значение в интервал, используйте квадратные скобки. Для исключения значения используйте фигурные скобки.
Применение микроконтроллеров STM в современной технике | ЗУМ-СМД
Микроконтроллеры STM32 были анонсированы фирмой-изготовителем в 2008 году. Интегральные изделия изначально позиционировались как контроллеры высокой надежности. Упор делался на защиту от повышенного статического электричества для применения в автотехнике и производстве. На данное время акцент сместился в сторону решения задач широкого спектра.
Свойства микроконтроллеров STM32Микроконтроллеры семейства STM32 выполнены на основе ЦПУ с ядром ARM Cortex-Mх. Это завершенное процессорное ядро, объединяющее ЦПУ и системную архитектуру. В состав чипов этой серии входят:
- ядра Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4F или Cortex-M7F;
- статическая RAM-память;
- флеш-память;
- отладочный интерфейс;
- периферийный интерфейс.
Производственная мощность 8-битных и 16-битных микроконтроллеров ограничена. STM32 имеют значительно больший функционал, при этом их стоимость остается доступной.
Применение микроконтроллеров с ядром ARM Cortex-MхЦелью построения профиля М в проектировании ядра ARM Cortex стало создание недорогих микропроцессоров для решения задач электроники широкого применения.
Cortex-M0Это ядро разработчики предлагают использовать в качестве модернизированного аналога 8-битных микроконтроллеров с максимально упрощенным интерфейсом. Низкое энергопотребление и наличие «спящего» режима позволило использовать эти изделия в новых моделях переносных приборов.
Портативные приборы, оснащенные микроконтроллерами с ядром Cortex-M0, смогли заменить 8- и 16-разрядных предшественников. При этом добавились функции, которые выполняются быстрее и экономичнее.
Такой тип изделий используется в различных устройствах:
- электронных счетчиках различных величин;
- бытовых и производственных системах автоматики и измерительной техники;
- «умных» датчиках исполнительных механизмов;
- игровых устройствах;
- узлах управления мультимедийными радиоприборами;
- автомобильной автоматике;
- измерительных устройствах и т. д.
В качестве индикаторов режима в устройствах, где используются эти изделия, могут применяться ЖКИ или цветные дисплеи с сенсорным управлением.
Cortex-M0+Микроконтроллеры с таким ядром изготавливаются на техпроцессе 90-нм со сверхнизким потреблением (9 мкА/МГц) — это в 3 раза меньше, чем у старых моделей. Теперь сфера использования расширилась до программного управления в переносных устройствах.
Гаджеты, оснащенные этими чипами, могут хранить заряд литиевого аккумулятора неделями, «спящий» режим дополнился инструкциями.
Cortex-M3Это ядро построено на архитектуре ARMv7-M и может выполнять набор инструкций Thumb и Thumb2. Появился ряд новых возможностей, однако расход энергии возрос.
Этот вариант считается наиболее популярным и его можно задействовать во многих приборах, в автомобильной электронике, оборудовании беспроводной связи и в мультимедийных устройствах.
Cortex-M4Ядро дополнено вычислительными возможностями набора инструкций SIMD, при этом полностью совместимо с М3. Такие микроконтроллеры используют в устройствах с большей производительностью, переход с М3 требует минимальных изменений.
Cortex-M4FИнтегральные компоненты этой серии выполнены по технологии 65-нм как устройства общего назначения с большими скоростными характеристиками и экономичностью. Их с успехом применяют в USB-контроллерах и системах управления работы двигателей в автомобильной технике.
Cortex-M7FМикроконтроллер этой серии (частота — до 1 ГГц) способен работать с более сложными программами и интерфейсами.
Семейство STM32 позволило разработчикам отказаться от 8-, 16- и 32-битных устройств и перейти на платформу Cortex-Mх. В интернет-магазине «ЗУМ-СМД» представлен большой выбор этих микроконтроллеров, а также других радиокомпонентов для обвязки и построения высокопродуктивных приборов различных сфер применения.
Чтобы заказать электронные элементы или получить консультацию, позвоните по телефону 8 (800) 333-48-97!
типов и применения микроконтроллеров — EIT | Инженерный технологический институт: EIT
Введение в микроконтроллер:
Микроконтроллер (микроконтроллер или микроконтроллер) — это микрокомпьютер на одной микросхеме, изготовленный на базе СБИС. Микроконтроллер также известен как встроенный контроллер. Сегодня на рынке доступны различные типы микроконтроллеров с разной длиной слова, такие как 4-битные, 8-битные, 64-битные и 128-битные микроконтроллеры. Микроконтроллер — это сжатый микрокомпьютер, предназначенный для управления функциями встроенных систем в офисных машинах, роботах, бытовой технике, автомобилях и ряде других устройств.Микроконтроллер состоит из таких компонентов, как память, периферийные устройства и, самое главное, процессор. Микроконтроллеры в основном используются в устройствах, которым требуется определенная степень контроля со стороны пользователя устройства.
Основы микроконтроллера:
Любое электрическое устройство, которое хранит, измеряет, отображает информацию или вычисляет, состоит из микросхемы микроконтроллера
внутри себя. Базовая структура микроконтроллера состоит из: —
1. ЦП — Мозг микроконтроллера называется ЦП.ЦП — это устройство, которое используется для извлечения данных, их декодирования и успешного завершения поставленной задачи. С помощью центрального процессора все компоненты микроконтроллера объединены в единую систему. Выборка
команд, созданная программируемой памятью, декодируется ЦП.
2. Память — В микроконтроллере микросхема памяти работает так же, как микропроцессор. Чип памяти хранит все программы и данные. Микроконтроллеры построены с определенным объемом ПЗУ или ОЗУ (EPROM, EEPROM и т. Д.) Или флэш-памятью для хранения исходных кодов программ.
3. Порты ввода / вывода — порты ввода / вывода в основном используются для взаимодействия или управления различными устройствами, такими как — принтеры, ЖК-дисплеи, светодиоды и т. Д.
4. Последовательные порты — эти порты предоставляют последовательные интерфейсы между микроконтроллером и различными другими периферийными устройствами например, параллельный порт.
5. Таймеры — микроконтроллер может быть встроен с одним или несколькими таймером или счетчиками. Таймеры и счетчики контролируют все операции подсчета и синхронизации в микроконтроллере. Таймеры используются для подсчета внешних импульсов.Основными операциями, выполняемыми таймерами, являются генерация импульсов, функции часов, измерение частоты, модуляция, создание колебаний и т. Д.
6.ADC (аналого-цифровой преобразователь) –ADC используется для преобразования аналоговых сигналов в цифровые. Входные сигналы должны быть аналоговыми для АЦП. Производство цифровых сигналов может использоваться для различных цифровых приложений (например, для измерительных устройств).
7. ЦАП (цифро-аналоговый преобразователь) — этот преобразователь выполняет функции, противоположные АЦП.Это устройство обычно используется для контроля аналоговых устройств, таких как двигатели постоянного тока и т. Д.
8. Интерпретирующее управление. Этот контроллер используется для обеспечения отложенного управления рабочей программой. Интерпретация может быть внутренней или внешней.
9. Специальный функциональный блок — Некоторые специальные микроконтроллеры, изготовленные для специальных устройств, таких как космические системы, роботы и т. Д., Содержат этот специальный функциональный блок. Этот специальный блок имеет дополнительные порты для выполнения некоторых специальных операций.
Типы микроконтроллеров:
Микроконтроллеры делятся на категории в соответствии с их памятью, архитектурой, битами и наборами команд
. Итак, давайте обсудим типы микроконтроллеров:
бит:
8-битный микроконтроллер выполняет логические и арифметические операции. Примером 8-битного микроконтроллера является Intel 8031/8051.
16-битный микроконтроллер работает с большей точностью и производительностью по сравнению с 8-битным.
Примером 16-битного микроконтроллера является Intel 8096.
32-битный микроконтроллер используется в основном в устройствах с автоматическим управлением, таких как офисные машины, имплантируемые медицинские устройства и т. Д. Он требует 32-битных инструкций для выполнения любых логических или арифметических функций.
Память:
- Микроконтроллер с внешней памятью — когда встроенная структура построена с микроконтроллером, который не включает все функционирующие блоки, существующие на микросхеме, он называется микроконтроллером внешней памяти.Для иллюстрации — микроконтроллер 8031 не имеет памяти программ на микросхеме.
- Микроконтроллер со встроенной памятью — когда встроенная структура построена с микроконтроллером, который состоит из всех функциональных блоков, существующих на микросхеме, он называется микроконтроллером встроенной памяти. Для иллюстрации — микроконтроллер 8051 имеет всю память программ и данных, счетчики и таймеры, прерывания, порты ввода / вывода и, следовательно, свой микроконтроллер встроенной памяти.
Набор команд:
CISC-CISC означает компьютер со сложным набором команд, он позволяет пользователю применять 1 инструкцию как
в качестве альтернативы многим простым инструкциям.
RISC-RISC означает компьютеры с сокращенным набором команд. RISC сокращает время работы на
, сокращая тактовый цикл на инструкцию.
Архитектура памяти:
- Гарвардская архитектура памяти Микроконтроллер
- Принстонская архитектура памяти Микроконтроллер
Микроконтроллер 8051:
Наиболее широко используемый набор микроконтроллеров относится к семейству 8051. Микроконтроллеры 8051 по-прежнему остаются идеальным выбором для огромной группы любителей и экспертов.В течение 8051 года человечество стало свидетелем самого революционного набора микроконтроллеров. Первоначально микроконтроллер 8051 был изобретен Intel. Двое других членов этого семейства 8051 —
- 8052-Этот микроконтроллер имеет 3 таймера и 256 байт ОЗУ. Кроме того, он имеет все функции традиционного микроконтроллера 8051. Микроконтроллер 8051 является частью микроконтроллера 8052.
- 8031 - Этот микроконтроллер меньше ПЗУ, за исключением того, что он имеет все функции традиционного микроконтроллера 8051.Для выполнения в его микросхему можно добавить внешнее ПЗУ размером 64 Кбайт.
8051 задействует 2 типа памяти, такие как NV-RAM, UV-EPROM и Flash.
8051 Архитектура микроконтроллера:
Микроконтроллер 8051 — это восьмиразрядный микроконтроллер, выпущенный в 1981 году корпорацией Intel. Он доступен в 40-контактном DIP-корпусе (двухрядный корпус). Он имеет 4 КБ ПЗУ (программируемое пространство на кристалле) и 128 байтов встроенного ОЗУ, при желании 64 КБ внешней памяти могут быть связаны с микроконтроллером.Есть четыре параллельных 8-битных порта, которые легко программируются, а также адресуются. Встроенный кварцевый генератор интегрирован в микроконтроллер с тактовой частотой 12 МГц. В микроконтроллере есть последовательный порт ввода / вывода, который имеет 2 контакта. В него также встроены два таймера по 16 бит; эти таймеры могут использоваться как таймеры для внутреннего функционирования, а также как счетчики для внешнего функционирования. Микроконтроллер состоит из 5 источников прерываний, а именно: прерывание от последовательного порта
, прерывание от таймера 1, внешнее прерывание 0, прерывание от таймера 0, внешнее прерывание 1.Режим программирования этого контроллера micro-
включает в себя GPR (регистры общего назначения), SFR (регистры специальных функций) и SPR (регистры специального назначения).
Микроконтроллер PIC:
Контроллер периферийного интерфейса (PIC), предоставленный Micro-chip Technology для классификации своих микроконтроллеров с одиночным чипом. Эти устройства оказались чрезвычайно успешными в 8-битных микроконтроллерах. Основная причина этого заключается в том, что Micro-Chip Technology постоянно модернизирует архитектуру устройства и включает в микроконтроллер столь необходимые периферийные устройства, чтобы удовлетворить потребности клиентов.Микроконтроллеры PIC очень популярны среди любителей и промышленников; это единственная причина широкой доступности, низкой стоимости, большой базы пользователей и возможности последовательного программирования.
Архитектура микроконтроллера PIC:
Архитектура 8-битных микроконтроллеров PIC может быть классифицирована следующим образом:
1. Архитектура базовой линии — В базовую архитектуру микроконтроллеры PIC семейства PIC10F включены, кроме этой части PIC12 и PIC16 семьи также включены. Эти устройства используют 12-битную архитектуру программного слова с альтернативами от шести до двадцати восьми выводов.
Кратко определенный набор атрибутов базовой архитектуры позволяет создавать наиболее прибыльные продуктовые решения. Эта архитектура идеально подходит для гаджетов с батарейным питанием. Серия PIC10F200 — еще один недорогой 8-битный микроконтроллер флэш-памяти с 6-контактным корпусом.
2. Архитектура среднего диапазона — в эту среднюю линию добавлены семейства PIC12 и PIC16, которые атрибутируют 14-битную архитектуру программного слова. Гаджеты среднего уровня PIC16 предлагают широкий спектр альтернативных пакетов (от 8 до 64 пакетов) с низким и высоким уровнем включения периферийных устройств
.Это устройство PIC16 поддерживает множество аналоговых, цифровых и последовательных периферийных устройств, таких как SPI, USART, I2C, USB, ЖК-дисплеи и аналого-цифровые преобразователи. Микроконтроллеры PIC16 среднего уровня имеют возможность приостановки управления с восьмиуровневой аппаратной нагрузкой.
3. Высокопроизводительная архитектура. Высокопроизводительная архитектура включала семейство устройств PIC18. Эти микроконтроллеры используют 16-битную архитектуру программного слова вместе с альтернативами от 18 до 100 выводов.Устройства PIC18 представляют собой высокопроизводительные микроконтроллеры со встроенными аналого-цифровыми преобразователями. Все микроконтроллеры PIC18 объединяют высокоразвитую архитектуру RISC, которая поддерживает флеш-устройства. PIC18 имеет улучшенные атрибуты фундамента, 32 уровня глубокой нагрузки и несколько внутренних и внешних прерываний.
AVR:
AVR, также известный как Advanced Virtual RISC, представляет собой индивидуальный 8-битный микроконтроллер RISC с 8-битной RISC-схемой для гарвардской архитектуры. Он был изобретен Атмелем в 1966 году.Архитектура Гарварда означает, что программа и данные накапливаются в разных местах и используются одновременно. Это было одно из передовых семейств микроконтроллеров, в которых встроенная флэш-память использовалась в основном для хранения программ, в отличие от одноразовых программируемых EPROM, EEPROM или ROM, используемых другими микроконтроллерами одновременно. Флэш-память — это энергонезависимая (постоянная при отключении питания) программируемая память. Архитектура микроконтроллера AVR: Архитектура микроконтроллера
AVR была разработана Альф-Эгилем Богеном и Вегардом Волланом.Название AVR происходит от имен разработчиков архитектуры микроконтроллера. AT90S8515 был передовым микроконтроллером, основанным на архитектуре AVR; с другой стороны, первым микроконтроллером, который поразил коммерческий рынок, был AT90S1200, который был запущен в 1997 году.
SRAM, Flash и EEPROM все объединены в один чип, тем самым устраняя потребность в любой другой внешней памяти в максимум устройств.Несколько устройств содержат альтернативу параллельной внешней шины, чтобы добавить дополнительные устройства памяти данных. Приблизительно все устройства, за исключением микросхем TinyAVR, имеют последовательный интерфейс, который используется для связи больших последовательных микросхем Flash и EEPROM.
Микроконтроллер AMR:
AMR — это название компании, которая разрабатывает архитектуру микропроцессоров. Он также занимается лицензированием их для производителей, которые производят настоящие чипы. На самом деле AMR — это настоящая 32-битная архитектура RISC.Первоначально он был разработан в 1980 году компанией Acorn Computers Ltd. Этот базовый микропроцессор AMR не имеет встроенной флэш-памяти. ARM специально разработан для устройств с микроконтроллерами, его легко обучить и использовать, но он достаточно мощный для самых сложных встраиваемых устройств.
Архитектура микроконтроллера AMR:
Архитектура AMR представляет собой 32-битный RISC-процессор, разработанный ARM Ltd. Благодаря своим характеристикам энергосбережения центральные процессоры ARM преобладают на рынке мобильной электроники, где меньшее энергопотребление является жизненно важной целью проектирования. .Архитектура ARM состоит из нижележащих элементов RISC: —
- Максимальное функционирование за один цикл
- Постоянный регистровый файл размером 16 × 32 бита.
- Загрузить или сохранить архитектуру.
- Предварительно установленная ширина команды 32 бита для упрощения конвейерной обработки и декодирования при минимальной плотности кода.
- Для несогласованного доступа к памяти нет поддержки
: Микроконтроллеры
предназначены для встраиваемых устройств по сравнению с микропроцессорами, которые используются в ПК или других универсальных устройствах
.Микроконтроллеры используются в автоматически управляемых изобретениях и устройствах, таких как электроинструменты, имплантируемые медицинские устройства, системы управления автомобильными двигателями, офисные машины, устройства дистанционного управления, игрушки и многие другие встроенные системы
. Уменьшая размер и затраты по сравнению с конструкцией, в которой используются другой микропроцессор, устройства ввода-вывода и память, микроконтроллеры делают недорогой цифровой контроль все большего числа устройств и операций.Контроллеры Micro-
смешанного сигнала являются общими; Сборка аналоговых компонентов требовала управления нецифровыми электронными структурами.
Применение микроконтроллера в повседневных устройствах:
- Светочувствительные и управляющие устройства
- Устройства для измерения и контроля температуры
- Устройства обнаружения пожара и безопасности
- Промышленные контрольно-измерительные приборы
- Устройства управления технологическим процессом
Применение микроконтроллера в промышленных устройствах управления:
- Промышленные контрольно-измерительные приборы
- Устройства управления технологическими процессами
Применение микроконтроллера в измерительных приборах:
- Вольтметр
- Измерение вращающихся объектов
- Счетчик тока
- Переносные измерительные системы
Источник: www.electronicshub.org/microcontrollers/
микроконтроллеров повсюду
микроконтроллеры повсюдуМикроконтроллеры везде ….. подробнее здесь
Используется во всем, от простейшего контроллера полива газона до очень сложные спутниковые системы, микроконтроллер стал вездесущий и невидимый. В среднем в домохозяйстве США около 60 встроенных микроконтроллеры. 1 BMW 7-й серии 1999 года имеет 65 микроконтроллеров. 2 Ежегодно сюда добавляется более 5 миллиардов микроконтроллеров. Хотя микроконтроллеры в ПК наиболее заметны, они составляют всего 6% от рынок микроконтроллеров. 3
Где используются микроконтроллеры
В офисе микроконтроллеры используются в компьютерных клавиатурах, мониторы, принтеры, копировальные аппараты, факсы и телефонные системы и многие другие. В вашем доме микроконтроллеры используются в микроволновых печах, стиральных и сушильных машинах, системы безопасности, контроллеры станций полива газонов, музыка / видео развлекательные компоненты.
Что такое микроконтроллеры?
Микроконтроллеры — это законченные компьютерные системы на микросхеме, обычно объединяет арифметико-логический блок (ALU), память, таймер / счетчики, последовательный порт, порты ввода / вывода (I / O) и тактовый генератор.
Микроконтроллеры используются в приложениях, требующих повторяющихся такие операции, как включение светофора на перекрестке. В этом приложения, единственной функцией микроконтроллера является включение и выключение света в предопределенное время.
Другой пример — микроволновая печь. Давайте посмотрим, как микроконтроллер функционирует при приготовлении пакета попкорна в микроволновой печи.
Вы открываете дверь и кладете внутрь пакет с попкорном. Ты близко дверь и нажмите кнопку с надписью «Попкорн». Через несколько минут прозвучал тон объявляет, что попкорн готов. Что произошло за кулисами?
Когда вы открыли дверь, микроконтроллер обнаружил дверь выключатель, включил свет и отключил магнетрон.Микроконтроллер постоянно сканирует клавиатуру. Когда вы нажали кнопку «Попкорн», микроконтроллер подтвердил, что дверь закрыта и начал отсчет времени импульсов, запустил мотор для поворотного стола, установил уровень мощности магнетрон и управлял дисплеем. Когда таймер достиг нуля, микроконтроллер выключил магнетрон, остановил поворотный стол и подал сигнал ты.
Это простой пример приложения микроконтроллера.Доступны микроконтроллеры с дополнительными функциями, такими как аналого-цифровой. преобразователи (АЦП), широтно-импульсная модуляция (ШИМ), сторожевые таймеры, контроллер вычислительная сеть (CAN) и функции безопасности.
Что такое микроконтроллер? Типы микроконтроллеров и приложения
Различные типы микроконтроллеров и их приложенияЧто такое микроконтроллер?
Микроконтроллер — это полупроводниковая ИС (интегральная схема), состоящая из нескольких функциональных блоков, таких как ЦП, ПЗУ, ОЗУ, таймер, счетчик и прерывания и т. Д.По сути, это небольшой компьютер со всей периферией в одном корпусе.
Классификация микроконтроллеров
Различные типы микроконтроллеров используются для автоматического управления промышленностью, автомобилями, электронными медицинскими устройствами, бытовой техникой и многими другими встроенными системами. Они наиболее предпочтительны из-за их компактных размеров, низкого энергопотребления и низкой стоимости.
Микроконтроллеры классифицируются на разные типы по разному:
На основе ширины шины Ширина шины:Шина в микроконтроллере относится к параллельным линиям связи между различные компоненты микроконтроллера.Он передает инструкции и данные между процессором, памятью и портами ввода / вывода. Внутри микроконтроллера есть три типа шин; шина данных, адресная шина, шина управления.
Ширина шины относится к количеству параллельных линий, проводов или соединений, присутствующих на указанной шине. Увеличение ширины шины микроконтроллера увеличивает его точность и общую производительность микроконтроллера. По ширине шины микроконтроллеры делятся на 8-битные, 16-битные и 32-битные микроконтроллеры.
8-битный микроконтроллер:Ширина шины таких микроконтроллеров составляет 8 бит (1 байт). Это означает, что он может передавать и обрабатывать 8-битные данные за один цикл. Основное препятствие, которое он создает, заключается в математических операциях, потому что его ALU (арифметико-логический блок) также является 8-битным. Для обработки больших данных, например, 16-битных, он использует несколько циклов для выполнения простой математической функции. Это приводит к плохой работе всей логической схемы.
Еще одной ключевой особенностью 8-битного микроконтроллера является его таймер. 8-битный таймер имеет максимальный диапазон от 0x00 (0) до 0xFF (255). Это может вызвать неточность при создании функций задержки времени.
Некоторые из распространенных 8-битных микроконтроллеров — это семейства Intel 8031/8051, PIC1x и Motorola MC68HC11
16-битный микроконтроллер:Ширина шины такого микроконтроллера составляет 16 бит (2 байта). Он может передавать и обрабатывать данные размером 16 бит за один цикл.Его 16-битный ALU более эффективен по производительности по сравнению с 8-битным микроконтроллером. А его 16-битный таймер обеспечивает широкий диапазон от 0x0000 (0) до 0xFFFF (65535), что обеспечивает лучшую точность по затратам для любого приложения или проектов, требующих функций таймера.
Типичными примерами 16-разрядных микроконтроллеров являются семейства 8051XA, PIC2x, Intel 8096 и Motorola MC68HC12.
32-битный микроконтроллер32-битный микроконтроллер имеет ширину шины 32 бита или 4 байта.Производительность и точность такого микроконтроллера выше, чем у 16-битного микроконтроллера, но они также дороги и потребляют много энергии.
Его более высокая скорость обработки делает его лучшим кандидатом для выполнения сложных задач, таких как обработка аудио- и видеосигналов, обработка изображений и т. Д. Он также может поддерживать несколько периферийных устройств, необходимых для любых проектов или приложений встраиваемых систем, таких как Ethernet, универсальная последовательная шина. (USB), универсальные асинхронные приемопередающие устройства (UARTS) и шина сети контроллеров (CAN).
Распространенными 32-разрядными микроконтроллерами являются семейство Intel / Atmel 251, PIC3x.
На основе памятиМикроконтроллер также подразделяется на два типа на основе основных блоков памяти.
Микроконтроллер со встроенной памятьюВ микроконтроллере такого типа все основные блоки или модули памяти встроены в единый корпус. Некоторые из этих функциональных блоков — это память программ и данных, таймеры и счетчики, прерывания и т. Д.Эти блоки памяти являются фиксированными и не являются расходными материалами, но микроконтроллер, имеющий функцию поддержки внешних ПЗУ, может расширить свою память для хранения. Они компактны по конструкции.
Микроконтроллер с внешней памятьюМикроконтроллер такого типа не имеет одного из основных блоков памяти внутри своей микросхемы, и для правильной работы он должен быть подключен извне. Использование внешних модулей увеличивает габариты всего устройства.
На основе архитектуры набора командНабор команд или архитектура набора команд (ISA) — это часть микроконтроллера, которая дает команду микропроцессору для выполнения определенной функции.Набор команд включает режимы адресации, инструкции, типы данных, регистры, прерывания и внешний ввод-вывод.
Вот несколько примеров инструкций в микроконтроллере; чтение, запись, копирование / перемещение, сложение, вычитание, умножение, деление, увеличение, уменьшение, сравнение, вызов адреса и т. д.
Сложный набор инструкций состоит из комбинации нескольких инструкций, то есть для выполнения сложной инструкции; микроконтроллер должен выполнять различные простые инструкции.Этот набор инструкций используется для инструкций, которые содержат несколько шагов, включая использование нескольких функциональных блоков. Одной из сложных функций микроконтроллера является перемещение данных в и из нескольких регистров, копирование строк данных, квадратный корень, журнал, синус и т. Д.
В соответствии с набором команд микроконтроллеры подразделяются на два типа;
CISC (Компьютер с комплексным набором команд)ЦП микроконтроллера такого типа предназначен для выполнения одной сложной команды.Он может выполнять несколько инструкций или шагов, используя одну инструкцию. Достоинством микроконтроллера CISC является его малогабаритность программы. Но из-за большого размера его набора команд со многими режимами адресации для выполнения требуется несколько машинных циклов, что приводит к увеличению времени выполнения. Другая проблема — параллельное выполнение инструкции, которое невозможно в CISC.
RISC (Компьютеры с сокращенным набором команд)ЦП микроконтроллера этого типа предназначен для выполнения небольших простых инструкций.Поскольку для выполнения одной инструкции требуется один машинный цикл, количество инструкций может быть уменьшено для выполнения сложной задачи с более высокой скоростью, чем CISC. Размер его набора команд невелик, а программный код, написанный для таких микроконтроллеров, обычно очень длинный и состоит из многих строк.
На основе архитектуры микроконтроллера:Архитектура микроконтроллера — это набор правил, которые определяют функциональность и реализацию микроконтроллера.
Программная память (ПЗУ) используется для хранения и доступа к коду или инструкции. В то время как память данных (RAM) используется для хранения и доступа к данным, используемым этими инструкциями. Существует два типа архитектуры, которые отличаются друг от друга на основе использования одной или отдельной памяти для этих данных и инструкций.
Микроконтроллер Гарвардской архитектуры:Микроконтроллер на основе Гарвардской архитектуры имеет физически отдельную память для программного кода (инструкций) и данных, известную как память программ и память данных соответственно.Таким образом, у них есть отдельные автобусные линии, и к ним можно добраться одновременно. Следовательно, микроконтроллер на основе гарвардской архитектуры может выполнять инструкции за один машинный цикл.
Из-за двух физически отдельных шинных линий сложность конструкции микроконтроллера и стоимость разработки возрастают. Чаще всего они используются в современных микроконтроллерах и устройствах цифровой обработки сигналов.
Архитектура фон Неймана (или Принстона) Микроконтроллер:Архитектура фон Неймана или Принстона предлагает использовать единую память как для хранения программ, так и для хранения данных.Эта концепция была предложена математиком Фон Нейманом в 1945 году. На сегодняшний день это наиболее используемая архитектура для всех компьютеров, настольных компьютеров и ноутбуков.
Для доступа к данным и получения инструкций требуется только одна шина. Таким образом, обе операции нельзя выполнять одновременно, и они должны быть запланированы. Вот почему микроконтроллеру на основе архитектуры фон Неймана требуется два машинных цикла для выполнения инструкции. Поскольку он использует систему с одной шиной, его конструкция проста, а производство очень низкое по сравнению с архитектурой Гарварда.
Различные типы обычно используемых микроконтроллеров Микроконтроллер PICPIC — это аббревиатура контроллера периферийного интерфейса, основанная на архитектуре Гарварда. Он в основном используется для разработки систем встроенной электроники в транспортных средствах, робототехнике, медицинских устройствах, торговых автоматах, офисных машинах и различных других устройствах. Это семейство микроконтроллеров, созданных по технологии Microchip. Его можно легко запрограммировать с помощью программного обеспечения, используя язык ассемблера, C или базовый C для выполнения конкретной задачи.
Он имеет высокопроизводительный процессор RISC (компьютер с сокращенным набором команд) с флэш-памятью или памятью программ и памятью данных. Программная память EEPROM (электрически стираемая программируемая постоянная память) является перепрограммируемой памятью. Поскольку это базовая архитектура Гарварда, она имеет отдельную память программ и память данных, что увеличивает скорость ее обработки.
Большинство PIC имеют свой внутренний генератор обычно 8 МГц или 16 МГц . Они доступны в версиях 8-бит , 16-бит и их последние модели в 32-битной шине данных шириной .Набор инструкций микроконтроллеров PIC варьируется от 35 инструкций в микроконтроллерах младшего уровня до 80 инструкций в микроконтроллерах высокого уровня. Ширина набора программных команд может составлять 12, 14, 16 и 24 бита. Это зависит от семейства и модели микроконтроллера PIC. Они доступны как в корпусе SMD (устройство для поверхностного монтажа), так и в корпусе DIP (двухрядный корпус), имеющем от 6 до 144 контактов.
Благодаря низкой стоимости, низкому энергопотреблению и высокой скорости они используются почти в каждом электронном устройстве.
Самый распространенный тип микроконтроллера PIC — PIC 16F877A . Ниже приведены некоторые из наиболее характерных особенностей PIC16F877A ;
- Это 40-контактная ИС в DIP-корпусе с 33 контактами для ввода / вывода.
- Нет внутреннего генератора, поэтому внешний генератор является обязательным для генерации тактового сигнала.
- Поскольку нет внутренних часов, использование внешних часов с частотой до 20 МГц приводит к более быстрой работе.
- Он имеет меньший набор инструкций из 35.
- Он имеет 8-битный АЦП с 8 каналами для одновременного подключения 8 аналоговых входов.
- Он имеет 3 таймера, включая два 8-битных таймера и один 16-битный таймер.
- Функция спящего режима обеспечивает сверхнизкое энергопотребление для продления срока службы батареи.
- Рабочее напряжение от 4,2 до 5,5 В.
8051 — самый распространенный и дешевый микроконтроллер, произведенный корпорацией Intel в 1981 году.Он основан на Гарвардской архитектуре CISC для раздельной памяти программ и данных. Наиболее заметные особенности микроконтроллеров 8051:
- Это 8-битный микроконтроллер, доступный в 40-контактном DIP-корпусе (двухрядный корпус).
- Он имеет 4 Кбайт программируемого ПЗУ на кристалле для хранения программного кода.
- Он имеет 128 байт встроенной оперативной памяти для временного хранения данных. Однако его можно расширить за счет использования внешней памяти до 64 КБ.
- 32 из 40 контактов являются контактами ввода / вывода, которые разделены на четыре параллельных 8-битных порта.& каждый из этих битов программируется и доступен.
- Имеет 2 16-битных таймера / счетчик и 2 внешних прерывания.
- Он также может иметь различные специальные функции, такие как UART, АЦП, операционный усилитель и т. Д.
- Программа для 8051 написана на языке C, который преобразован в язык ассемблера для понимания микроконтроллером
Микроконтроллер 8051 обычно используется в проектах по электронике в основном в учебных целях. Он используется для выполнения определенных задач, таких как пожарная сигнализация, измерение температуры, управление двигателем, автомобили, светочувствительные приложения и приложения, управляемые RTC.
Микроконтроллер AVRAVR означает RISC-процессор Альфа и Вегарда, потому что он был впервые разработан норвежскими студентами Альф-Эгилем Богеном и Вегардом Волланом. Это семейство микроконтроллеров, разработанных Atmel с 1996 года и микрочипов с 2016 года.
Оно основано на модифицированной архитектуре Гарварда, которая предлагает отдельное место для хранения программ и данных. AVR имеет очень высокую скорость по сравнению с микроконтроллером PIC или 8051.
Микроконтроллеры AVR обычно доступны в следующих семействах;
- TinyAVR
- MegaAVR
- XMEGAAVR
- AVR для конкретных приложений
- 32-битный AVR
Наиболее распространенные микроконтроллеры AVR MegaAV32 относятся к семейству микроконтроллеров AVR MegaAV32. & ATmega64.Разница между этими микроконтроллерами заключается в их флеш-памяти размером 16 КБ, 32 КБ и 64 КБ, идентифицируемых по последнему номеру в их имени.
Общей чертой микроконтроллеров AVR ATmega32 являются:
- Это 8-битный микроконтроллер с 40 контактами DIP (двухрядный корпус).
- Общее количество входных / выходных контактов составляет 32, которые разделены на четыре 8-битных порта.
- Он имеет встроенную перепрограммируемую флэш-ПЗУ объемом 32 КБ с ОЗУ 1 КБ для данных.
- Он содержит 3 таймера / счетчика, включая два 8-битных таймера и один 16-битный таймер.
- 10-разрядный АЦП с 8 аналоговыми каналами.
- Имеет 4 канала ШИМ для генерации импульсов.
- Он имеет внутренний генератор на 8 МГц, который можно уменьшить.
- Самый популярный AVR из-за его высокой скорости и низкой стоимости среди студентов и любителей.
Связанное сообщение: Разница между аналоговой и цифровой схемой — цифровая и аналоговая
ARM микроконтроллерARM — это аббревиатура от Advanced RISC Machine, и это семейство микропроцессорных ядер, доступных как в Гарварде, так и в фонде. Архитектура на основе Неймана.Архитектура Гарварда имеет отдельные шины для доступа к программной (ПЗУ) и памяти данных (ОЗУ), в то время как архитектура фон Неймана использует одну память для обоих, что снижает скорость. В основном ядра ARM — это микропроцессоры, предназначенные для использования в таких микросхемах, как микроконтроллеры.
Процессор ARM основан на архитектуре RISC, которая обеспечивает быстрое выполнение инструкций. Они являются популярным выбором для широкого использования в потребительских портативных электронных устройствах, таких как мобильные телефоны, планшеты, мультимедийные плееры и другие носимые устройства.
Существуют различные типы процессоров ARM, специально разработанные для различных целей;
Cortex-A: Эти процессоры созданы для передовых операционных систем и обеспечивают наилучшую производительность;
Cortex-R: Эти процессоры имеют быстрое время отклика, поэтому они используются для приложений реального времени.
Cortex-M: Процессор Cortex-M специально создан для микроконтроллеров,
- Наиболее распространенным типом микроконтроллеров ARM является ARM Cortex-M.
- Это семейство процессоров ARM, созданных для микроконтроллеров с различной скоростью обработки.
- Процессор Cortex M0 (на основе архитектуры фон Неймана) предлагает низкую скорость при очень низкой стоимости, в основном используется в платах для разработки.
- В то время как его улучшенные модели, такие как Cortex-M3 (на основе архитектуры Гарварда), используются в известных платах Adruino.
- Это 32-битный RISC-процессор.
- Он энергоэффективен и имеет более высокую производительность.
RENESAS означает Renaissance Semiconductor for Advanced Solutions и предлагает микропроцессоры и микроконтроллеры с лучшими характеристиками в дополнение к сверхнизкому энергопотреблению и компактной упаковке.
Благодаря наличию самого большого диапазона емкости памяти и количества выводов, они используются в различных передовых встроенных приложениях для управления автомобилем. Микроконтроллеры семейства RL78 и RX наиболее популярны, где первые используются из-за низкого энергопотребления, а вторые известны своей высокой производительностью.
Некоторые из наиболее заметных особенностей микроконтроллеров семейства RENESAS RL78 и RX;
- Они основаны на гарвардской архитектуре CISC для обеспечения высокой производительности.
- Семейство RL78 доступно в 8-битном и 16-битном микроконтроллере, а RX — 32-битный микроконтроллер.
- Семейство RL78 представляет собой микроконтроллер с низким энергопотреблением, а RX предлагает высокую производительность и эффективность.
- Количество выводов для семейства RL78 варьируется от 20 до 128 выводов, в то время как микроконтроллеры RX доступны в корпусах с 48 до 176 выводов.
- Флэш-память также масштабируется с 16 КБ до максимальных 512 КБ для RL78 и 32 КБ до 2 МБ для микроконтроллеров семейства RX.
- Объем оперативной памяти в семействе RX составляет от 2 КБ до 128 КБ.
Связанное сообщение: Разница между инвертором и ИБП — источник бесперебойного питания
Приложения микроконтроллеровМикроконтроллеры могут использоваться для выполнения любой задачи путем сопряжения датчиков, исполнительных механизмов, двигателей и устройств и т. Д. используется в приложениях на базе встроенных систем для автоматического управления конкретной задачей. Ниже приведены некоторые применения микроконтроллеров;
- Смартфоны и портативные мобильные устройства
- Автомобили
- Камеры
- Приборы
- Обнаружение пожара, охранная сигнализация и устройства безопасности (включая датчик температуры и дыма)
- Электронные измерительные приборы
- Бытовые приборы, такие как микроволновая печь, сигнализация часы, стиральные машины, кондиционеры.
- Промышленная автоматизация (конвейерные ленты, сортировка, роботы для сбора и размещения и т. Д.)
- Промышленные контрольно-измерительные приборы и измерительные приборы, такие как вольтметры и измерители тока, устройства обнаружения, проверки и сортировки,
- Устройства связи
- Приложения для управления двигателями
- Тестирование и измерение
- Медицинские приборы, такие как глюкометр, аппарат для измерения артериального давления, МРТ, КТ и рентгеновские аппараты и т. Д.
Связанные сообщения:
Что такое микроконтроллер и как он работает?
Микроконтроллер — это компактная интегральная схема, предназначенная для управления определенной операцией во встроенной системе.Типичный микроконтроллер включает в себя процессор, память и периферийные устройства ввода-вывода (I / O) на одном кристалле.
Иногда называемые встроенным контроллером или микроконтроллером (MCU), микроконтроллеры используются в транспортных средствах, роботах, офисной технике, медицинских устройствах, мобильных радиопередатчиках, торговых автоматах и бытовой технике, среди других устройств. По сути, это простые миниатюрные персональные компьютеры (ПК), предназначенные для управления небольшими функциями более крупного компонента без сложной интерфейсной операционной системы (ОС).
Как работают микроконтроллеры?Микроконтроллер встроен в систему для управления особой функцией устройства. Он делает это, интерпретируя данные, которые он получает от периферийных устройств ввода-вывода, с помощью центрального процессора. Временная информация, которую получает микроконтроллер, хранится в его памяти данных, где процессор обращается к ней и использует инструкции, хранящиеся в своей программной памяти, для расшифровки и применения входящих данных. Затем он использует свои периферийные устройства ввода-вывода для связи и выполнения соответствующих действий.
Микроконтроллеры используются в большом количестве систем и устройств. Устройства часто используют несколько микроконтроллеров, которые работают вместе в устройстве для выполнения своих соответствующих задач.
Например, в автомобиле может быть множество микроконтроллеров, которые управляют различными отдельными системами внутри, такими как антиблокировочная тормозная система, контроль тяги, впрыск топлива или управление подвеской. Все микроконтроллеры общаются друг с другом, чтобы сообщить правильные действия. Некоторые могут связываться с более сложным центральным компьютером в автомобиле, а другие могут связываться только с другими микроконтроллерами.Они отправляют и получают данные, используя свои периферийные устройства ввода-вывода, и обрабатывают эти данные для выполнения назначенных им задач.
Какие элементы микроконтроллера?Основные элементы микроконтроллера:
- Процессор (CPU) — Процессор можно рассматривать как мозг устройства. Он обрабатывает и реагирует на различные инструкции, управляющие работой микроконтроллера. Это включает в себя выполнение основных арифметических, логических операций и операций ввода-вывода.Он также выполняет операции передачи данных, которые передают команды другим компонентам в более крупной встроенной системе.
- Память — память микроконтроллера используется для хранения данных, которые процессор получает и использует для ответа на инструкции, которые он запрограммировал выполнять. Микроконтроллер имеет два основных типа памяти:
- Программная память, в которой хранится долгосрочная информация об инструкциях, выполняемых ЦП. Программная память — это энергонезависимая память, то есть она хранит информацию с течением времени без использования источника питания.
- Память данных, которая требуется для временного хранения данных во время выполнения инструкций. Память данных является энергозависимой, то есть данные, которые она хранит, являются временными и поддерживаются только в том случае, если устройство подключено к источнику питания.
- Периферийные устройства ввода / вывода — устройства ввода и вывода являются интерфейсом для процессора с внешним миром. Порты ввода получают информацию и отправляют ее процессору в виде двоичных данных. Процессор получает эти данные и отправляет необходимые инструкции устройствам вывода, которые выполняют задачи, внешние по отношению к микроконтроллеру.
Хотя процессор, память и периферийные устройства ввода-вывода являются определяющими элементами микропроцессора, есть и другие элементы, которые часто используются. Термин «Периферийные устройства ввода-вывода» просто относится к вспомогательным компонентам, которые взаимодействуют с памятью и процессором. Существует множество вспомогательных компонентов, которые можно отнести к категории периферийных устройств. Наличие некоторого проявления периферийных устройств ввода-вывода является элементарной задачей для микропроцессора, потому что они являются механизмом, через который применяется процессор.
Прочие вспомогательные элементы микроконтроллера включают:
- Аналого-цифровой преобразователь (АЦП) — АЦП — это схема, преобразующая аналоговые сигналы в цифровые. Это позволяет процессору в центре микроконтроллера взаимодействовать с внешними аналоговыми устройствами, такими как датчики. Цифро-аналоговый преобразователь (ЦАП)
- — ЦАП выполняет обратную функцию АЦП и позволяет процессору в центре микроконтроллера передавать свои исходящие сигналы внешним аналоговым компонентам.
- Системная шина — Системная шина — это соединительный провод, соединяющий все компоненты микроконтроллера вместе.
- Последовательный порт — Последовательный порт является одним из примеров порта ввода-вывода, который позволяет микроконтроллеру подключаться к внешним компонентам. Он имеет функцию, аналогичную USB или параллельному порту, но отличается способом обмена битами.
Процессор микроконтроллера зависит от приложения. Варианты варьируются от простых 4-битных, 8-битных или 16-битных процессоров до более сложных 32-битных или 64-битных процессоров.Микроконтроллеры могут использовать энергозависимые типы памяти, такие как оперативная память (RAM) и энергонезависимые типы памяти — сюда входят флэш-память, стираемая программируемая постоянная память (EPROM) и электрически стираемая программируемая постоянная память (EEPROM).
Как правило, микроконтроллеры проектируются так, чтобы их можно было легко использовать без дополнительных вычислительных компонентов, поскольку они имеют достаточный объем встроенной памяти, а также предлагают контакты для общих операций ввода-вывода, поэтому они могут напрямую взаимодействовать с датчиками и другими компонентами.
Архитектура микроконтроллераможет быть основана на архитектуре Гарварда или архитектуре фон Неймана, обе предлагают различные методы обмена данными между процессором и памятью. В гарвардской архитектуре шина данных и инструкция разделены, что позволяет осуществлять одновременную передачу. В архитектуре фон Неймана одна шина используется как для данных, так и для инструкций.
Процессоры микроконтроллеровмогут быть основаны на вычислениях со сложным набором команд (CISC) или на вычислениях с сокращенным набором команд (RISC).CISC обычно имеет около 80 инструкций, в то время как RISC имеет около 30, а также больше режимов адресации, 12-24 по сравнению с RISC 3-5. Хотя CISC проще в реализации и более эффективно использует память, производительность может снижаться из-за большего количества тактовых циклов, необходимых для выполнения инструкций. RISC, который уделяет больше внимания программному обеспечению, часто обеспечивает лучшую производительность, чем процессоры CISC, которые уделяют больше внимания аппаратному обеспечению из-за упрощенного набора инструкций и, следовательно, повышенной простоты конструкции, но из-за упора на программное обеспечение, программное обеспечение может быть более сложным.Какой ISC используется, зависит от приложения.
Когда они впервые стали доступны, микроконтроллеры использовали исключительно язык ассемблера. Сегодня популярным вариантом является язык программирования C. Другие распространенные языки микропроцессоров включают Python и JavaScript.
Микроконтроллерыоснащены входными и выходными контактами для реализации периферийных функций. К таким функциям относятся аналого-цифровые преобразователи, контроллеры жидкокристаллических дисплеев (LCD), часы реального времени (RTC), универсальный синхронный / асинхронный приемный передатчик (USART), таймеры, универсальный асинхронный приемный передатчик (UART) и универсальная последовательная шина ( USB) возможность подключения.Датчики, собирающие данные, связанные, в частности, с влажностью и температурой, также часто присоединяются к микроконтроллерам.
Типы микроконтроллеров Стандартные микроконтроллерывключают Intel MCS-51, часто называемый микроконтроллером 8051, который был впервые разработан в 1985 году; микроконтроллер AVR, разработанный Atmel в 1996 году; контроллер программируемого интерфейса (PIC) от Microchip Technology; и различные лицензированные микроконтроллеры Advanced RISC Machines (ARM).
Ряд компаний производят и продают микроконтроллеры, включая NXP Semiconductors, Renesas Electronics, Silicon Labs и Texas Instruments.
Приложения микроконтроллеров Микроконтроллерыиспользуются во многих отраслях и приложениях, в том числе в домашних условиях и на предприятиях, в автоматизации зданий, производстве, робототехнике, автомобилестроении, освещении, интеллектуальной энергетике, промышленной автоматизации, коммуникациях и развертываниях Интернета вещей (IoT).
Одно из очень специфических применений микроконтроллера — его использование в качестве процессора цифровых сигналов. Часто входящие аналоговые сигналы имеют определенный уровень шума.Шум в этом контексте означает неоднозначные значения, которые нельзя легко преобразовать в стандартные цифровые значения. Микроконтроллер может использовать свои АЦП и ЦАП для преобразования входящего аналогового сигнала с шумом в ровный исходящий цифровой сигнал.
Простейшие микроконтроллеры облегчают работу электромеханических систем, используемых в предметах повседневного обихода, таких как духовки, холодильники, тостеры, мобильные устройства, брелоки, системы видеоигр, телевизоры и системы полива газонов. Они также распространены в офисной технике, такой как копировальные аппараты, сканеры, факсы и принтеры, а также в интеллектуальных счетчиках, банкоматах и системах безопасности.
Более сложные микроконтроллеры выполняют важные функции в самолетах, космических кораблях, океанских судах, транспортных средствах, медицинских системах и системах жизнеобеспечения, а также в роботах. В медицинских сценариях микроконтроллеры могут регулировать работу искусственного сердца, почек или других органов. Они также могут способствовать функционированию протезов.
Сравнение микроконтроллеров и микропроцессоровРазличие между микроконтроллерами и микропроцессорами стало менее очевидным, поскольку плотность и сложность микросхем стали относительно дешевыми в производстве, и микроконтроллеры, таким образом, интегрировали более «общие компьютерные» типы функциональности.В целом, однако, можно сказать, что микроконтроллеры работают сами по себе, с прямым подключением к датчикам и исполнительным механизмам, где микропроцессоры предназначены для максимизации вычислительной мощности на кристалле, с подключением к внутренней шине (а не с прямым вводом / выводом). для поддержки оборудования, такого как ОЗУ и последовательные порты. Проще говоря, в кофеварках используются микроконтроллеры; настольные компьютеры используют микропроцессоры.
Микроконтроллер Microchip Technology ATtiny817. Микроконтроллерыдешевле и потребляют меньше энергии, чем микропроцессоры.Микропроцессоры не имеют встроенного ОЗУ, постоянного запоминающего устройства (ПЗУ) или других периферийных устройств на микросхеме, а подключаются к ним своими контактами. Микропроцессор можно считать сердцем компьютерной системы, тогда как микроконтроллер можно считать сердцем встроенной системы.
Выбор подходящего микроконтроллераПри выборе микроконтроллера для проекта необходимо учитывать ряд технологических и бизнес-соображений.
Помимо стоимости, важно учитывать максимальную скорость, объем ОЗУ или ПЗУ, количество или типы контактов ввода-вывода на MCU, а также энергопотребление, ограничения и поддержку разработки.Обязательно задавайте такие вопросы, как:
- Какие аппаратные периферийные устройства требуются?
- Нужны ли внешние коммуникации?
- Какую архитектуру использовать?
- Какие сообщества и ресурсы доступны для микроконтроллера?
- На каком рынке представлен микроконтроллер?
Как выбрать микроконтроллер для вашего нового продукта
Как правильно выбрать микроконтроллер для вашего конкретного аппаратного продукта? Эта статья покажет вам все факторы, которые нужно учитывать при выборе самого лучшего микроконтроллера.
При выборе подходящего микроконтроллера для проекта вы должны учитывать стоимость, производительность, энергопотребление и общий размер. Доступность соответствующих программных и аппаратных средств также является важным фактором.
Поддержка выбранной платформы также очень важна — не только со стороны производителя, но и со стороны сообщества в целом. Также помогает, если у выбранного микроконтроллера есть легкодоступная плата для разработки.
Наконец, время разработки может быть значительно сокращено, если выбранный микроконтроллер имеет обширные, полностью отлаженные программные библиотеки с хорошо документированными интерфейсами прикладного программирования или API.
В этой статье будут представлены только микроконтроллеры, которые в целом соответствуют указанным выше критериям.
Все современные микроконтроллеры обладают некоторыми основными функциями. Помимо процессора, у них есть определенное количество флэш-памяти, которая используется для хранения кода приложения, некоторого количества SRAM и, в большинстве случаев, некоторого количества EEPROM.
Им нужен источник тактовой частоты, который обычно обеспечивается либо внутренним генератором резистора-конденсатора (RC), либо использованием внешнего кварцевого резонатора для более критичных по времени приложений.У них есть несколько цифровых портов ввода-вывода и как минимум один таймер / счетчик.
Кроме того, за исключением микроконтроллеров очень низкого уровня, большинство из них имеют по крайней мере один UART для последовательной связи. Помимо этого, микроконтроллеры различаются объемом памяти, который они имеют, количеством и типом других периферийных устройств, интегрированных в микросхему, и скоростью, с которой они запускают пользовательские приложения.
Это зависит не только от исходной тактовой частоты; это также зависит от объема данных процессора и любых включенных функций аппаратного ускорения.
Микроконтроллеры для встраиваемых систем в основном делятся на три категории в зависимости от ширины их шин данных: 8-битные, 16-битные и 32-битные. Есть и другие, но самые популярные.
В целом, 8-разрядные микроконтроллеры предназначены для приложений нижнего уровня, 32-разрядные — для приложений более высокого уровня, а 16-разрядные — для приложений среднего уровня.
Безусловно, большинство продуктов, над которыми я работаю, как правило, включают 32-битные микроконтроллеры, но 8- или 16-битные микроконтроллеры могут быть хорошим выбором для недорогих продуктов низкого уровня.
8-битные микроконтроллеры
Если приложение не предъявляет очень высоких требований к вычислительной мощности и имеет относительно небольшой размер, то имеет смысл рассмотреть 8-битный микроконтроллер.
Для справки: большинство Arduinos основано на 8-битных микроконтроллерах. Итак, если вы создали свой ранний прототип с использованием Arduino, вы можете использовать 8-битный микроконтроллер в своем конечном продукте.
Не оставляйте без внимания цену, хотя и направляйте ваше решение, и во многих случаях 32-битные микроконтроллеры могут быть дешевле 8-битных чипов.
Например, Atmega328p — это 8-битный микроконтроллер, использующий Arduino Uno. При объемах порядка 10 тыс. Штук он стоит немногим более 1 доллара. Он работает на частоте 20 МГц и включает 32 КБ флэш-памяти и 2 КБ ОЗУ.
С другой стороны, вы можете купить 32-битный микроконтроллер, работающий на частоте 48 МГц, с аналогичной памятью всего за 60 центов. Вероятно, это связано с тем, что популярность 32-битных микроконтроллеров снижает их стоимость.
При этом доступны даже более дешевые 8-битные микроконтроллеры, которые стоят менее 25 центов при аналогичных объемах.
8-битные микроконтроллеры обычно следует рассматривать для приложений, которые предназначены только для выполнения одной работы, с ограниченным пользовательским интерфейсом и небольшой обработкой данных.
8-битные микроконтроллеры бывают всех размеров от небольших 6-контактных устройств до микросхем с 64-контактными контактами. Они имеют размеры флэш-памяти от 512 байт до 256 КБ, размеры SRAM от 32 до 8 КБ или более и EEPROM от 0 до 4 КБ или более. Минимальная система может быть такой же простой, как одна микросхема с байпасным конденсатором на шине питания.
Три самых популярных линейки 8-битных микроконтроллеров — это серия 8051, серия PIC от Microchip и серия AVR от Atmel, теперь часть Microchip.
Серия 8051
Этот микроконтроллер, изначально разработанный Intel, а теперь выпускаемый другими компаниями, до сих пор широко используется, он встроен во многие устройства.
Хотя они доступны как автономные устройства, 8051 в настоящее время в основном используются в качестве ядер IP (интеллектуальной собственности), которые встроены в микросхемы специализированных микросхем для конкретных приложений, таких как некоторые беспроводные радиоприемопередатчики.
Очень редко 8051 может быть правильным выбором в качестве основного микроконтроллера для вашего продукта.
Серия PIC
МикроконтроллерыPIC довольно популярны и имеют широкую поддержку как Microchip, так и сторонних производителей.
Microchip предоставляет свою интегрированную среду разработки (IDE) MPLAB ® X, которая включает в себя C-компилятор бесплатно. Также бесплатно в виде подключаемого модуля IDE доступен конфигуратор кода MPLAB, который генерирует C-код для встроенных периферийных устройств.
Затем его можно интегрировать в код приложения. Существуют модели PIC с комбинациями интерфейсов USART, SPI, I 2 C, ADC, USB, LIN, CAN и других интерфейсов. Microchip также предлагает несколько инструментов разработки, включая MPLAB PICkit 4, ICD 4 и Real ICE.
Также доступны более качественные коммерческие компиляторы с лучшей оптимизацией кода. Вот краткое справочное руководство по микроконтроллерам PIC в формате PDF.
AVR серии
AVR — еще одна серия очень популярных 8-битных микроконтроллеров.Хотя они находятся в том же пространстве, что и описанные выше PIC, и имеют сопоставимые характеристики, у них есть одна большая претензия на славу: Arduino.
Рисунок 1. Большинство плат Arduino основаны на 8-битных микроконтроллерах AVR
Все оригинальные Arduinos, такие как Uno, Leonardo и Mega, используют микроконтроллеры AVR. Из-за очень широкого диапазона доступных библиотек для Arduinos, AVR заслуживают серьезного рассмотрения для 8-битных приложений, даже если только для подтверждения концептуальных прототипов.
Поскольку библиотеки Arduino написаны на C ++, их можно легко включить в любое приложение, написанное на C / C ++.
Инструменты разработки программного обеспечения включают AVR studio или, если используется Arduino, обычно используются Arduino IDE и Platform IO. Компилятор, используемый в этих IDE, — это AVR GCC, бесплатный, очень хорошо поддерживаемый и поддерживаемый компилятор C / C ++.
Инструменты разработки оборудованиявключают Atmel ICE и PICkit 4. Кроме того, по-прежнему широко доступны зрелые инструменты, такие как STK600 и AVR Dragon.Вот ссылка на краткое справочное руководство в формате PDF для микроконтроллеров AVR.
16-битные микроконтроллеры
16-битные микроконтроллеры— это следующий шаг по сравнению с 8-битными, при этом они имеют многие из тех же атрибутов. Они быстрее, поддерживают еще больше периферийных устройств и, как правило, предлагают больше памяти, как флэш-памяти, так и SRAM.
В дополнение к большему количеству контактов ввода-вывода, большинство из них также имеют аппаратные умножители, которые значительно быстрее и используют меньше программной памяти по сравнению с чисто программными реализациями.
Легко найти устройства, которые имеют как АЦП, так и ЦАП, или устройства с емкостными сенсорными датчиками, драйверами сегментированных ЖК-дисплеев и Ethernet.
Внутри эти устройства также имеют аппаратные блоки, которые обычно не встречаются в устройствах нижнего уровня. К ним относятся механизмы шифрования, операционные или программируемые усилители усиления и контроллеры прямого доступа к памяти.
Хотя 16-битные микроконтроллеры можно найти у различных производителей, таких как Microchip (их dsPIC33 — популярный выбор), NXP, Infineon или Cypress, серия TI MSP430 будет представлена здесь как типичный пример этого сегмента микроконтроллеров.
TI MSP430 серии
MSP430 — это серия 16-разрядных микроконтроллеров с очень низким энергопотреблением, которые доступны во многих вариантах. Они варьируются от моделей общего назначения до очень специализированных.
Одна интересная особенность специализированных вариантов этих микроконтроллеров заключается в том, что они фактически разветвляются на две крайности: очень специализированные, очень недорогие модели и высокопроизводительные модели с интерфейсами аналоговых датчиков и цифровой обработкой сигналов (DSP).
Примером высокотехнологичного применения является ультразвуковой датчик потока.На нижнем уровне TI также производит микросхемы на базе MSP430, которые решают многие очень специфические аппаратные функции. Для получения дополнительной информации см. Этот электронный документ.
Например, нужен интерфейс SPI-UART, расширитель ввода-вывода или мост UART-UART? Все это есть, и все это менее чем за 0,3 доллара за этот чип.
Наконец, конечно, MSP430 поддерживается рядом недорогих инструментов и наборов для разработки.
В таблице 1 ниже показаны дополнительные функции, доступные в некоторых основных версиях.
MSP430FR2x | MSP430FR4x | MSP430FR5x | MSP430FR6x | |
Программная память | До 32 КБ | До 16 КБ | До 256 КБ | До 128 КБ |
Количество контактов | от 16 до 64 в различных упаковках | от 48 до 64 в различных упаковках | от 24 до 100 в различных упаковках | от 56 до 100 в различных упаковках |
Периферийные устройства обычно не доступны в 8-битных контроллерах | ЦАП, PGA, трансимпедансные и операционные усилители | Логика ИК-модуляции | DMA, AES | DMA, AES |
Драйверы сегментов ЖК-дисплея | – | До 256 | – | до 320 |
Таблица 1 — Обзор основных функций MSP430
32-битные микроконтроллеры
32-разрядные микроконтроллеры — это мощные устройства с функциями микропроцессора.Некоторые из расширенных функций включают конвейерную обработку инструкций, прогнозирование ветвлений, вложенные векторные прерывания (NVI), блоки с плавающей запятой (FPU), защиту памяти и встроенные отладчики.
ПРИМЕЧАНИЕ: Обязательно загрузите бесплатное руководство в формате PDF 15 шагов для разработки нового электронного оборудования .
Конвейерная обработка инструкций означает, что ядро процессора предварительно выбирает последующие инструкции, а прогнозирование ветвления предварительно выбирает следующие инструкции для обоих результатов условия if-else, таким образом ускоряя выполнение кода.
NVI обеспечивает приоритеты прерываний, при которых одно прерывание может вытеснить прерывание с более низким приоритетом.
FPUмогут выполнять вычисления с плавающей запятой намного быстрее, чем методы, реализованные в программном обеспечении.
Защита памяти гарантирует, что код приложения не сможет случайно перезаписать критические разделы, например, предназначенные для операционной системы.
Наконец, встроенная отладка позволяет заглядывать в регистры и другие области системы, чтобы облегчить отладку кода приложения.Все это вместе позволяет этим микроконтроллерам запускать большие, быстрые и надежные приложения.
Кроме того, их чистая вычислительная мощность означает, что они могут легко поддерживать операционные системы реального времени (RTOS), которые, в свою очередь, обеспечивают возможности многозадачности.
Несмотря на то, что на рынке представлено множество 32-битных микроконтроллеров, в этой заметке основное внимание будет уделено устройствам на базе ARM Cortex M, с особым упоминанием ESP32 от Espressif.
ARM Holdings фактически разрабатывает только IP-адреса процессорных ядер, которые они затем лицензируют различным поставщикам полупроводников, которые включают их вместе с некоторыми периферийными устройствами в свои собственные кремниевые микросхемы.Многие производители микросхем предлагают микроконтроллеры на базе архитектуры Cortex-M.
Два известных производителя чипов на базе ARM — это Atmel со своей линейкой устройств SAM и STMicroelectronics со своей линейкой продуктов STM32.
Устройства SAM заслуживают упоминания здесь из-за их использования в некоторых Arduino-совместимых платах. Однако в целом устройства STM32 предлагают больше вариантов, и им следует уделять первоочередное внимание при проектировании встроенного 32-разрядного микроконтроллера.
Микроконтроллеры STM32
ЯдраARM Cortex M бывают разных версий.Самыми популярными из них являются M0 / M0 +, M1, M3, M4 и M7, каждый из которых предлагает все более высокую производительность. Микроконтроллеры STM32 содержат ядра M0 / M0 +, M3, M4 или M7.
На рис. 1 показано семейство микроконтроллеров на базе ARM Cortex M STM32 и их предполагаемые сегменты приложений.
Рисунок 2 — Семейство микроконтроллеров STM32
В каждой из категорий, показанных на рисунке 1, есть много семейств, которые можно выбрать для более точного соответствия заданному приложению.
Например, на рисунке 2 показаны основные варианты, доступные в категории «мейнстрим», и их относительная кривая производительности. Обратите внимание, что внутри каждого семейства существует множество вариантов с различными комбинациями периферийных устройств и объемом памяти.
Фактически, в настоящее время существует более трехсот микроконтроллеров STM32, доступных в этой категории.
Рисунок 3 — Семейство микроконтроллеров в категории STM32 Mainstream
Поддержка оборудования STM32: Семейство STM32 поддерживается широким спектром аппаратных средств, предоставляемых как ST Microelectronics, так и сторонними производителями.
Недорогой внутрисхемный отладчик / программатор — STLink V2. Он сделан ST и доступен в таких местах, как Digi-Key; однако также доступны очень недорогие клоны.
ST Microelectronics также предлагает большой выбор плат для разработки семейств Nucleo и Discovery.
Оба содержат интерфейс отладки STLink. Все, что требуется, — это компьютер с USB-портом, на котором запущено соответствующее программное обеспечение для оценки выбранного микроконтроллера.
ПлатыDiscovery включают в себя дополнительные внешние периферийные устройства, такие как датчики MEM и емкостные сенсорные панели.Однако у Nucleos есть заголовки, совместимые с щитами Arduino.
Рисунок 4 — Отладочная плата ST Discovery для микроконтроллера STM32F407
Перед тем, как покинуть этот раздел, стоит упомянуть еще об одной очень недорогой плате для разработки. Эта плата, обычно известная как Blue Pill, оснащена чипом на базе STM32F103 Cortex M3 и стоит менее 2 долларов США из некоторых источников.
Привлекательной особенностью этой платы является то, что ее можно сделать совместимой с Arduino, чтобы можно было использовать Arduino IDE или Platform IO для написания и загрузки кода для быстрой проверки концептуальных проектов.
Хотя процесс обеспечения совместимости с Arduino немного сложен, есть несколько мест, где продаются готовые к Arduino платы. Просто выполните поиск «STM32duino».
Чтобы узнать, как разработать собственную плату микроконтроллера на базе STM32, обязательно просмотрите это руководство и ознакомьтесь с этим углубленным платным курсом.
Поддержка программного обеспечения STM32: STMicroelectronics предоставляет версию пакета разработки ARM Mbed для всей линейки продуктов STM32. Сюда входят IDE, компилятор и обширный набор библиотек.
Для разработчиков, которые предпочитают использовать другие компиляторы, ST предоставляет свой STMCube. Это программа-генератор кода, которая производит коды инициализации для периферийных устройств STM32.
При этом нет необходимости полностью настраивать биты нескольких регистров для настройки периферийных устройств, таких как, например, порты ввода-вывода или таймеры.
ESP32
ESP32 — это микроконтроллер от Espressif Systems. Как показано на рисунке 3, он имеет все функции типичного 32-разрядного микроконтроллера.
Рисунок 5 — Модуль Espressif ESP32
Однако, что отличает этот конкретный микроконтроллер от других, так это наличие в чипе оборудования Wi-Fi и Bluetooth.
Это включает не только стеки протоколов, но и сами радиоприемопередатчики. ESP32 также доступен в виде небольшого предварительно сертифицированного модуля со встроенной антенной.
Для приложений, требующих подключения по Wi-Fi или Bluetooth, ESP32 заслуживает серьезного внимания.Цена ESP32 (как дискретного чипа, так и модуля) очень доступная, особенно с учетом количества функций и производительности, заложенных в этот чип.
Рисунок 6 — Функциональная блок-схема ESP32
Заключение
Микроконтроллер, пожалуй, самый важный компонент, который вы должны выбрать для своего продукта. Переход на новый микроконтроллер в середине проекта может быть кошмаром, поэтому убедитесь, что вы сделали этот выбор заранее.
Другие компоненты в конструкции, как правило, можно изменить, не требуя масштабных общесистемных изменений.Это не относится к микроконтроллеру, который служит ядром вашего продукта.
Выбирая микроконтроллер, вы обычно выбираете тот, который дает вашему продукту пространство для роста. Например, если вы определили, что вам требуется 16 контактов GPIO, вы не хотите выбирать микроконтроллер только с 16 контактами GPIO.
Что произойдет, если вы решите добавить новую кнопку в будущем, и вам понадобится еще один вывод GPIO? Если ваш микроконтроллер не дает вам возможности для роста, вы можете обнаружить, что кажущиеся простыми обновления конструкции в будущем потребуют масштабной переработки, поскольку необходим новый микроконтроллер.
С другой стороны, вы не хотите выбирать больше производительности или функций, чем вы когда-либо предполагали.
Например, если ваш продукт просто отслеживает температуру и влажность, вам никогда не понадобится усовершенствованный 32-битный микроконтроллер, работающий на сотнях МГц. Это было бы излишним, поскольку добавляло ненужных затрат и усложняло дизайн вашему продукту.
Вместо этого вам нужно найти золотую середину между тем, чтобы иметь место для роста, если это необходимо, но при этом не платить за производительность или функции, которые вам никогда не понадобятся.
Наконец, не забудьте загрузить бесплатно PDF : Ultimate Guide to Develop and Sell Your New Electronic Hardware Product . Вы также будете получать мой еженедельный информационный бюллетень, в котором я делюсь премиальным контентом, недоступным в моем блоге.Другой контент, который может вам понравиться:
Микроконтроллер— классификация, архитектура, применение, преимущества
Микроконтроллеры играют важную роль в мире встраиваемых систем. Любое технологическое устройство вокруг нас построено на микроконтроллере.В этом посте будет обсуждаться, что такое микроконтроллер, как он работает, его различные классификации, архитектуры, приложения, преимущества и недостатки.
Что такое микроконтроллерМикроконтроллер — это устройство, которое фиксирует ввод, обрабатывает его и генерирует вывод на основе полученной информации. Его также называют MC или MCU (микроконтроллерный блок), который представляет собой компактный цифровой процессор на микросхеме металл-оксид-полупроводник. Микроконтроллеры также называют «компьютерами специального назначения».Они предназначены для выполнения конкретной задачи, которая запрограммирована и хранится в ПЗУ.
Рис. 1 — Знакомство с микроконтроллером
Они доступны со встроенной памятью и портами ввода-вывода, что исключает создание схемы с отдельными внешними ОЗУ, ПЗУ и периферийными микросхемами. MC работают на более низких скоростях, сохраняя функциональность и потребляя меньше энергии. Эти особенности микроконтроллеров делают их идеальным выбором для встраиваемых приложений.
Фиг.2 ниже показан одноплатный микроконтроллер MC, также называемый микроконтроллером макетной платы, встроенный на одну печатную плату (PCB). Он предоставляет необходимые схемы, включая процессор, память, часы, схемы ввода-вывода и т. Д. Они широко используются в образовательных целях для получения опыта, поскольку доступны по невысокой цене.
Рис. 2 — Макетная плата микроконтроллера 8051
Классификация микроконтроллеровМикроконтроллеры широко классифицируются по различным категориям на основе:
- Память
- Архитектура
- Конфигурация битов
MC далее делится на две категории в зависимости от конфигурации их памяти.Это:
- Микроконтроллер с внешней памятью
- Микроконтроллер со встроенной памятью
Микроконтроллер с внешней памятью
Этот тип МК не имеет программной памяти на кристалле. Пример — Intel 8031 MC.
Микроконтроллер со встроенной памятью
Этот тип МК имеет все программы и память данных, счетчики и таймеры, прерывания, порты ввода-вывода, встроенные в микросхему. Пример — Intel 8051 MC.
Рис. 3 — Классификация микроконтроллеров
Классификация микроконтроллеров на основе архитектурыСуществует два типа архитектуры MC:
- Архитектура фон Неймана
- Гарвардская архитектура Архитектура Neumann
- 8-битный MC
- 16-битный MC
- 32-битный MC
- Ядро процессора
- Память
- Контроллер прерываний
- Таймер / счетчик
- Цифровой ввод / вывод
- Аналоговый ввод / вывод
- Интерфейсы
- Сторожевой таймер
- Статическое ОЗУ (SRAM)
- EEPROM / Flash
- 8051 Микроконтроллер
- Источник питания
- ЖК-экран (дата и день должны быть отображенным)
- Зуммер (должен подавать звуковой сигнал в течение 10 секунд и останавливаться)
- Устройства, поддерживающие сенсорное управление, разработаны с использованием микроконтроллеров, таких как Portable Electronic Devices , которые включают смартфоны, игровые устройства и мультимедиа. Плееры и т. Д.
- Микроконтроллеры используются в пультах дистанционного управления, игрушках, медицинских устройствах и др. Встроенные системы .
- Они предоставляют Автомобильные решения , такие как управление антиблокировочной тормозной системой и управление системой управления двигателем.
- Микроконтроллеры используются в Radar Speed Gun для определения скорости объекта.
- Они широко используются в Потребительских товарах , таких как духовки, холодильники, стиральные машины, кондиционеры и пылесосы и т. Д.
- Микроконтроллеры используются в компьютерах для управления функциями ввода / вывода.
- Они также используются для хранения информации для базы данных Система управления .
- Они потребляют меньше энергии.
- Они экономичны.
- Микроконтроллеры меньше по размеру по сравнению с микропроцессорами.
- У него низкая тактовая частота.
- Использование микроконтроллеров значительно уменьшило размер печатной платы.
- Микроконтроллеры могут обрабатывать логические функции.
- Они надежны и работают быстрее.
- Архитектура микроконтроллера более сложна по сравнению с микропроцессором.
- Их нельзя перепрограммировать.
- Проблемы с интерфейсом возникают, поскольку не все микроконтроллеры имеют аналоговый ввод / вывод.
Этот тип архитектуры имеет общую память для хранения данных и программ.
Гарвардская архитектура
Эта архитектура имеет отдельные блоки памяти для хранения программ и данных и отдельные шины для передачи данных и инструкций.
Классификация микроконтроллеров на основе битовой конфигурацииСуществует три типа микроконтроллеров на основе битовой конфигурации. Это:
8-битный MC
8-битный микроконтроллер в основном используется для выполнения арифметических и логических операций, таких как сложение, вычитание, умножение. разделение.Он обрабатывает 8 бит данных за раз. Например. Микроконтроллер Intel 8031 и 8051.
16-битный MC
Этот тип MC используется в приложениях, где требуется более высокая точность и производительность. Он также используется для выполнения арифметических и логических операций, например. Intel 8096.
32-битный MC
Этот тип MC предлагает превосходную скорость обработки и может работать с несколькими периферийными устройствами и обычно используется в автоматически управляемых устройствах, таких как медицинские приборы, компьютерные приложения и т. Д.
Классификация микроконтроллеров на основе набора командMC подразделяется на два типа на основе конфигурации набора команд. Это:
CISC
CISC — это аббревиатура от «Компьютер со сложным набором команд». CISC позволяет пользователю вставить одну инструкцию в качестве альтернативы множеству простых инструкций.
RISC
RISC — это аббревиатура для компьютеров с сокращенным набором команд. RISC помогает сократить время работы за счет сокращения тактового цикла на инструкцию.
Архитектура микроконтроллераСамый популярный микроконтроллер 8051 разработан с использованием Гарвардской архитектуры, поэтому этот тип архитектуры был рассмотрен здесь для объяснения его компонентов. Различные компоненты / модули микроконтроллера:
Фиг.4 — Архитектура микроконтроллера 8051
Ядро процессораЭто центральный процессор микроконтроллера, состоящий из арифметико-логического модуля (АЛУ). Этот блок отвечает за выполнение арифметических и логических операций.
Блок управленияОн управляет работой MC и представлен регистром STATUS. Это помогает в передаче данных в другие регистры.
ПамятьВ MC есть два типа памяти данных.Это:
SRAM состоит из регистров специальных функций (SFR) и регистров общего назначения (GPR). SRAM — это 8-битные ячейки памяти, которые обеспечивают связь между аппаратным и программным обеспечением микроконтроллера.
Цикл записи (программа / стирание) этой памяти неограничен, но данные, хранящиеся в SRAM, теряются при потере питания контроллера. Следовательно, EEPROM также используется для хранения данных.
Регистры специальных функций (SFR) управляют функциональными блоками, тогда как регистры общего назначения (GPR) хранят значения переменных и констант.
EEPROM / FlashЭто тип энергонезависимой электронной памяти, которая используется для хранения данных. Память EEPROM сравнительно медленная и имеет ограниченное количество циклов записи и, следовательно, используется для хранения данных, которые необходимо сохранить, когда питание MC отключено.
Счетчик / Модуль таймераЭтот модуль имеет таймер / счетчик, который измеряет время и вычисляет события.Обычно MC содержит 2-3 таймера / счетчика и работает в режиме таймера или счетчика и вычисляет количество полученных импульсов. Таймер также генерирует сигнал ШИМ, который преобразуется в постоянное напряжение с помощью фильтров нижних частот.
Цифровой модульЭтот модуль состоит из цифровых входов / выходов. Это помогает микроконтроллеру обнаруживать и выводить логические состояния (высокий или низкий).
Аналоговый модульЭтот модуль состоит из аналогового ввода / вывода. Это помогает в преобразовании уровня напряжения в цифровое значение.Большинство МК имеют встроенные аналого-цифровые преобразователи. Для генерации аналогового выхода RC Low Pass Filters используются для преобразования выходов PWM в напряжение постоянного тока.
Модуль последовательного интерфейсаОни предназначены для приема или отправки цифровых сигналов на другие устройства. Большинство контроллеров снабжены интерфейсами SPI, SCI, Ethernet, USB.
Сторожевой таймер
Как видно из названия, он наблюдает за выполнением программы MC. Он генерирует сигнал «СБРОС», если процесс выполнения завершается неудачно.
Как работает микроконтроллер
Чтобы понять работу микроконтроллера, давайте рассмотрим базовую блок-схему простейшей автоматической системы сигнализации, показанной на рисунке 5 (a). Эта система предназначена для ежечасного звукового сигнала с использованием микроконтроллера, и ожидается, что конечный продукт будет напоминать рис. 5 (b).
Рис. 5 — (a) Блок-схема автоматической системы сигнализации (b) Конечный продукт
Требования или спецификации:
Источник питания является входом, а ЖК-экран вместе со зуммером действует как выход для системы.
Для правильного функционирования система должна быть изначально настроена. ЖК-дисплей инициализируется, определенные режимы контактов предназначены для входов и выходов. Исходный код создается на основе требований и загружается в микроконтроллер.
Для проверки правильности работы системы включается блок питания. Встроенная схема регулирует напряжение питания и выдает 5 В. Это освещает ЖК-экран.
На экране дисплея отображаются текущее время и дата.Система запрограммирована таким образом, что зуммер издает звуковой сигнал в течение 10 секунд после каждого часа и автоматически выключается.
Применения микроконтроллераПриложения микроконтроллера включают:
К преимуществам микроконтроллера относятся:
Недостатки микроконтроллера:
Также читают: Транзистор - классификация, конфигурация, применение, преимущества Что такое смарт-карта - как она работает, характеристики, типы и применение Что такое стабилизатор напряжения - зачем он нам, как он работает, типы и области применения
Что делает AURIX ™ таким простым в использовании
|
Смотреть электронное обучение |
Основы концепции беспроводного программного обеспечения с использованием AURIX ™ |
Смотреть электронное обучение |
Безопасная связь по CAN | Узнайте, как хакеры используют шину CAN для создания помех внутри автомобиля, и узнайте, как микроконтроллеры Infineon AURIX ™ поддерживают безопасную связь по CAN. Смотреть электронное обучение |
Семейство 32-разрядных микроконтроллеров AURIX ™ для CAV |
Смотреть электронное обучение |
AURIX ™ 1G |
Смотреть электронное обучение |
AURIX ™ для расширенных систем помощи водителю |
Смотреть электронное обучение |
Аппаратный модуль безопасности AURIX ™ для кибербезопасности автомобилей |
Смотреть электронное обучение |
Электрификация силовых агрегатов и решения Infineon для инверторов |
Смотреть электронное обучение |
Как AURIX ™ удовлетворяет потребности приложений для электромобилей |
Смотреть электронное обучение |
OPTIGA ™ Trusted Platform Module и AURIX ™: идеальные партнеры в области кибербезопасности автомобилей |
Смотреть электронное обучение |
|
Смотреть электронное обучение |
|