Что такое микроконтроллер. Как устроен и работает микроконтроллер. Для чего используются микроконтроллеры в электронике. Какие бывают типы и семейства микроконтроллеров. Чем отличается микроконтроллер от микропроцессора.
Что такое микроконтроллер и его основные компоненты
Микроконтроллер представляет собой миниатюрный компьютер, размещенный на одной интегральной схеме. Он объединяет в себе процессор, память и периферийные устройства. Основными компонентами микроконтроллера являются:
- Центральный процессор (ЦПУ) — выполняет вычисления и управляет работой всех узлов
- Память программ (ПЗУ) — хранит программный код
- Оперативная память (ОЗУ) — используется для временного хранения данных
- Порты ввода-вывода — обеспечивают взаимодействие с внешними устройствами
- Таймеры — отсчитывают временные интервалы
- АЦП и ЦАП — преобразуют аналоговые и цифровые сигналы
Благодаря интеграции всех этих компонентов на одном кристалле, микроконтроллеры являются компактными, энергоэффективными и недорогими вычислительными устройствами.
Принцип работы микроконтроллера
Принцип работы микроконтроллера заключается в циклическом выполнении заложенной в него программы. Основные этапы работы:
- Считывание команды из памяти программ
- Дешифрация команды
- Выполнение команды
- Переход к следующей команде
При этом микроконтроллер может реагировать на внешние события с помощью прерываний, временно приостанавливая выполнение основной программы. Это позволяет микроконтроллеру оперативно реагировать на изменения во внешней среде.
Основные области применения микроконтроллеров
Благодаря своей универсальности, компактности и низкой стоимости, микроконтроллеры находят применение в самых разных областях:
- Бытовая техника (стиральные машины, микроволновые печи, телевизоры)
- Автомобильная электроника (системы управления двигателем, климат-контроль)
- Промышленная автоматика
- Системы «умного дома»
- Медицинское оборудование
- Портативная электроника (смартфоны, фитнес-трекеры)
- Игрушки и развлекательные устройства
Микроконтроллеры позволяют создавать «умные» устройства, способные анализировать окружающую среду и принимать решения.
Типы и семейства микроконтроллеров
Существует множество типов и семейств микроконтроллеров, различающихся архитектурой, производительностью и набором периферии. Основные семейства:
- AVR (Atmel) — 8-битные микроконтроллеры с RISC-архитектурой
- PIC (Microchip) — популярные 8-, 16- и 32-битные микроконтроллеры
- ARM Cortex-M — 32-битные микроконтроллеры на базе ядер ARM
- STM32 (STMicroelectronics) — 32-битные микроконтроллеры на ядре ARM Cortex-M
- MSP430 (Texas Instruments) — 16-битные микроконтроллеры с низким энергопотреблением
Выбор конкретного семейства зависит от требований к производительности, энергопотреблению и набору периферийных устройств.
Отличия микроконтроллера от микропроцессора
Хотя микроконтроллеры и микропроцессоры имеют много общего, между ними есть ряд важных отличий:
| Параметр | Микроконтроллер | Микропроцессор |
|---|---|---|
| Интеграция компонентов | Процессор, память и периферия на одном кристалле | Только процессор, остальные компоненты внешние |
| Область применения | Встраиваемые системы управления | Универсальные вычислительные системы |
| Производительность | Относительно низкая | Высокая |
| Энергопотребление | Низкое | Высокое |
| Стоимость | Низкая | Высокая |
Таким образом, микроконтроллеры оптимальны для создания компактных автономных устройств, а микропроцессоры — для построения мощных вычислительных систем.
Программирование микроконтроллеров
Для программирования микроконтроллеров используются различные языки и среды разработки. Наиболее распространенные подходы:
- Программирование на языке C/C++ с использованием специализированных компиляторов
- Использование языка ассемблера для максимальной оптимизации кода
- Применение визуальных сред разработки (например, Arduino IDE) для упрощения процесса программирования
- Использование RTOS (операционных систем реального времени) для сложных проектов
Выбор метода программирования зависит от сложности проекта, требований к производительности и опыта разработчика.
Перспективы развития микроконтроллеров
Микроконтроллеры продолжают активно развиваться. Основные тенденции их эволюции:
- Увеличение производительности при снижении энергопотребления
- Интеграция беспроводных интерфейсов (Wi-Fi, Bluetooth) непосредственно в чип
- Развитие специализированных микроконтроллеров для задач искусственного интеллекта и машинного обучения
- Повышение уровня защиты от несанкционированного доступа и кибератак
- Расширение возможностей периферийных устройств
Эти тенденции позволят создавать еще более эффективные и функциональные встраиваемые системы на базе микроконтроллеров.

что это такое и зачем нужны
Сегодня я хотел бы написать о микроконтроллерах в целом, чтобы свои знания подтянуть и заодно другим рассказать.
Для работы с микроконтроллерами, такими как Ардуино или Iskra JS и подобными, нужны дополнительные знания, которые мы постепенно будем познавать.
Что такое микроконтроллеры?
Микроконтроллер представляет собой микросхему, которая используется для управления электронными устройствами. В типичном микроконтроллере имеются функции и процессора, и периферийных устройств, а также содержится оперативная память и/или ПЗУ (постоянное запоминающее устройство). Если говорить кратко, то микроконтроллер — это компьютер, функционирующий на одном кристалле, который способен выполнять относительно несложные операции.
Микроконтроллеры широко используются в вычислительной технике (процессоры, материнские платы, контроллеры дисководов, накопители HDD/FDD), бытовой электронике (стиральные машины, микроволновые печи, телефоны и т.д.), в промышленности и т.д. Рассмотрим, как проходит подключение и управление микроконтроллером, а также другие нюансы, связанные с ними.
Подключение микроконтроллера
Нижеописанная схема является упрощенным вариантом подключения микроконтроллера AVR.
AVR
По-хорошему, необходимо добавить еще несколько дополнительных внешних элементов в схему.
Упрощенная схема подключения микроконтроллераПровод, который указан на схеме пунктиром, использовать не обязательно в том случае, если питание микроконтроллера идет от внешнего источника.
Вывод AREF используется как вход для опорного напряжения АЦП — сюда подается напряжение, относительно которого будет высчитываться АЦП. Допустимо использование внутреннего источника опорного напряжения на 2.56В, или же использовать напряжение от AVCC.
АЦП (Аналого-цифровой преобразователь) — электронное устройство, преобразующее напряжение в двоичный цифровой код
На вывод AREF рекомендуется подключить конденсатор, который позволит увеличить качество напряжения АЦП и, тем самым, позволит провести правильные измерения АЦП. Между AVCC и GND установлен конденсатор и дроссель, а между GND и VCC установлен керамический конденсатор с емкостью 100 нФ (поближе к выводам питания схемы) для сглаживания кратких импульсов помех, образующихся в результате работы микросхемы.
Также между GND и VCC устанавливается ещё один конденсатор с емкостью в 47 мкФ для того, чтобы сгладить возможные броски напряжения.
Управление микроконтроллером
Микроконтроллеры AVR оснащены Гарвардской архитектурой. Каждая из областей памяти располагаются в своем адресном пространстве. Память данных в контроллерах осуществляется посредством регистровой, энергонезависимой и оперативной памяти.
Микроконтроллер AVRРегистровая память предусматривает наличие 32 регистров общего назначения, которые объединены в файл, а также служебные регистры для ввода и вывода. И первые, и вторые располагаются в пространстве ОЗУ, однако не являются его частью.
В области РВВ (регистров ввода и вывода) находятся различные служебные регистры — состояния, управления микроконтроллером и т.д., а также регистры, которые отвечают за управление периферийных устройств, являющихся частью микроконтроллера. По сути, управление данными регистрами и является методом управления микроконтроллером.
Устройства на микроконтроллерах
Микроконтроллеры AVR являются простыми в использовании, имеют низкую потребляемую мощность и высокий уровень интеграции.
Как правило, такие микроконтроллеры могут использоваться на самых разных устройствах, в том числе системах общего назначения, системах оповещения, для ЖК-дисплеев, плат с ограниченным пространством.
Также они используются для измерителей уровня заряда аккумулятора, аутентификации, в автомобильной электронике, для защиты от короткого замыкания и перегрева и т.д. Кроме промышленных целей, микроконтроллеры могут использоваться (и чаще всего используются новичками) для создания следующих устройств:
- Регистратор температуры на Atmega168;
- Кухонный таймер на Attiny2313;
- Термометр;
- Измеритель частоты промышленной сети на 50 Гц;
- Контроллер светодиодного стоп-сигнала на Attiny2313;
- Светодиодные лампы и светильники, реагирующие на температуру или звук;
- Электронные или сенсорные выключатели.
Отметим, что для разных устройств используются разные модели микроконтроллеров. Так, 32-разрядные микроконтроллеры AVR UC3 (а также XMEGA, megaAVR, tinyAVR и т.д.) подойдут для систем общего назначения с технологиями picoPower, QTouch, EEPROM, системами обработки событий и самопрограммированием.
Микроконтроллеры для начинающих
Если вы собираетесь программировать микроконтроллеры, такие как Ардуино, например, а также собирать устройства, которые предусматривают их наличие в схеме, необходимо учитывать некоторые правила и рекомендации:
- Перед решением любых задач следует делить их на более мелкие, вплоть до базовых действий.
- Не следует пользоваться кодогенераторами и прочими «упрощающими» материалами, хотя бы на начальных этапах.
- Рекомендуется изучить язык С и Ассемблер — это упростит понимание принципа работы микроконтроллеров и программ.
Для того, чтобы новичок мог заниматься микроконтроллерами, рекомендуется изучать базовые материалы. К таким материалам можно отнести следующие книги:
- «Применение микроконтроллеров AVR: схемы, программы и алгоритмы» Баранов В.Н., 2006 год,
- «Микроконтроллеры AVR: вводный курс», Дж. Мортон, 2008 год,
- «Программирование микроконтроллеров ATMEL на языке С» Прокопенко В.С, 2012 год.
Данные книги являются практическим руководством, в котором затрагиваются аспекты и основы цифровой логики, а также рассматриваются примеры программ для микроконтроллеров, написанных на языке С с различными имитаторами схем, компиляторами и средами.
Что такое микроконтроллер, зачем он нужен и как его используют
Область применения микроконтроллеров безгранична. Их используют в любых электронных устройствах для осуществления контроля. Кроме того, они находятся во всех бытовых приборах – микроволновках, электрочайниках, утюгах, стиральных машинах — микроконтроллер можно запрограммировать под любую функцию.
История появления
Работы над изобретением микропроцессора велись с начала 1970-х годов. Первой компанией, разработавшей его, была компания Intel. Уже в 1971 году ее был выпущен первый микроконтроллер 4004, который состоял из 2300 полупроводниковых транзисторов, а по размеру был не больше ладони. Это стало возможным, после того как для микросхемы был специально разработан кристалл процессора.
Несмотря на маленькие размеры, производительность микропроцессора не уступала компьютеру Eniac, имеющему габариты в 85 м3. Особенностью этого устройства было то, что оно могло обрабатывать только 4 бита информации.
В ближайшие полгода еще несколько компаний заявили о создании аналогичных изделий.
К концу 1973 года Intel выпускает 8-зарядный микропроцессор. Он был настолько удачно разработан, что и сегодня считается классикой.
Через несколько месяцев фирма Motorola выпускает свой 8-битовый микропроцессор 6800. Он стал сильным конкурентом интеловской микросхеме, т. к. имел более значительную систему прерываний и одно напряжение электропитания. В 8080 их было три.
Внутренняя архитектура 6800 тоже отличалась. В ней не было регистров общего назначения, в которых могли сохраняться как адресная информация, так и числовые показатели. Вместо них, в процессоре появился еще один полноценный аккумулятор для обработки данных и 16-разрядные регистры для хранения адресов. Работа с памятью у 6800 выполнялась быстрее и была проще, но 8080 тратил меньше времени на обмен внутренней информацией между регистрами.
Оба эти изделия имели как положительные стороны, так и недоработки. Они стали родоначальниками двух больших семейств микропроцессоров – Интел и Моторола, которые конкурируют между собой до сих пор.
В 1978 году Интел выпустила 16-разрядный микропроцессор, который IBM использовала для разработки персональных компьютеров. Моторола не отстала от своего конкурента и тоже выпустила 16-разрядный микропроцессор, который использовали Atari и Apple.
Сейчас существует более 200 разновидностей микроконтроллеров. Количество компаний, их изготавливающих, перевалило за два десятка. Широкое распространение у разработчиков получили:
- 8-битные микроконтроллеры Pic компании Microchip Technology и AVR от Atmel;
- 16-битовые MSP 430 фирмы TI;
- 32-битные ARM от одноименной компании.
В России пользуются популярностью микроконтроллеры Renesas Electronics, Freescale, Samsung.
Что такое микроконтроллер
Микроконтроллер по сути является микросхемой, который состоит из:
- Центрального процессора. В него входят блок управления, регистры, ПЗУ (постоянное запоминающее устройство).
- Периферии, которая включает порты ввода-вывода, контроллеры прерываний, таймеры, генераторы различных импульсов, аналоговые преобразователи и подобные элементы.
Зачастую микроконтроллер называют микропроцессором. Но это не совсем так. Последний осуществляет только определенные математические и логические операции. А в состав микроконтроллера входит и микропроцессор с другими элементами, являясь лишь частью МК.
Принцип работы микроконтроллера
Несмотря на сложное устройство принцип работы микроконтроллера очень прост. Он основан на аналоговом принципе действия. Система понимает лишь две команды («есть сигнал», «нет сигнала»). Из этих сигналов в его память вписывается код определенной команды. Когда МК считывает команду, он ее выполняет.
В каждом из МК прописаны свои базовые наборы команд. И только их он способен принимать и выполнять. Сочетая отдельные команды между собой, можно написать уникальную программу, по которой будет работать любое электронное устройство именно так, как требуется.
В зависимости от содержащихся в МК набора программ, они делятся на:
CISC – комплекс большого числа базовых команд;
RISC – только необходимые команды.
Большинство контроллеров содержит RISC набор. Объясняется это тем, что такой МК проще изготовить, он дешевле и больше пользуется спросом у разработчиков электронной техники.
Назначение и область применения микроконтроллера
Благодаря тому, что микроконтроллеры AVR очень просты в использовании, обладают высокой способностью интегрирования и низкой потребляемой мощностью, области их применения разнообразны:
- автомобилестроение;
- робототехника;
- самолето- и судостроение;
- промышленное оборудование;
- электронные детские игрушки;
- компьютеры, телефоны;
- электронные музыкальные инструменты;
- бытовая техника;
- медоборудование;
- управление шлагбаумами и воротами;
- светофоры, семафоры;
- железнодорожный транспорт.
Это не полный перечень областей применения МК.
Основное назначение МК – контролировать все процессы, которые происходят на его платформе. От включения или выключения света по хлопку до поднятия штор при изменении освещенности на улице. По сути, МК осуществляет контроль за состоянием неких переменных и изменение системы в динамических условиях.
Питание микроконтроллера
Для работы микроконтроллеру, как и любому электронному устройству, необходима энергия. Напряжение МК Atmel AVR находится в диапазоне 1.8–5.5 Вольт и зависит от модели и серии. Большинство приборов работает от 5 Вольт. Но встречаются и низкочастотные модели (Attiny 2313), нижняя граница у которых от 1,8 В.
Кроме того, на работу МК влияет и частота поступающего тока. Низкое напряжение требует и низких пределов частот. Чем выше частота, тем быстрее работают определенные модели.
Так, чтобы обеспечить работу контроллеров серии AVR, на все плюсовые входы нужно подавать 5 В, а нулевой заземляют.
Если у модели несколько вводов и выводов питания, то подключать их нужно все.
На аналогово-цифровой преобразователь питание подают через дополнительные фильтры. Это поможет избавиться от помех, которые могут изменять показания напряжения. При этом на плюсовой ввод подается напряжение через фильтрующий дроссель. А нулевые выводы разделяют на цифровые и аналоговые. Причем соединяться они могут только в одной точке.
Кроме того, необходимо установить и конденсаторы, лучше керамические, из расчета 1 на 100 нанофарад.
Подключение
Через микроконтроллер можно подключить к локальной сети любой девайс. В качестве таковой можно рассмотреть Ethernet. Прежде всего, определимся с понятиями.
Ethernet – это набор стандартов IEEE 802.3, которые описывают разнообразные технологии локальных сетей: общий канальный уровень и набор технологий физического уровня, включающий в себя для передачи информации оптоволокно, витую пару, коаксиал с различными скоростями.
Понять, как работает локальная сеть, можно через модель OSI. Она включает в себя несколько уровней:
- Физический. Состоит из витой пары, драйверов и трансформаторов, по которым происходит передача данных.
- Канальный. Через него передаются Ethernet-фреймы между узлами локальной сети.
- Сетевой. По нему происходит передача пакетов. Они могут передаваться через несколько сетей, различающихся по технологиям физического и канального уровней.
- Транспортный. Связывает узлы между собой. Перед отправкой данных транспортный уровень представляет их в виде пакета сетевого уровня и передает другому узлу. Он может отправлять и группы пакетов одновременно. Если используется протокол с установкой соединения, то перед отправкой транспортный уровень устанавливает соединение, контролирует его качество, а только потом передает пакет данных.
- Прикладной. Решает прикладные задачи, те, ради которых создавался. С внешним миром он обменивается данными по стандартному или эксклюзивному протоколу.
Каждый из последующих уровней обслуживается предыдущим или нижележащим. Так образуются вертикальные межуровневые связи. Особенности обслуживания каждого уровня скрыты от остальных.
При взаимодействии двух сетей каждый из уровней одной сети контактирует с аналогичным уровнем другой. Так образуются горизонтальные связи.
Управление микроконтроллером
Управление МК может осуществляться двумя способами:
- Проводной путь. Управление исполнительными механизмами происходит через электропроводное соединение управляющих цепей и исполнительных механизмов. Включение — по нажатию кнопки на диспетчерском пункте или кнопочном пульте.
- Беспроводной путь. Такой способ управления не требует проводного соединения. С передатчика или пульта дистанционного управления (ПДУ) передается сигнал, который идет на приемник.
Сигналы беспроводного соединения могут быть:
- Оптическими. Подобными сигналами управляется домашняя бытовая техника: телевизоры или кондиционеры.
- Радио. Есть несколько вариантов: Wi-Fi, Bluetooth и др.
Развитие современных средств связи позволяет управлять контроллерами как через ПДУ, находясь в непосредственной близости к прибору, так и по интернету из любой точки мира через локальную сеть.
Обеспечивает поддержку cети Wi-Fi МК ESP 8266. В продаже он может быть в виде микросхемы или распаян, как arduino. У него 32-битное ядро, программировать его нужно через последовательный порт UART. Бывают более продвинутые платы с возможностью прошивки по USB – это NodeMCU. Они могут хранить информацию, записанную, например, с датчиков. Такие платы работают с различными интерфейсами, в т. ч. SPI, I2S.
Поддерживает большое число функций:
- планировщик задач;
- таймер;
- канал АЦП;
- формирование на выходе ШИМ сигнала;
- аудиопроигрыватель и многое другое.
Плата может быть использована как самостоятельное устройство и как модуль для беспроводной связи с Ардуино.
Тактирование микроконтроллеров
Тактовая частота МК – это количество тактов за секунду, выполняемых контроллером. Чем она выше, тем большее количество операций он может выполнить.
Существуют несколько способов тактирования МК. Они зависят от использования:
- Внутреннего RC-генератора. Он может работать только на частоте 1, 2, 4, 8 МГц. Если нужна другая частота, то он не подойдет. При необходимости использования точных временных интервалов тоже нельзя пользоваться этим методом, т. к. его задающая частота колеблется в зависимости от температуры.
- Внешнего кварца. Этот способ имеет более сложное подключение. Емкость конденсатора должна находиться в интервале 15–22 пФ. Один выход присоединяется к резонатору, а другой заземляется.
- Внешнего генератора. Этот генератор также нестабилен при разной температуре, как и внутренний.
- RС-цепочек. Для данной схемы подойдет конденсатор емкостью от 22 пФ, резистор 10–100 кОм.
Для простейших микроконтроллеров подойдут внутренний или внешний генератор и RC-цепочки. Для проектирования более точных МК потребуются стабильные источники тактирования.
Семейства микроконтроллеров
Все МК объединяются в семейства. Основная характеристика, по которой происходит это деление, — структура ядра.
Под ядром МК подразумевают набор определенных команд, цикличность работы процессора, организацию как памяти программ, так и баз данных, систему прерываний и базовый набор периферийных устройств (ПУ).
Различаются представители одного семейства между собой объемом памяти программ и баз данных, а также разнообразием ПУ.
Объединяют все МК в семейства одинаковость двоичного кода программирования.
Семейства делятся на:
- MSC-51, производства Intel. Монокристальный МК на основе Гарвардской архитектуры. Основной представитель этого семейства 80С51, созданный по технологии CMOS. И хотя эти контроллеры разработаны еще в 80-х годах прошлого века, но до сих пор широко применяются. И сегодня многие компании, такие как Siemens, Philips и др. выпускают свои контроллеры с подобной архитектурой.
- PIC (Microchip). МК Гарвардской архитектуры. В его основе лежит архитектура с сокращенным набором команд, встроенная память команд и данных, низкое энергопотребление. В это семейство входят более 500 различных МК (8-ми, 16-ти, 32-битные) с различными наборами периферии, памяти и прочими характеристиками.
- AVR (Atmel). Высокоскоростные контроллеры разработаны на собственной архитектуре. Основой контроллера является Гарвардский RISC-процессор с самостоятельным доступом к памяти программ и баз данных (Flash ПЗУ). Каждый из 32 регистров общего назначения может работать как регистр-аккумулятор и совокупность 16-битных команд. Высокая производительность в 1 MIPS на каждый МГц тактовой частоты обеспечивается за счет порядка выполнения команд, который предусматривает выполнение одной команды и одновременную подготовку к следующей. Для поддержания своей продукции компания Atmel выпускает бесплатную и качественную среду разработки Atmel
- ARM (ARM Limited) разработаны на собственной архитектуре. В семейство входят 32-х и 64-битовые МК. ARM Limited занимается только разработкой ядер и их инструментов, а лицензии на производство продает другим компаниям. Эти процессоры потребляют мало энергии, поэтому находят широкое применение в производстве мобильных телефонов, игровых консолей, маршрутизаторов и т. д. К компаниям, выкупившим лицензии, относятся: STMicroelectronics, Samsung, Sony Ericsson и др.
- STM (STMicroelectronics). 8-разрядные контроллеры (STM8) относятся к категории высоконадежных с низким энергопотреблением изделий. В это же семейство входят контроллеры STM32F4 и STM Их основу составляет-32 битный Cortex. Такие контроллеры обладают отлично сбалансированной архитектурой и имеют большие перспективы развития.
Это не все семейства микроконтроллеров. Здесь мы привели только основные.
Типы корпусов микроконтроллеров
Внешних отличий МК от других микросхем нет. Кристаллы размещены в корпусах с определенным количеством выходов. Все МК выпускаются только в 3-х типах корпусов:
- Корпус DIP имеет два ряда выводов. Расстояние между ними 2,54 мм. Выводы вставляются внутрь отверстий на контактных площадках.
- Корпус SOIC. Он подходит для монтажа, который предполагает поверхностную припайку выходов к контактной площадке. Расстояние между выходами 1,27 мм.
- Корпуса QFP (TQFP). Выводы расположены со всех сторон. Расстояние между ними в 3 раза меньше, чем в DIP. Корпус имеет квадратную форму. Предназначаются только для поверхностной пайки.
- Корпус QFN. Самый маленький по сравнению с предыдущими. Контакты выходят в 6 раз чаще, чем в DIP. Имеют большое распространение в промышленном производстве, т. к. позволяют значительно уменьшить габариты выпускаемых приборов.
Каждый из корпусов имеет свои точки применения. Первые 3 могут использоваться радиолюбителями.
В чем отличие микроконтроллера от микропроцессора?
Весь компьютерный функционал микропроцессора (Micro Processor Unit — MPU) содержится на одном полупроводниковом кристалле. По характеристикам он соответствует центральному процессору компьютера ЦП (Central Processing Unit — CPU). Область его применения – хранение данных, выполнение арифметико-логических операций, управление системами.
МП получает данные с входных периферийных устройств, обрабатывает их и передает выходным периферийным устройствам.
Микроконтроллер совмещает в себе микропроцессор и необходимые опорные устройства, объединенные в одном чипе. Если нужно создать устройство, коммуницирующее с внешней памятью или блоком ЦАП/АЦП, то понадобится только подключить источник питания с постоянным напряжением, цепь сброса и источник тактовой частоты.
Устройства на микроконтроллерах
Каждый из видов контроллеров имеет свои периферические устройства, которые работают автономно, т. е. независимо от центрального ядра. После того как периферийное устройство выполнит свою задачу, оно может сообщить об этом ЦП, а может и не сообщать. Это зависит от того, как оно запрограммировано.
На МК могут быть следующие устройства:
- Аналоговый компаратор. Основная его задача сравнивать поступающее (измеряемое) напряжение с идеальным. Если измеряемое напряжение выше, чем идеальное, то компаратор выдает сигнал логической 1 (прибор отключается), если ниже, то логический 0 (прибор продолжает работать).
- Аналогово-цифровой преобразователь (АЦП). Измеряет аналоговое напряжение в период времени и выдает его в цифровой форме. Есть не у всех МК.
- Таймер/счетчик. Представляет собой сочетание 2-х форм таймера и счетчика. Таймер формирует интервалы времени, а цифровой счетчик считает количество импульсов, идущих от внутреннего генератора частот, или сигналы от внешних источников. Одним из представителей работы таймера /счетчика может быть ШИМ (широтно-импульсный модулятор). Он предназначен для управления средним значением напряжения при нагрузке.
- Сторожевой таймер. Его задача перезапускать программу через определенный временной промежуток.
- Модуль прерываний. Он сообщает МК о наступлении какого-либо события и прерывает выполнение программы. После завершения события возобновляет прерванную программу.
Не все из этих периферийных устройств обязательно есть в каждом МК. Существуют и другие, менее распространенные устройства.
Что нужно для программирования микроконтроллера
Чтобы микроконтроллер мог выполнять необходимые функции и решать определенные задачи, его необходимо запрограммировать.
Путь программирования проходит несколько этапов:
- Перед тем как приступить к написанию кода программы, надо определиться с конечной целью.
- Составляется алгоритм работы программы.
- Непосредственное написание кода программы. Коды пишутся на языке Си или Ассемблере.
- Компиляция программы, т. е. перевод ее в двоичную или шестнадцатеричную систему 1 и 0. Только так ее сможет понять МК.
- Откомпилированный код записывают в память контроллера.
- Прошивают МК с помощью программатора. Они бывают двух типов подключения: через COM или USB порт. Самый простой и дешевый программатор USBASP.
- Тестирование и отладка МК на реальном устройстве.
Радиолюбители иногда обходятся без прописывания алгоритма работы программы на бумаги. Они держат его в голове.
Языки программирования
Языки программирования для МК мало чем отличаются от классических компьютерных. Основное отличие заключается в том, что МК ориентируются на работу с периферией. Архитектура МК требует битово-ориентированных команд. Поэтому для контроллеров создавались особые языки:
- Ассемблер. Самый низкий уровень языка. Программы, написанные на нем, получаются громоздкими и труднопонимаемыми. Но несмотря на это он позволяет наиболее полно раскрыть все возможности контроллеров и получить максимальное быстродействие и компактный код. Подходит преимущественно для маленьких 8-битных МК.
- С/С++. Более высокий уровень языка. Программа, написанная на нем, более понятна человеку. На сегодняшний день есть много программных средств и библиотек, позволяющих писать коды на этом языке. Его компиляторы есть практически на любой модели МК. На сегодня это основной язык для программирования контроллеров.
- Еще более удобный для восприятия и проектирования язык. Но он мало применяется для программирования МК.
- Старинный язык программирования. На сегодня почти не применяется.
Выбор языка для программирования зависит от решаемых задач и необходимого качества кода. Если нужен компактный код, то подойдет Ассемблер, для решения более глобальных задач выбор ограничится только С/С++.
Среда разработки
На сегодня нельзя найти универсальной среды для программирования МК. Это связано с его внутренней структурой и наличием технического обеспечения записи кода в память контроллера.
Вот несколько сред программирования:
- FlowCode – универсальная графическая среда. Программируется с помощью построения логических структур блок-схем.
- Algorithm Builder. Тоже графическая среда. Но написание кода проходит в 3–5 раз быстрее, чем в FlowCode. В ней совмещены графический редактор, компилятор, симулятор МК, внутрисхемный программатор.
- В ней объединены Ассемблер и С/С++. Функционал среды позволяет самостоятельно прошивать МК.
- Image Craft. Как и предыдущая поддерживает Ассемблер и С/С++ языки. В ее составе есть библиотека, позволяющая работать с отдельными устройствами МК.
- Популярная среда для любителей. Имеет Си-подобный язык, но отличающийся от других. Он более понятен человеку. Поддерживает библиотеки, в составе которых есть драйвера для подключения некоторых платформ.
Среды бывают платные и бесплатные. Выбирая конкретную среду, нужно исходить из ее функционала, языка программирования, поддерживаемых интерфейсов и портов.
Основы программирования
Прежде чем приступать к программированию МК, нужно выбрать язык. Начинать лучше с Ассемблера. Хотя для понимания он достаточно сложен, но если приложить силы и все-таки понять его логику, то тогда станет ясно, что именно происходит в контроллере.
Если Ассемблер окажется сложен, то можно начинать с Си. Одной из сильных его сторон является то, что он хорошо переносит коды с одного вида МК на другой. Но для этого надо правильно все прописать, разделив рабочие алгоритмы и их реализации в машине по разным частям проекта. Это позволит переносить алгоритм в другой контроллер, переделав всего лишь интерфейсный слой, в котором прописано обращение к «железу», оставив рабочий код без изменений.
Далее действуют по следующей схеме:
- Выбор компилятора и установка среды (подробнее о них писалось выше).
- Запуск среды и выбор в ней нового проекта. Необходимо будет указать место расположения. Путь нужно выбирать наиболее короткий.
- Настройка проекта. Классическим действием будет создание make-файла, в котором прописываются все зависимости. На первой странице указывают еще частоту работы МК.
- Настройка путей. В них надо добавить директорию проекта. В нее можно добавлять сторонние библиотеки.
- Постановка задачи.
- Сборка схемы. На этом этапе надо соединить модуль USB-USART конвертера с аналогичными выводами МК. Это позволит прошить микроконтроллер без программатора. Нужно накинуть джамперы, соединяющие LED1 и LED2. Этим действием мы подключим светодиоды LED 1 и 2 к выводам PD4 и PD5.
- Пропись кода.
- Добавление библиотек и заголовков с определениями.
- Главные функции. Язык Си состоит из одних функций. Они могут быть вложенными и вызываться в любом порядке относительно друг из друга и разными способами. Но все они имеют три обязательных параметра: 1) возвращаемое значение; 2) передаваемые параметры; 3) тело функции. В зависимости отданных, все возвращаемые или передаваемые значения должны быть определенного типа.
- Компиляция и запуск эмуляции.
- Отладка программы.
После того как прописали программу на языке Си, можно понаблюдать, как и что происходит в МК. Это поможет выстроить аналогию с программированием на Ассемблере.
Советы начинающим программистам микроконтроллеров
Чтобы первый опыт в программировании МК не закончился неудачей и навсегда не отбил охоту заниматься этим делом, нужно следовать некоторым советам:
- Начинать с изучения периферии и ее особенностей.
- Каждую большую задачу надо разделять на максимально количество мелких.
- В начале пути не стоит упрощать себе жизнь и пользоваться кодогенераторами, нестандартными фичами и т. п. вещами.
- Обязательно нужно изучать языки программирования (Си и Ассемблера).
- Читайте Даташит.
- Соберите необходимый набор инструментов. Это стоит определенных денег, но окупит себя экономией времени и качеством работы.
Никогда не поздно стать радиолюбителем, будь вам 30 лет или 50. И необязательно иметь профильное высшее образование. Сейчас на просторах интернета много доступной информации, изучая которую можно разобраться в устройстве микроконтроллеров и научиться их программировать.
Что такое микроконтроллер и для чего он нужен? Как это работает?
Если вы задались вопросом, что такое микроконтроллер И для чего это ? Как это работает? Что ж, здесь мы собираемся объяснить так, чтобы это было ясно и понятно всем, все, что вам нужно знать об этой инженерной мысли, которая дает нам так много каждый день, и которая довольно часто мы даже не знаем, что это здесь.
Микроконтроллеры широко используются в мире. от тех, которые используются для управления двигателями, до тех, которые собраны на платах для создавать такие инновации, как Arduino. По этой и другим причинам мы не могли представить себе современную жизнь без этого инструмента.
Что такое микроконтроллер?
Микроконтроллер это в первую очередь то, что позволяет существовать таким устройствам, как сотовые телефоны, компьютеры и все виды устройств, которые мы используем в нашей повседневной жизни; становится отличным решением для области электроники с достаточной структурой для поддержки вариантов подключения.
Просто как есть схема, содержащая компоненты компьютера , он имеет довольно небольшой размер, который встроен в устройство, которое им управляет, ему также удается минимизировать компоненты и стоимость, поскольку они являются ключевой частью компьютерных карт, компьютеров.
Это серия модулей, которые, как правило, являются общими для всех моделей, в состав которых входят следующие компоненты: ЦП блока обработки, ПЗУ программной памяти, контроллер прямого доступа к памяти, управление прерываниями, Коммуникационные модули Bluetooth, интерфейсы ЖК-дисплея , Память данных RAM , внутренний генератор и многие другие компоненты.
Обычно помнят, что это более простая и старая версия современных процессоров, поскольку выше мы можем видеть, насколько важны микроконтроллеры, поскольку они осуществлять разработку технологических устройств которые мы используем ежедневно.
Для чего нужен микроконтроллер?
По сути, поскольку он нужен для очень многих вещей, он выполняет бесконечное количество функций, так как имеет то же самое. блоки, чем компьютер , что помогает нам относиться к нему как к вычислительному устройству.
Это можно использовать для управления сенсором, для игр, для разработки калькуляторов, в световых секвенсорах, в световые предупреждения , для работы электрозамков, а также для электронных дневников. Позволяет нам использовать пульты дистанционного управления для телевизоров, часов и будильников; умные роботы и многое другое, что действительно слишком много для микроконтроллера.
Для достижения программирование микроконтроллера , вам нужно будет сделать следующее: создать программу, которая будет выполнять задачу, сообщающую этому элементу, что делать, необходимо написать некоторый код, затем скомпилировать этот код в двоичный язык, загрузить этот код в машину с микроконтроллером.
Программа управления останется внутри нее в специальной области, с помощью инструментов можно будет легко управлять программированием через графические интерфейсы.
Которые следят за конструктором по реализации в нем машинного кода. Вы также можете найти 8-, 16- и 32-битные микроконтроллеры , которые относятся к размеру шины данных, и с большей шиной можно производить сложные вычисления.
Как работает микроконтроллер?
Работа микроконтроллера чрезвычайно изобретательна и позволяет выполнять множество задач в секунду, широко используется в системах, включающих процессор , служащая средством выражения основных инструкций, но поскольку они используются вместе, они могут стать большими вычислениями. Чтобы добавить инструкции в микроконтроллер, это необходимо сделать через программное обеспечение .
Чтобы добавить программу в микроконтроллер, она должна быть скопирована в шестнадцатеричном виде, так как это его формат по преимуществу. Чтобы разработать программу, необходимо знать ее функциональные части, которые являются памятью ПЗУ, а также входными и выходными линиями . Благодаря его функциям и диапазону управления на аналоговом уровне, можно использовать микроконтроллеры вместо проводных электронных плат, которые являются сложными.
También posee funcionalidades que будет выполняться параллельно с программами , las cuales son: Los circuitos de reloj, los temporizadores, el Watchdogel — это средство контроля, которое реагирует на бесконечные интеракции, конверсионные цифровые аналоговые, защитные де-фаллос-де-алиментации, estados de reposo с низким потреблением.
Must read. 5 свежих статей о микроконтроллерах / Skillbox Media
Каждую неделю мы отбираем для вас несколько свежих материалов из англоязычного интернета. В этом выпуске — самое интересное о микроконтроллерах.
Зачем читать: чтобы не ошибиться при выборе и не ломать голову, глядя на всё разнообразие.
Где читать: на Medium.
Микроконтроллер — это очень маленький компьютер, который чем-нибудь управляет: телефоном, стиралкой или даже системой впрыска топлива. Если вы хотите собрать собственный электронный девайс, то микроконтроллер — ваш лучший друг. В нём есть всё самое главное: процессор, RAM, порты ввода-вывода и так далее.
На что стоит обратить внимание при выборе? Самое главное — чтобы в микроконтроллере были все функции, которые понадобятся в вашем проекте. Например, вот без чего вам не обойтись при сборке механической клавиатуры:
- достаточное количество портов;
- поддержка USB;
- поддержка I2C и SPI;
- поддержка QMK и ZMK.
Вообще, все микроконтроллеры похожи. Поэтому главные критерии такие: легко купить, использовать с нужным вам ПО и паять в домашних условиях.
Вот три хороших марки для старта:
- Microchip — самые популярные микроконтроллеры. В сети по ним просто куча туториалов. Хороши для начала, но дороговаты для своих несколько куцых характеристик.
- STM — у этого бренда есть модели на любой вкус, а характеристики гораздо интереснее, чем у Microchip. Правда, под них можно программировать только на C и С++. Хорошо это или плохо — решать вам.
- Nordic — отличные мощные чипы, которые особенно хороши для работы с Bluetooth. Под них тоже придётся писать на C. Однако у Nordic есть большой минус — простым паяльником с ними не справиться, нужна продвинутая станция.
Мария Грегуш
В бэкграунде — программирование, французский язык, академическое рисование, капоэйра. Сейчас учит финский. Любит путешествия и Балтийское море.
Зачем нужны микроконтроллеры.
Микроконтроллер (далее МК) представляет собой микросхему, предназначенную для управления электронными устройствами. Впервые их начали изготавливать в тоже время, что и микропроцессоры, примерно с 1970 г. Суть идеи создания микроконтроллера заключалась в том, что бы совместить процессор, память, ПЗУ и всю периферию на единой микросхеме и поместить всё под один корпус. Сегодня данные устройства получили широкое распространение, а объёмы их производства больше, чем процессоров.
Микроконтроллеры используют в игрушках, домашней бытовой технике, станках, в системе «Умный дом», а так же там, где не столь важна мощность процессора, а скорее нужен некий баланс между ценой продукта и его функциональностью.
Приставка «микро» означает, что в основе устройства лежат микроэлектронные технологии. В процессе своей работы МК читает команды из порта ввода или из памяти. Стоит отметить, обычно МК работает не сам по себе, а вместе с другими устройствами- датчиками, экранами и т.д.
—-
Микроконтроллер это конечно не процессор, но он ещё и не персональный компьютер!Процессоры используют во многих бытовых приборах, только они отличаются о тех, что установлены в компьютерах и ноутбуках.
Процессору для передачи информации в память, требуется наличие этой самой памяти, выполненной в качестве отдельно стоящего модуля или находящейся на кристалле на котором расположен процессор. Так же ему нужно взаимодействовать с периферийными устройствами, иначе смысл работы процессора теряется. Зачем просто вычислять или обрабатывать какую-то информацию и никуда не выводить полученные результаты? У компьютеров в качестве периферии выступает дисплей, мышка с клавиатурой, принтер, сканер, вебкамера, микрофон и т.д.
Так вот что бы процессор не был просто отдельным и бесполезным элементом, его объединяют с дополнительными элементами, благодаря чему данная интеграция выливается в завершённый конструктив под названием микроконтроллер. Хорошим примером самодостаточного чипа, содержащего всё необходимое для полноценной работы, являются электронные часы.
Микроконтроллер присутствует и в чипе кредитной карточки и в устройстве домофона, вообщем он есть в любом мало-мальски интеллектуальном устройстве. Есть и очень мощные МК, выполняющие не одну сотню миллионов операций в секунду.
→ Купить ДРОССЕЛИ можно через интернет магазин.
Настройка стека на ассемблере для ATtiny2313 и подключение .inc файла
При написании программ для микроконтроллеров на языке C от программистов обычно не требуется такое действие как настройка стека, однако если программа пишется на ассемблере то настраивать его нужно в большинстве случаев а также нужно понимать зачем он нужен и как используется. Стеком (применительно к микроконтроллерам AVR) можно считать некоторую область в оперативной памяти (ОЗУ) которая может заполняться и опустошаться (т.е. как бы менять свои размеры) в процессе работы программы. В 8ми битных микроконтроллерах AVR в стек может быть помещено 8 бит информации за один раз в конец стека, извлечено также 8 бит информации за один раз из его конца. Заполнять и извлекать информацию из стека можно только с его конца (т.е. брать можно только последний элемент) (хотя на самом деле это ограничение можно обойти но суть стека в том что можно трогать только последний его элемент). Данные микроконтроллеры работают так что стек заполняется не от начала ОЗУ до его конца а наоборот т.е. если первый элемент помещен по какому то адресу в ОЗУ то следующий элемент будет помещен по адресу который на единицу меньше чем предыдущий и т.д. Настройка стека заключается в том чтобы указать с какого адреса начинается стек, путем помещения этого адреса в соответствующие регистры (для микроконтроллеров у которых максимальный адрес ОЗУ не помещается в один байт) или регистр (как в данном случае для ATtiny2313 т.к. этот микроконтроллер имеет небольшой размер ОЗУ). Для ATtiny2313 этот регистр называется SPL и чаще всего в него помещается самый большой адрес из ОЗУ чтобы для стека было как можно больше места чтобы «разростись» и не перекрывать те области ОЗУ которые заполняются другими данными. Стек можно использовать по разному но в основном он нужен чтобы использовать подпрограммы в программе на ассемблере. Подпрограммы — это набор инструкций который может быть размещен где нибудь во флешь памяти и выполнятся по мере необходимости после вызовов из основной программы. Подпрограмма может вызываться много раз и использование их позволяет экономить место во флешь памяти не заполняя его повторными одинаковыми инструкциями. После вызова такой подпрограммы в стек помещается адрес того места на котором остановилось выполнение основной программы чтобы позже в это место вернуться. Также стек можно использовать чтобы просто хранить в нем какую либо информацию. В общем стек — вещь нужная и поэтому её нужно настраивать. Если взять программу из предыдущей статьи и дополнить её настройкой стека то получиться так:.CSEG ; начало сегмента кода .ORG 0x0000 ; начальное значение для адресации ;— инициализация стека — LDI R16, 0xdf ; записать в регистр R16 адрес конца оперативной памяти ATtiny2313 OUT 0x3d, R16 ; записать в 0x3d ( SPL ) значение из R16 ; — устанавливаем пин 0 порта D на вывод — LDI R16, 0b00000001 ; поместим в регистр R16 число 1 OUT 0x11, R16 ; загрузим значение из регистра R16 в DDRD ; — включение внутреннего поддягивающего резистора — SBI 0x12, 1 ; подача на пин 1 порта D высокого уровня ; — основной цикл программы ( адрес PORTD = 0x12 (attiny2313,atmega8) ) — Start: SBIS 0x10, 1 ; пропустить следующий команду если кнопка не нажата SBI 0x12, 0 ; подача на пин 0 порта D высокого уровня ; — задержка 1 — ldi r18, 250 ldi r19, 250 L1: dec r19 brne L1 dec r18 brne L1 CBI 0x12, 0 ; подача на пин 0 порта D низкого уровня ; — задержка 2 — ldi r18, 250 ldi r19, 250 L2: dec r19 brne L2 dec r18 brne L2 RJMP Start
Данная программа заработает если её откомпилировать и загрузить в ATtiny2313 методами описанными в предыдущих уроках. Однако можно заметить что обращения к регистрам микроконтроллера осуществляются по их адресам написанным в шеснадцатеричном виде хотя у регистров есть свои буквенные имена по которым обращение к ним было бы более удобным. Для того чтобы реализовать такое более удобное обращение существуют специальные .inc файлы которые можно подключить директивой .INCLUDE. К сожалению те файлы что скачиваются вместе с компилятором avra не подходят для этого компилятора т.к. содержат инструкции которые им не поддерживаются. Если эти инструкции удалить то можно получить урезанный но подходящий файл. Скачать такой можно по ссылке https://yadi.sk/d/QUFvZ5JgAwyYpw. Далее этот файл надо поместить в папку где располагается .asm файл с кодом:
.INCLUDE «tn2313def_for_avra.inc» ; загрузка предопределений .CSEG ; начало сегмента кода .ORG 0x0000 ; начальное значение для адресации ;— инициализация стека — LDI R16, Low(RAMEND) ; записать в регистр R16 адрес конца ОЗУ OUT SPL, R16 ; записать в SPL значение из R16 ; — устанавливаем пин 0 порта D на вывод — LDI R16, 0b00000001 ; поместим в регистр R16 число 1 (0x1) OUT DDRD, R16 ; загрузим значение из регистра R16 в DDRD ; — включение внутреннего поддягивающего резистора — SBI PORTD, 1 ; подача на пин 1 порта D высокого уровня ; — основной цикл программы — Start: SBIS PIND, 1 ; пропустить следующую команду ;если на первом пине порта D высокий уровень SBI PORTD, 0 ; подача на пин 0 порта D высокого уровня ; — задержка 1 — ldi r18, 250 ldi r19, 250 L1: dec r19 brne L1 dec r18 brne L1 CBI PORTD, 0 ; подача на пин 0 порта D низкого уровня ; — задержка 2 — ldi r18, 250 ldi r19, 250 L2: dec r19 brne L2 dec r18 brne L2 RJMP Start
и перед компиляцией в CMD перейти в папку с данными файлами. Сделать это можно командой CD. После этого компилятор не должен выдавать предупреждение о том что он не опознал микроконтроллер т.к. в подключенном файле находиться директива которая указывает ему для какого микроконтроллера написана эта программа.
После подключения данного файла и замены шестнадцатеричных адресов регистров их названиями код программы стал более понятным и удобным! Хотя всё же есть ньюансы которые стоит разяснить. Например Low(RAMEND) — означает что из двухбайтового числа которое теперь называется RAMEND мы возьмем только ту часть которая расположена в младших разрядах (как бы низкую половину возьмем). Low — это такой макрос который берет и выделяет эту половину. Т.к. ATtiny2313 это 8ми битный микроконтроллер и регистры в нем 8ми битные то поместить мы в них можем только 8 бит а адрес м.б. больше 8 ми бит, хотя в данном случае это не так и можно было бы сразу записать это число но для других микроконтроллеров этот макрос пригодиться.
Микроконтроллер и микропроцессор — в чём разница?
В составе разных электронных устройств часто встречаются как микроконтроллеры, так и микропроцессоры. Оба этих компонента берут из памяти команды и по ним выполняют логические и арифметические операции, работая при этом с устройствами ввода/вывода и прочей периферией. Так в чём тогда разница?
Микроконтроллер
Микроконтроллер — (далее МК) это микросхема, предназначенная для программного управления электронными схемами. МК выполняется на одном кристалле. На нём расположено как вычислительное устройство, так и ПЗУ и ОЗУ. Кроме этого, в составе МК чаще всего находятся порты ввода/вывода, таймеры, АЦП, последовательные и параллельные интерфейсы. В некоторых даже можно заметить Wi-Fi-/Bluetooth-модуль и даже поддержку NFC.
Первый патент на микроконтроллер был выдан в 1971 году компании Texas Instruments. Инженеры этой компании предложили размещать на кристалле не только процессор, но и память с устройствами ввода/вывода.
Структурная схема микроконтроллера
Несмотря на то, что всё необходимое для работы микроконтроллера в нём уже есть, иногда они используются в паре с внешними периферийными устройствами. К примеру, когда внутренней ПЗУ не хватает (или она попросту отсутствует), подключают внешнюю. Именно так сделали с микроконтроллерами серии ESP. У ESP8266 встроенной памяти нет вообще, а у ESP32 есть незначительные 448 КБ. Поэтому к ним в корпус (точнее под радиатор) помещается flash-память ёмкостью 1–16 МБ.
Тогда почему бы не сделать какой-нибудь портативный компьютер на основе микроконтроллера? Дело в том, что вычислительной мощности у МК чаще всего достаточно мало. Её хватает на управление например, системой полива, микроволновкой или же каким-нибудь станком.
Например, одна из мощных плат платформы Arduino — Due. Она находится под управлением 32-битного AVR-микроконтроллера AT91SAM3X8E. Его тактовая частота 84 МГц. Постоянной памяти тут 512 КБ, а оперативной — 96 КБ. МК имеет 54 цифровых GPIO (12 из которых с поддержкой ШИМ), 12 аналоговых входов и 2 аналоговых выхода (ЦАП). Тут так же присутствуют различные интерфейсы, такие как UART, SPI, I2C.
Не смотря на такие незначительные характеристики, микроконтроллеры очень популярны. Они используются там, где не требуется большой вычислительной мощности — робототехника, контроллеры теплиц, бытовая техника.
Микропроцессор
С микропроцессором (далее МП) дела обстоят немного иначе. Он содержит в себе арифметико-логическое устройство, блок синхронизации и управления, запоминающие устройство, регистры и шину. То есть МП содержит в себе только то, что непосредственно понадобится для выполнения арифметический и логических операций. Все остальные комплектующие (ОЗУ, ПЗУ, устройства ввода/вывода, интерфейсы) нужно подключать извне.
Структурная схема микропроцессорного устройства
Первые микропроцессоры появились тоже в начале 70-х. Самым популярным на тот момент считался 4004. Это микропроцессор, разработанный компанией Intel и представленный 15 ноября 1971 года. Он имел внушающие на тот период характеристики:
- 2300 транзисторов;
- тактовая частота — 740 кГц;
- разрядность регистров и шины — 4 бита;
- техпроцесс — 10 мкм;
- площадь кристалла: — 12 мм².
К слову, 4004 был выполнен в обычном DIP-16 корпусе. Этот МП является самой популярной микросхемой для коллекционирования. Некоторые экземпляры продаются по 400 $ за штуку. Менее раритетные стоят около 250 $.
Уже через пару лет 8-битные МП позволили создавать первые бытовые микрокомпьютеры.
Естественно, тут преимуществом является то, что к МП можно на выбор подключать разную периферию с разными характеристиками (что не во всех случаях можно на МК). Второе основное отличие микропроцессора от микроконтроллера в том, что МП имеют больше вычислительной мощности. Их не имеет смысла ставить в микроволновки и «умные» лампочки. Микропроцессоры применяют там, где вычислительная мощность МК уже не справляется — игровые приставки, сложные вычислительные устройства и приборы, гаджеты.
Получается, чтобы обеспечить работоспособность микропроцессора, нужно подключить ему хотя бы минимальный набор периферии. Минусы:
- Размер — если в случае МК всё уже находится в одном корпусе, то минимальный набор элементов для работы МП занимает больше места.
- Цена — обычно, вся «сборка» комплектующих для МП выходит гораздо дороже «голых» микроконтроллеров.
Плюсы:
- Производительность — микропроцессоры обладают большей производительностью, чем микроконтроллеры.
- Выбор — в случае МП у вас есть возможность подобрать комплектующие. Это позволит поставить более подходящую под ваши цели периферию.
Применение
Микроконтроллер обладает явной простотой: требуется меньше аппаратного обеспечения, с ним легче работать на программном уровне, да и стоимость начинается с копеек. Но эта простота касается и производительности. Как говорилось выше, микроконтроллер не способен обеспечить высокую производительность наравне с микропроцессорами. Микропроцессоры хоть и требуют внешней коммутации «железа» и относительно МК сложны в работе, но они уже спокойно могут применяться в более сложных устройствах.
Однако иногда в сети появляются умельцы, которые впихивают в микроконтроллер ESP32 DOOM и даже эмулятор NES-игр.
Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.
Перейти к регистрации
типов и применения микроконтроллеров — 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/
Что такое микроконтроллер и как он работает?
Микроконтроллер — это компактная интегральная схема, предназначенная для управления определенной операцией во встроенной системе. Типичный микроконтроллер включает в себя процессор, память и периферийные устройства ввода-вывода (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. Микроконтроллерыдешевле и потребляют меньше энергии, чем микропроцессоры.Микропроцессоры не имеют встроенного ОЗУ, постоянного запоминающего устройства (ПЗУ) или других периферийных устройств на микросхеме, а подключаются к ним своими контактами. Микропроцессор можно считать сердцем компьютерной системы, тогда как микроконтроллер можно считать сердцем встроенной системы.
Выбор подходящего микроконтроллера
При выборе микроконтроллера для проекта необходимо учитывать ряд технологических и бизнес-соображений.
Помимо стоимости, важно учитывать максимальную скорость, объем RAM или ROM, количество или типы контактов ввода-вывода на MCU, а также энергопотребление, ограничения и поддержку разработки.Обязательно задавайте такие вопросы, как:
- Какие аппаратные периферийные устройства требуются?
- Нужны ли внешние коммуникации?
- Какую архитектуру использовать?
- Какие сообщества и ресурсы доступны для микроконтроллера?
- На каком рынке представлен микроконтроллер?
Что такое микроконтроллер? Определяющие характеристики и архитектура общего компонента
В этой статье мы рассмотрим определяющие характеристики этих чрезвычайно популярных микросхем, а затем рассмотрим внутреннюю архитектуру.
Если бы мне пришлось выбрать один навык, который стал бы наиболее ценным дополнением к репертуару любого инженера, это, несомненно, был бы опыт проектирования схем на основе микроконтроллеров.
Микроконтроллер сыграл фундаментальную, я бы даже сказал, доминирующую роль в технологической революции, которая сформировала современную жизнь. Микроконтроллеры — это небольшие, универсальные и недорогие устройства, которые могут быть успешно реализованы и запрограммированы не только опытными инженерами-электриками, но и любителями, студентами и профессионалами из других областей.
Список возможных приложений микроконтроллера настолько велик, что я не решаюсь даже приводить примеры. Недорогие носимые устройства, медицинское оборудование, высококачественная бытовая электроника, надежные промышленные устройства, современные военные и аэрокосмические системы — эти адаптируемые, доступные и удобные в использовании компоненты являются долгожданным дополнением практически к любому электронному продукту.
Этот генератор сигналов произвольной формы — одна из многих печатных плат, которые я разработал на основе 8-битного микроконтроллера.
В этой статье мы рассмотрим определение микроконтроллера и рассмотрим, для какой цели он служит в конструкции.
Что такое микроконтроллер?
Микроконтроллер — это устройство на интегральной схеме (ИС), используемое для управления другими частями электронной системы, обычно через микропроцессор (MPU), память и некоторые периферийные устройства. Эти устройства оптимизированы для встроенных приложений, которые требуют как функциональных возможностей обработки, так и гибкого, отзывчивого взаимодействия с цифровыми, аналоговыми или электромеханическими компонентами.
Наиболее распространенным способом обозначения этой категории интегральных схем является «микроконтроллер», но сокращение «MCU» используется взаимозаменяемо, поскольку оно означает «микроконтроллерный блок». Иногда вы также можете видеть «µC» (где греческая буква mu заменяет «Микро»).
«Микроконтроллер» — удачно выбранное название, поскольку оно подчеркивает определяющие характеристики этой категории продуктов. Приставка «микро» подразумевает малость, а термин «контроллер» здесь подразумевает расширенную способность выполнять функции управления.Как указано выше, эта функциональность является результатом объединения цифрового процессора и цифровой памяти с дополнительным оборудованием, которое специально разработано для помощи микроконтроллеру во взаимодействии с другими компонентами.
Микроконтроллеры и микропроцессоры
Люди иногда используют термин «микропроцессор» или «MPU», когда говорят о микроконтроллере, но эти два устройства не обязательно являются одинаковыми. И микропроцессоры, и микроконтроллеры функционируют как небольшие высокоинтегрированные компьютерные системы, но они могут служить разным целям.
Термин «процессор» используется для обозначения системы, состоящей из центрального процессора и (необязательно) некоторой памяти; Микропроцессор — это устройство, которое реализует все функции процессора в одной интегральной схеме. В микроконтроллерах, напротив, больше внимания уделяется дополнительным аппаратным модулям, которые позволяют устройству управлять системой, а не просто выполнять инструкции и сохранять данные.
Схема ниже иллюстрирует эту концепцию.
В целом, взаимозаменяемость терминов «микропроцессор» и «микроконтроллер» не является большой проблемой, когда мы говорим неформально или когда мы пытаемся избежать повторения одного и того же слова снова и снова.Однако в контексте технического обсуждения важно сохранять различие между этими двумя концепциями.
Микроконтроллеры и цифровые сигнальные процессоры (DSP)
Цифровой сигнальный процессор (или «DSP») — это микропроцессор, оптимизированный для сложных вычислительных задач, таких как цифровая фильтрация, математический анализ сигналов в реальном времени и сжатие данных. Сложный микроконтроллер может работать как замена цифрового сигнального процессора, но он по-прежнему считается микроконтроллером, если значительная часть его внутренних схем предназначена для управления, мониторинга и связи с окружающей системой.
Элементы микроконтроллера
Микроконтроллер состоит из центрального процессора (ЦП), энергонезависимой памяти, энергозависимой памяти, периферийных устройств и вспомогательных схем.
Центральный процессор
CPU выполняет арифметические операции, управляет потоком данных и генерирует управляющие сигналы в соответствии с последовательностью инструкций, созданной программистом. Чрезвычайно сложная схема, необходимая для работы ЦП, не видна разработчику.Фактически, благодаря интегрированным средам разработки и языкам высокого уровня, таким как C, написание кода для микроконтроллеров часто является довольно простой задачей.
Память
Энергонезависимая память используется для хранения программы микроконтроллера, то есть (часто очень длинного) списка инструкций на машинном языке, которые точно сообщают процессору, что делать. Обычно вы увидите слово «Flash» (которое относится к определенной форме энергонезависимого хранилища данных) вместо «энергонезависимая память».”
Энергозависимая память (т.е. RAM) используется для временного хранения данных. Эти данные теряются, когда микроконтроллер теряет питание. Внутренние регистры также обеспечивают временное хранение данных, но мы не рассматриваем их как отдельный функциональный блок, поскольку они интегрированы в ЦП.
Периферийные устройства
Мы используем слово «периферийное» для описания аппаратных модулей, которые помогают микроконтроллеру взаимодействовать с внешней системой. Следующие пункты списка идентифицируют различные категории периферийных устройств и предоставляют примеры.
- Преобразователи данных: аналого-цифровой преобразователь, цифро-аналоговый преобразователь, генератор опорного напряжения
На этом графике показаны данные трехосного акселерометра, которые я оцифровал с помощью встроенного АЦП микроконтроллера.
- Генерация часов: внутренний генератор , схема кварцевого привода, фазовая автоподстройка частоты
- Синхронизация: таймер общего назначения, часы реального времени, счетчик внешних событий, импульсная модуляция
- Обработка аналоговых сигналов: операционный усилитель , аналоговый компаратор
- Вход / выход: Схема цифрового входа и выхода общего назначения, параллельный интерфейс памяти
- Последовательная связь: UART, SPI, I2C, USB
Мой коллега Марк Хьюз разработал эту сенсорную подсистему на основе 16-разрядного микроконтроллера.
Опорная схема
Микроконтроллерывключают в себя множество функциональных блоков, которые нельзя классифицировать как периферийные устройства, поскольку их основная цель не заключается в управлении, мониторинге или взаимодействии с внешними компонентами. Тем не менее они очень важны — они поддерживают внутреннюю работу устройства, упрощают внедрение и улучшают процесс разработки.
- Схема отладки позволяет разработчику тщательно контролировать микроконтроллер, когда он выполняет инструкции.Это важный, а иногда и незаменимый метод отслеживания ошибок и оптимизации производительности прошивки.
- Прерывания — чрезвычайно ценный аспект функциональности микроконтроллера. Прерывания генерируются внешними или внутренними аппаратными событиями, и они заставляют процессор немедленно реагировать на эти события, выполняя определенную группу инструкций.
Программы микроконтроллера, написанные на языке C, сгруппированы по функциям.Прерывание приводит к тому, что выполнение программы «переносится» в подпрограмму обслуживания прерывания (ISR), и после того, как ISR завершает свои задачи, процессор возвращается к функции, которая выполнялась, когда произошло прерывание.
- Модуль тактовой генерации можно рассматривать как периферийное устройство, если он предназначен для выработки сигналов, которые будут использоваться вне микросхемы, но во многих случаях основной целью внутреннего генератора микроконтроллера является обеспечение тактового сигнала для ЦП. и периферийные устройства.Внутренние генераторы часто имеют низкую точность, но в приложениях, допускающих такую низкую точность, они являются удобным и эффективным способом упростить конструкцию и сэкономить место на плате. Микроконтроллеры
- могут включать в себя различные типы схем питания . Интегрированные регуляторы напряжения позволяют генерировать на кристалле требуемые напряжения питания, модули управления питанием могут использоваться для значительного снижения потребления тока устройством в неактивных состояниях, а модули супервизора могут переводить процессор в стабильное состояние сброса, когда напряжение питания отсутствует. Достаточно высокий, чтобы гарантировать надежную работу.
Следующие статьи
В этой статье мы определили микроконтроллер как устройство, которое состоит из небольшого эффективного ядра процессора, объединенного с памятью программ, памятью данных, периферийными устройствами и различными формами схем поддержки и отладки.
В следующей части серии «Введение в микроконтроллеры» мы рассмотрим, как выбрать правильный микроконтроллер. Затем мы перейдем к чтению таблицы данных микроконтроллера.
Если у вас есть какие-либо темы, которые вы хотели бы осветить в будущих статьях, сообщите нам об этом в комментариях ниже.
Микроконтроллер серии
Вы можете перейти к оставшейся части серии «Введение в микроконтроллеры» здесь:
Дополнительные ресурсы
Дополнительные ресурсы о микроконтроллерах см. В других статьях ниже:
Что подходит для вашего нового продукта?
Узнайте, как выбрать лучший микроконтроллер или микропроцессор для вашего конкретного электронного продукта.
Практически любой новый электронный продукт требует каких-то «мозгов».Однако вопрос в том, какой тип мозга действительно нужен вашему продукту? Есть два варианта: микроконтроллер (MCU) или микропроцессор (MPU).
Как следует из названия, микроконтроллер отлично справляется с «управлением» другими аппаратными компонентами (датчиками, переключателями, двигателями и т. Д.), Тогда как микропроцессор отлично справляется с «обработкой» больших объемов данных очень быстро.
При этом микроконтроллеры также могут обрабатывать данные, а микропроцессоры могут управлять другими устройствами.Но каждый выделяется в одной области.
Выбор правильного варианта — один из самых важных первых шагов в разработке вашего нового электронного продукта.
Микроконтроллер содержит центральный процессор (ЦП), память и периферийные устройства, встроенные в одну микросхему. Микроконтроллер — это компьютерный чип с высокой степенью интеграции, предназначенный в основном для автономной работы без необходимости использования внешних вспомогательных микросхем.
Центральный процессор внутри микроконтроллера по сути такой же, как микропроцессор.По сути, микропроцессор — это просто ЦП. С другой стороны, MCU включает в себя ЦП плюс память и периферийные устройства, так что:
Микропроцессор (MPU) = CPU
Микроконтроллер (MCU) = ЦП + память + периферийные устройства
Первое правило, которое следует запомнить: по возможности используйте микроконтроллер! Рассматривайте микропроцессор только в том случае, если он абсолютно необходим. Я считаю, что, вероятно, 90% представленных мне идей продуктов можно лучше всего реализовать с помощью микроконтроллера.
Только около 10% продуктов действительно достаточно сложны, чтобы требовать более быстрого микропроцессора.
Я рекомендую подходить к этому решению, предполагая, что ваш продукт может использовать микроконтроллер, пока вы не докажете обратное.
Хотя будут некоторые приложения, которые лучше всего обслуживаются как с микроконтроллером, так и с микропроцессором. Например, продвинутый робот с искусственным интеллектом, распознаванием лиц, обработкой речи и сложным графическим пользовательским интерфейсом потребует быстрого микропроцессора.
С другой стороны, робот также должен иметь датчики и двигатели. Эти функции лучше всего контролируются микроконтроллером отдельно от микропроцессора ядра. Микроконтроллер будет действовать как подсистема, которая взаимодействует с микропроцессором.
Arduino / Raspberry Pi
Если у вас уже есть прототип Proof-of-Concept (POC) на базе Arduino, то ваш выбор намного проще.
В основе Arduino лежит микроконтроллер, причем довольно простой.Если вы смогли создать прототип своего продукта с помощью Arduino, то микроконтроллер, вероятно, будет правильным выбором для производства.
Рисунок 1. Если вы уже создали прототип Proof-of-Concept на базе Arduino или Raspberry Pi, тогда ваш выбор значительно упростится.
Если, с другой стороны, вы создали свой прототип POC с помощью набора для разработки микропроцессора, такого как Raspberry Pi, то ваш выбор не совсем ясен. Я видел большое количество проектов, построенных на Raspberry Pi, которые на самом деле было бы проще создать с помощью Arduino.
Итак, то, что вы использовали Raspberry Pi, не обязательно означает, что вашему производственному продукту требуется такой высокоскоростной процессор.
| Элемент | Предпочтительное решение |
| Bluetooth | Микроконтроллер |
| Wi-Fi | MCU / MPU |
| Сотовая связь | Микроконтроллер |
| Датчики | Микроконтроллер |
| GPS | Микроконтроллер |
| Управление двигателем / соленоидом | Микроконтроллер |
| SD-камера | Микроконтроллер |
| Камера HD 720p | MCU / MPU |
| Камера HD 1080 | Микропроцессор |
| AMOLED-дисплей | MPU или STM32F69 MCU |
| USB 3.0 | Микропроцессор |
| Обработка в реальном времени | Микроконтроллер |
| Продолжительное время автономной работы | Микроконтроллер |
| Расширенная обработка данных | Микропроцессор |
| Графические интерфейсы пользователя | MCU или MPU |
| 3 rd — подключение сторонней сети | Микропроцессор |
Таблица 1 — Предпочтительное решение для различных функций / возможностей
Видео
Для видео стандартной четкости с этой задачей обычно справляется микроконтроллер.Фактически, быстрый микроконтроллер прекрасно справляется даже с видео высокой четкости 720p. Однако, как только вы превысите 720p и перейдете к 1080, становится необходимо использовать более продвинутый микропроцессор.
Когда дело доходит до видео, решение о том, использовать ли микроконтроллер или микропроцессор, часто сводится к доступным интерфейсам связи, а не обязательно к скорости обработки.
Существует множество протоколов, которые используются для взаимодействия камер и дисплеев с мозгом вашего продукта.Многие из них, но не все, поддерживаются микроконтроллерами.
Для камер с более низким разрешением приемлемым вариантом является относительно простой последовательный протокол, такой как SPI. Однако для камер с более высоким разрешением становится необходимым использовать параллельный интерфейс для обеспечения необходимой скорости передачи данных.
Параллельный интерфейс камеры может прекрасно использоваться с большинством микроконтроллеров с разрешением до 720p. Как только вы превысите разрешение камеры 720p, скорость передачи данных должна быть намного выше.
Большинство камер с разрешением выше 720p используют высокоскоростной последовательный видеоинтерфейс, известный как MIPI (на самом деле это название организации, которая наблюдает за этим стандартом).
ПРИМЕЧАНИЕ: Обязательно загрузите бесплатное руководство в формате PDF 15 шагов для разработки вашего нового электронного оборудования .
В частности, камеры используют интерфейс, известный как MIPI-CSI, а дисплеи используют протокол интерфейса, известный как MIPI-DSI. Эти два протокола используются практически во всех современных смартфонах для связи между дисплеем и камерами.
По этой причине существует множество дисплеев и камер, доступных только с интерфейсом MIPI.
Рис. 2. Для подключения к камере используется несколько протоколов связи. Однако интерфейс MIPI-CSI является наиболее распространенным вариантом для камер более высокого класса.
Еще пару лет назад интерфейсы MIPI встречались только в области высокоскоростных микропроцессоров (иногда также называемых процессорами приложений). Если вы разрабатывали продукт, в котором используется усовершенствованный AMOLED-дисплей с высоким разрешением, вам пришлось бы использовать микропроцессор.
К счастью, ST Microelectronics изменила все это с помощью своего микроконтроллера STM32F469 (серия STM32 — в целом моя любимая линейка микроконтроллеров). STM32F469 основан на невероятно быстром 32-битном процессоре ARM Cortex-M4. STM32F469 — первый в мире микроконтроллер с интерфейсом MIPI-DSI.
Итак, если вашему продукту требуется расширенный дисплей с интерфейсом MIPI-DSI, теперь вы можете использовать микроконтроллер. К сожалению, STM32F469 не поддерживает интерфейс MIPI-CSI, поэтому выбор HD-камер по-прежнему ограничен.
Если вам, например, требуется камера 1080, вам все равно потребуется микропроцессор, а не микроконтроллер.
USB 3.0
Хотите включить в свой продукт новый безумно быстрый стандарт USB 3.0? Если это так, вам нужно будет установить в него действительно быстрый микропроцессор. USB 2.0 имеет максимальную теоретическую скорость 480 Мбит / с (60 МБ / с).
Большинство более медленных микроконтроллеров поддерживают только полноскоростной режим USB 2.0, скорость которого составляет всего 12 Мбит / с.Существует множество микроконтроллеров более высокого уровня, которые могут поддерживать высокоскоростной режим USB 2.0 со скоростью до 480 Мбит / с.
Новый стандарт USB 3.0 превосходит эти характеристики с максимальной пропускной способностью примерно в 10 раз быстрее, чем USB 2.0, со скоростью 5 Гбит / с (640 МБ / с).
Нет доступных микроконтроллеров, способных обрабатывать такую невероятно высокую скорость передачи данных. Если вы хотите использовать USB 3.0, вам нужно использовать гораздо более быстрый микропроцессор.
Сверхбыстрая обработка
Если вашему продукту требуется быстрая обработка сложных данных, скорее всего, потребуется микропроцессор.Один из способов обойти это требование — переложить ваши требования к обработке на смартфон.
Например, вы потенциально можете использовать микроконтроллер в своем устройстве для сбора необходимых данных. Затем перенесите эти данные в мобильное приложение для выполнения любых дополнительных требований к обработке.
| MCU / MPU | Макс. тактовая частота (МГц) | Бенчмарк (DMIPS) |
| Arduino Uno | 16 | 5.2 |
| STM32F0 (Cortex M0) | 48 | 38 |
| STM32F4 (Cortex M4) | 180 | 225 |
| STM32F7 (Cortex M7) | 216 | 462 |
| STM32H7 (Cortex M7) | 400 | 856 |
| Raspberry Pi 3 | 1,200 | 2,760 |
Таблица 2 — Сравнение скоростей для различных микроконтроллеров
Очевидно, что процессор в вашем смартфоне работает очень быстро.Это может быть простой уловкой для некоторых приложений, которая позволит вам обойтись более простым и недорогим микроконтроллером, который не разряжает вашу батарею так быстро.
Графические интерфейсы пользователя (GUI)
Для простого графического интерфейса вполне возможно использование микроконтроллера. Однако по мере увеличения сложности и разрешения этого графического интерфейса возрастают и потребности в скорости обработки.
Рисунок 3 — Расширенный графический интерфейс пользователя (GUI) может потребовать значительной скорости обработки.
Использование микроконтроллера более высокого уровня позволяет разрабатывать довольно сложные пользовательские интерфейсы. Например, микроконтроллер STM32F469 включает аппаратный графический ускоритель, позволяющий использовать его для создания очень сложных графических пользовательских интерфейсов.
Однако может наступить момент, когда возникнет необходимость использовать еще более быстрый микропроцессор для действительно продвинутых пользовательских интерфейсов с очень высоким разрешением.
Срок службы батареи
Когда дело доходит до продления срока службы батареи, микроконтроллер — явный победитель.Более низкие скорости микроконтроллера приводят к меньшему потреблению тока.
Например, Arduino Uno потребляет максимальный ток около 45 мА, тогда как Raspberry Pi 3 потребляет около 580 мА.
Рисунок 4 — Микропроцессоры потребляют значительно больше энергии, чем микроконтроллеры. Поэтому, если срок службы батареи или небольшой размер имеют решающее значение для вашего продукта, микроконтроллер, вероятно, станет лучшим выбором.
Однако большинство микроконтроллеров также реализуют различные режимы пониженного энергопотребления, которые позволяют переходить в режим ожидания или спящий режим.Потребление тока может упасть с десятков или сотен миллиампер при работе до нескольких микроампер в режиме ожидания. Для пробуждения микроконтроллера можно использовать внешнее прерывание.
Если срок службы батареи или сверхмалый размер имеют решающее значение для вашего продукта, вы, скорее всего, захотите использовать микроконтроллер. Вот почему во многих умных часах используются микроконтроллеры.
Память
Если вам нужен доступ к большим объемам действительно быстрой памяти, то микропроцессор, вероятно, станет вашим лучшим вариантом.Микроконтроллер уже встроен в память, поэтому выбор памяти меньше, чем у микропроцессора.
Максимальный объем флэш-памяти, доступной для большинства микроконтроллеров, обычно составляет около 2 МБ. Однако в систему микроконтроллера можно включить дополнительную внешнюю флэш-память.
Эта память обычно взаимодействует с микроконтроллером через довольно быстрый последовательный интерфейс SPI (более быстрые микроконтроллеры даже поддерживают quad-SPI).
Требуется много высокоскоростной оперативной памяти? Тогда вам, скорее всего, понадобится микропроцессор.Добавление высокоскоростной памяти DDR RAM в микроконтроллерную систему нецелесообразно, и это является областью микропроцессора.
Операционная система
Одно из основных различий между MCU и MPU заключается в том, что для микропроцессора требуется операционная система, например Windows, Android или Linux. С другой стороны, микроконтроллер может запускать прямую прошивку без использования операционной системы.
Это не означает, что микроконтроллер не может запускать операционную систему, но выбор более ограничен, обычно это какая-то операционная система реального времени (RTOS).Во-первых, операционная система требует довольно много ресурсов процессора и памяти.
Например, запуск полной операционной системы, такой как Windows, Android или Linux, потребует 300+ DMIPS накладных расходов на скорость процессора.
Принимая во внимание, что для ОСРВ может потребоваться всего около 50 DMIPS скорости обработки и несколько килобайт памяти для ядра ОС.
Заключение
Если ваш продукт должен включать HD-видео с разрешением выше 720p, вам определенно понадобится микропроцессор.
То же самое верно, если вы хотите иметь возможность использовать максимальные скорости передачи, возможные с новым стандартом USB 3.0.
Наконец, если вам нужно обработать большой объем данных или сложные данные, вам понадобится MPU.
Для любого другого типа продукта и функции микроконтроллер — правильный ответ. Диапазон производительности микроконтроллеров довольно велик, и у вас под рукой огромный выбор.
Наконец, не забудьте загрузить бесплатно PDF : Ultimate Guide to Develop and Sell Your New Electronic Hardware Product .Вы также будете получать мой еженедельный информационный бюллетень, в котором я делюсь премиальным контентом, недоступным в моем блоге.Другой контент, который вам может понравиться:
3,7 3 голоса
Рейтинг статьи
Как работают микроконтроллеры? | ОРЕЛ
Микроконтроллеры. Посмотрите на мгновение вокруг себя, за пределы экрана вашего ПК. У вас поблизости есть пульт дистанционного управления? Может, телевизор в углу вашей комнаты? Микроволновая печь на кухне и припаркованный автомобиль? Вы можете этого не осознавать, но все эти объекты, не похожие на компьютер, с которого вы читаете этот пост в блоге, имеют внутри компьютер.Ваше взаимодействие с компьютерами больше не начинается и не прекращается между тем, как вы садитесь за рабочий стол в течение дня, и тем, когда вы уезжаете домой. Практически при каждом взаимодействии с этим миром, от ежедневной поездки на автомобиле до приготовления обеда, используется компьютер, который умещается в ладони.
Дорогая, я уменьшил компьютер!
Так что же это за суперкомпьютер? Это микроконтроллер, также называемый MCU, и он точно такой же, как компьютер, который вы используете сейчас, с некоторыми небольшими отличиями.Компьютер, который вы знаете, является обычным компьютером. Он может выполнять неограниченное количество задач в зависимости от использования. Однако микроконтроллер — это то, что мы называем специализированным компьютером. Он отлично справляется с одной задачей, не беспокоясь ни о чем другом.
Микроконтроллерам не нужно беспокоиться о картине в целом; они сосредоточены на очень конкретной задаче.
Возьмем, к примеру, вашу машину, стоящую на улице. Скорее всего, внутри него находится микроконтроллер, который будет считывать входные данные с датчиков кислорода и детонации, когда ваша машина работает, а затем контролировать такие вещи, как смесь вашего топлива и время зажигания ваших свечей зажигания.А как насчет микроконтроллера в вашем телевизоре? Он ожидает входов от вашего пульта дистанционного управления, а затем показывает вам различные выходы в виде различных телевизионных каналов и настроек громкости.
Эти два примера — лишь некоторые из неограниченного числа применений микроконтроллеров. Список может быть исчерпывающим, и в основном все, что требует какого-либо цифрового ввода и вывода, скорее всего, использует микроконтроллер за кулисами.
Микроконтроллеры и компьютеры
Мы уже говорили, что микроконтроллер точно такой же, как компьютер, которым вы сейчас пользуетесь, только меньше по размеру.Но что именно это означает? На первый взгляд, все компьютеры выглядят по-разному, с разными размерами мониторов, клавиатур и даже с внутренними характеристиками. Но именно аппаратное обеспечение, работающее внутри компьютера, показывает нам, сколько у него общего с микроконтроллером, в том числе:
- Способ обработки вещей — Микроконтроллеру нужен способ выполнения программ и задач через центральный процессор (ЦП), как и ваш компьютер.
- Способ хранения вещей — Микроконтроллеру также необходим способ загрузки программ и хранения данных с помощью оперативной памяти (RAM).
- Способ взаимодействия — Вам также нужен способ связи с микроконтроллером, и вместо физической клавиатуры и мыши вы можете использовать светодиоды, реле, датчики и другие устройства.
- Способ не сбиться с пути — Микроконтроллеру нужен способ контролировать скорость своего процессора, и он делает это с помощью генератора или часов, которые действуют как двигатель для управления вашим MCU.
Конечно, размер всех этих различных аппаратных средств намного меньше, чем у традиционного компьютера.Я могу открыть корпус на своем настольном компьютере и вытащить оперативную память и процессор, но в микроконтроллере все уложено в один маленький черный ящик. Именно из-за этого размера микроконтроллеры встраиваются в более крупные устройства.
Видите черную прямоугольную рамку на этой Arduino? Это микроконтроллер ATmega 328. (Источник изображения)
Возьмем для примера стиральную машину. Существует масса механических частей, составляющих физическую структуру этого устройства, и в этот механический мир встроен микроконтроллер, выполняющий всю цифровую работу.В этом случае встроенный микроконтроллер позволит вам управлять определенными функциями и действиями стиральной машины.
Например, в моей стиральной машине есть функция, которая автоматически определяет необходимый уровень воды в зависимости от количества вещей в ней. В этом процессе, вероятно, используется микроконтроллер для определения глубины одежды, а также глубины воды, добавляемой в резервуар. Когда уровень воды достигнет уровня одежды, микроконтроллер скажет контроллеру мотора отключить поток воды и начать цикл стирки.
Малый размер, небольшие затраты
Использование микроконтроллера в определенных приложениях, таких как моя стиральная машина, вместо традиционной компьютерной системы дает некоторые преимущества, а именно:
- Экономия денег — За счет интеграции памяти, вычислительной мощности и периферийных устройств на одном кристалле вы получаете готовую печатную плату, для которой требуется гораздо меньше собираемых микросхем, что помогает сэкономить труд и общие затраты.
- Платы меньшего размера — Поскольку вы можете разместить все необходимое для работы компьютера на одной микросхеме, вы также можете значительно уменьшить объем места и количество проводов, необходимых на печатной плате, которая могла быть занята кучей отдельных компонентов .
- Специализированные задачи — Поскольку микроконтроллеры работают только со специализированными приложениями, у вас есть преимущество в том, что для работы этих микроконтроллеров не требуется максимальная мощность или производительность памяти, что делает вычисления доступными за небольшую часть стоимости традиционного компьютера.
Мы также не можем забыть, что многие из этих микроконтроллеров предназначены для работы в довольно агрессивных средах. Например, микроконтроллер, работающий в вашем автомобиле, вероятно, будет иметь дело с температурами от -30 ° F зимой на Аляске до чего-то такого же, как знойная жара в 134 ° F в Долине Смерти в разгар лета.
Кристалл 16-битного микроконтроллера производства Texas Instruments, посмотрите на все эти плотно упакованные следы! (Источник изображения)
Микроконтроллеры в действии
Как микроконтроллер начинает работать, преобразуя входные данные, такие как температура и свет, в какое-то полезное действие? Как и в случае с традиционным компьютером, микроконтроллер использует несколько функций для выполнения своих вычислительных действий, в том числе:
RAM
Как и в компьютере, ОЗУ будет использоваться в микроконтроллере для хранения данных и других результатов, которые создаются во время работы вашего микроконтроллера.А когда вы отключаете питание микроконтроллера, память в вашей оперативной памяти стирается.
В ОЗУ микроконтроллера также есть так называемый регистр специальных функций (SFR). Эта память предварительно настроена производителем вашего микроконтроллера и управляет поведением определенных схем, таких как аналого-цифровой преобразователь, последовательная связь и многое другое.
ПЗУ
Специализированная задача, которую микроконтроллер выполняет в форме программы, будет храниться в его постоянной памяти и, как правило, никогда не изменится.ПЗУ — это то, что позволяет микроконтроллеру в вашем телевизоре всегда знать, что нажатие кнопки переключения канала на пульте дистанционного управления должно изменить то, что отображается на вашем экране.
Размер программы, которая может храниться в ПЗУ, полностью зависит от ее размера. Некоторые микроконтроллеры поставляются со встроенным ПЗУ, в то время как другие могут принимать ПЗУ, добавленное в качестве внешнего чипа. Это зависит от каждого микроконтроллера.
Счетчик программ
Еще одна функция, встроенная в микроконтроллер, — это счетчик программ, который позволяет вашему мини-компьютеру выполнять программу на основе серии запрограммированных инструкций.Этот счетчик увеличивается на 1 каждый раз, когда выполняется строка инструкций, что помогает ему отслеживать свое место в вашей строке кода.
Входы и выходы
В отличие от вашего компьютера, с которым вы, скорее всего, будете взаимодействовать с помощью клавиатуры и мыши, у большинства микроконтроллеров есть другие способы взаимодействия с ними людей. Типичные устройства ввода и вывода на микроконтроллерах могут включать переключатели, светодиодные дисплеи и даже датчики, которые могут измерять температуру, влажность, уровень освещенности и т. Д.
Вы можете прикрепить что-то вроде этого фоторезистора к макету, а затем подключить его к микроконтроллеру для измерения уровня освещенности. (Источник изображения)
Большинство встроенных систем, с которыми вы столкнетесь в дикой природе, не имеют клавиатуры или экрана, с которыми вы можете напрямую взаимодействовать, потому что они не предназначены для взаимодействия человека с компьютером, а только для взаимодействия между машиной. . Из-за этого микроконтроллеры будут иметь до дюжины универсальных выводов ввода / вывода или GPIO, которые можно настроить для различных устройств ввода и вывода.
Некоторые контакты GPIO на Raspberry PI, которые позволяют ему взаимодействовать с нашим физическим миром. (Источник изображения)
Например, у вас может быть один контакт микроконтроллера, настроенный как вход, который действует как датчик температуры. Другой вывод может быть настроен как выход и подключен к термостату, который включает обогреватель или кондиционер в зависимости от определенного диапазона входных температур, который вы запрограммировали. Как видите, эта динамика ввода и вывода происходит исключительно от машины к машине, не требуя прямого взаимодействия с человеком каждый раз, когда она принимает решение.
Работа в реальном времени
Микроконтроллерытакже могут в реальном времени реагировать на события при запуске в более крупной встроенной системе. Взять, к примеру, нашу стиральную машину. Когда происходит событие, сигнализирующее о том, что уровень воды достиг требуемой высоты, это вызывает то, что называется прерыванием. Это прерывание отправит сигнал процессору в вашем микроконтроллере, чтобы прекратить выполнение его текущего действия, которое должно было бы остановить поток воды.
Этот процесс изменения действий микроконтроллера «на лету» по мере прохождения определенной последовательности называется процедурой обслуживания прерывания или ISR. Эти ISR могут быть разных форм и размеров, и на самом деле это просто зависит от устройства, на котором используется микроконтроллер. Вы обнаружите, что ISR используются для таких событий, как переполнение внутреннего таймера, завершение аналого-цифрового преобразования или даже запуск серии событий при нажатии кнопки.
Организация микроконтроллеров
При работе с микроконтроллерами над собственными проектами электроники вы обнаружите, что они разбиты на несколько категорий.Все эти категории основаны на нескольких переменных, включая количество бит, объем и тип памяти, тип набора команд и используемую архитектуру памяти. Вот несколько примеров:
- 8051 Микроконтроллеры — Эта категория была впервые произведена в 1985 году корпорацией Intel и остается наиболее популярным выбором как для любителей, так и для профессионалов и включает в себя различные возможности RAM и ROM.
- Контроллер периферийного интерфейса (PIC) Микроконтроллеры — Эта категория очень популярна среди любителей и промышленников и известна своей доступностью, низкой стоимостью и 3 вариантами архитектуры — 8-битной, 16-битной и 32-битной.
- Микроконтроллеры AVR — Эта категория основана на гарвардской 8-битной архитектуре и была изобретена в 1966 году компанией Atmel, а также является одним из первых микроконтроллеров, использующих встроенную флэш-память для хранения программ.
- ARM Микроконтроллеры — Эта категория включает 32-битную архитектуру и специально разработана для таких микроконтроллеров, как ваш смартфон, что делает ее одной из самых мощных категорий микроконтроллеров, но также и самой сложной в использовании.
После прочтения этих категорий вы можете спросить, как узнать, какой микроконтроллер выбрать для вашего собственного проекта? Этот процесс выбора требует рассмотрения ряда критериев и включает в себя такие вещи, как знание того, с каким оборудованием вам нужно взаимодействовать, сколько памяти вам нужно, какая архитектура вам нужна и сколько вы готовы заплатить. Все эти и многие другие соображения суммированы в сообществе ARM в его сообщении в блоге «10 шагов к выбору микроконтроллера».
На ладони
Микроконтроллеры повсюду, они служат невидимыми компьютерами в наш век цифровой электроники и неустанно работают за кулисами во всех сферах нашей жизни. Можете ли вы сосчитать все устройства в вашем непосредственном окружении, на которые вы полагаетесь, которые могут иметь внутри микроконтроллер? Вы можете быть удивлены тем, что найдете. Эти компьютеры открыли мир возможностей для нового взаимодействия и интеллекта в обычных и повседневных объектах, таких как стиральные машины, пульты дистанционного управления, электроинструменты, игрушки и многое другое.Без микроконтроллеров мир, который мы знаем сегодня, был бы невозможен.
Хотите работать с микроконтроллером в своем собственном электронном проекте? Autodesk EAGLE включает в себя массу готовых к использованию библиотек микроконтроллеров совершенно бесплатно! Попробуйте Autodesk EAGLE бесплатно сегодня, чтобы начать работу.
Что такое микроконтроллер? Взгляд внутрь микроконтроллера | Arrow.com
Микроконтроллеры есть повсюду, будь то за рулем машины, на компьютере, читающем это (или на смартфоне / планшете), или во время приготовления чашки кофе на кофемашине.Благодаря быстрому развитию Интернета вещей и постоянному сбору данных микроконтроллеры являются огромной частью современного мира.
Что такое микроконтроллер?
Микроконтроллер (иногда называемый MCU или Microcontroller Unit) — это отдельная интегральная схема (IC), которая обычно используется для определенного приложения и предназначена для реализации определенных задач. Продукты и устройства, которые должны автоматически контролироваться в определенных ситуациях, такие как бытовые приборы, электроинструменты, системы управления автомобильными двигателями и компьютеры, являются отличными примерами, но микроконтроллеры достигают гораздо большего, чем просто эти приложения.
По сути, микроконтроллер собирает ввод, обрабатывает эту информацию и выводит определенное действие на основе собранной информации. Микроконтроллеры обычно работают на более низких скоростях, в диапазоне от 1 МГц до 200 МГц, и должны быть спроектированы так, чтобы потреблять меньше энергии, поскольку они встроены в другие устройства, которые могут иметь большее энергопотребление в других областях.
Внутри микроконтроллера: основные компоненты
Микроконтроллер можно рассматривать как маленький компьютер, и это из-за основных компонентов внутри него; центральный процессор (ЦП), оперативная память (ОЗУ), флэш-память, интерфейс последовательной шины, порты ввода / вывода (порты ввода-вывода) и во многих случаях электрически стираемые программируемые только для чтения Память (EEPROM).На рисунке 1 показана большая схема основных частей, а также других частей микроконтроллера. Давайте углубимся в каждый из этих компонентов и посмотрим, как они работают внутри микроконтроллера.
Рисунок 1: Части микроконтроллера. (Источник: Max Embedded)
Конструкция микроконтроллера CPU
ЦП, иногда называемый процессором или микропроцессором, контролирует все получаемые инструкции / поток данных. Вы можете думать об этом как о мозге системы, который обрабатывает все входящие данные и выполняет необходимые инструкции.Его двумя основными компонентами являются арифметико-логический блок (ALU), который выполняет арифметические и логические операции, и блок управления (CU), который обрабатывает все инструкции процессора. На рисунке 2 показан обычный «машинный цикл», который проходит ЦП.
Рисунок 2: Типичный машинный цикл, который выполняет ЦП. (Источник: Computer Hope)
RAM микроконтроллера
ОЗУ — это компонент, который временно хранит данные, и к нему можно быстро получить доступ.Он обеспечивает быстрый доступ для чтения и записи к устройству хранения. Это отличается от большинства других воспоминаний, поскольку для извлечения данных требуется больше времени, поскольку данные недоступны. Вы можете видеть это как ОЗУ, имеющее доступ к поверхности данных — легко доступное, — но все, что касается более глубокого погружения, потребует другого типа памяти. ОЗУ улучшает общую производительность системы, поскольку позволяет микроконтроллеру одновременно работать с большим количеством информации. Поскольку оперативная память — это временные данные, ее содержимое всегда стирается при выключении микроконтроллера.
Использование флэш-памяти в микроконтроллерах
Флэш-память — это тип энергонезависимой памяти, которая, в отличие от ОЗУ, сохраняет данные в течение длительного периода, даже если микроконтроллер выключен. Это сохраняет сохраненную программу, которую вы могли загрузить в микроконтроллер. Флэш-память записывает в «блок» или «сектор» за раз, поэтому, если вам нужно просто перезаписать один байт, во флэш-памяти потребуется перезаписать весь блок, в котором находится байт, что может быстрее изнашиваться. .
Что такое EEPROM в микроконтроллерах?
EEPROM похожа на флэш-память, являясь энергонезависимой памятью и сохраняя свои данные даже после выключения.Разница в том, что в то время как флэш-память перезаписывает «блок» байтов, EEPROM может перезаписать любой конкретный байт в любое время. Это продлевает срок службы EEPROM по сравнению с флэш-памятью, но также означает, что она дороже.
Интерфейс последовательной шины
Интерфейс последовательной шины — это последовательная связь в микроконтроллере, отправляющая данные по одному биту за раз. С платами микроконтроллера он соединяет ИС с сигнальными дорожками на печатной плате (PCB). Что касается микросхем, они используют последовательную шину для передачи данных, чтобы уменьшить количество контактов в корпусе, что делает их более рентабельными.Примерами последовательных шин в ИС являются SPI или I2C.
Порты ввода-вывода микроконтроллера
Порты ввода-вывода — это то, что микроконтроллер использует для подключения к реальным приложениям. Входы получают изменения в реальном мире, от измерения температуры до обнаружения движения, нажатия кнопок и многого другого. Затем ввод поступает в ЦП и решает, что делать с этой информацией. Когда пришло время выполнить определенную команду на основе определенного значения на входе, он отправляет сигнал на выходные порты, где он может варьироваться от простого выключения светодиодной лампы до запуска двигателя для определенной части и многого другого. .На рисунке 3 показаны некоторые общие компоненты ввода и вывода.
Рисунок 3: Общие компоненты входов и выходов, которые используются для микроконтроллера. (Источник: Marshall Ball)
Посмотреть похожие продукты
Посмотреть похожие продукты
Посмотреть похожие продукты
Посмотреть похожие продукты
Надеюсь, это даст вам лучшее представление о том, что такое микроконтроллер, а также некоторое представление о наиболее важных частях микроконтроллера.Если вы хотите узнать больше о популярных электронных компонентах, вы можете ознакомиться с некоторыми из этих статей:
Знайте разницу между инвертором, преобразователем, трансформатором и выпрямителем.
Прочтите о различных основных типах датчиков движения и о том, как их физика заставляет их работать.
Посмотрите на разницу между популярным микроконтроллером Arduino Uno Rev3 и популярным SBC Raspberry Pi 3.
Что такое микроконтроллер MCU для встраиваемых систем »Электроника
— при разработке аппаратного обеспечения встроенной системы есть выбор между использованием микропроцессора или микроконтроллера — при использовании микроконтроллера какие подходы лучше всего.
Встроенные системы Включает:
Основы встроенных систем
Микроконтроллер, MCU
При разработке встроенной системы одним из вариантов является создание вычислительного оборудования на базе микроконтроллера, MCU, а не микропроцессора, MPU.
У обоих подходов есть свои достоинства, но, как правило, они используются в разных приложениях. Обычно микроконтроллер MCU используется в приложениях, где ключевыми требованиями являются размер, низкое энергопотребление и низкая стоимость.
MCU, микроконтроллер отличается от микропроцессора тем, что он содержит больше элементов общего механизма обработки в одном кристалле.
Объединение большинства компонентов механизма обработки на одном кристалле снижает размер и стоимость. Это позволяет с экономической точки зрения управлять еще большим количеством устройств и процессов в цифровом формате. Также обнаружено, что микроконтроллеры со смешанными сигналами все чаще используются, объединяя аналоговые компоненты, необходимые для управления нецифровыми электронными системами.
Основы микроконтроллера
Микроконтроллеры представляют собой основные элементы небольшой компьютерной системы на одном кристалле. Они содержат память и ввод-вывод, а также ЦП на одном и том же чипе. Это значительно уменьшает размер, что делает их идеальными для небольших встраиваемых систем, но означает компромисс с точки зрения производительности и гибкости.
Поскольку микроконтроллеры часто предназначены для приложений с низким энергопотреблением и низким уровнем обработки, некоторые микроконтроллеры могут использовать только 4-битные слова, а также могут работать с очень низкими тактовыми частотами — около 10 кГц и меньше для экономии энергии.Это означает, что некоторые микроконтроллеры могут потреблять только милливатт или около того, и они также могут иметь уровни потребления сна в несколько нановатт. С другой стороны, некоторым микроконтроллерам может потребоваться гораздо более высокий уровень производительности и они могут иметь гораздо более высокие тактовые частоты и энергопотребление.
Преимущества и недостатки микроконтроллера
Как и в случае любого устройства системного подхода, при разработке новой конструкции необходимо учитывать различные преимущества и недостатки микроконтроллеров.
| Обзор преимуществ и недостатков микроконтроллера | ||
|---|---|---|
| Преимущества | Недостатки | |
|
|
|
Другие темы по цифровой логике и встраиваемым системам:
Программирование ПЛИС
Встроенные системы
Как работает компьютер
Основы проектирования логических схем
Рекомендации по проектированию логики / схем
Вернуться в меню Цифра / Логика / Обработка.
