Для чего нужны микроконтроллеры: Что такое микроконтроллер, зачем он нужен и как его используют

Что такое микроконтроллер, зачем он нужен и как его используют

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

Содержание

История появления

Работы над изобретением микропроцессора велись с начала 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. Она включает в себя несколько уровней:

  1. Физический. Состоит из витой пары, драйверов и трансформаторов, по которым происходит передача данных.
  2. Канальный. Через него передаются Ethernet-фреймы между узлами локальной сети.
  3. Сетевой. По нему происходит передача пакетов. Они могут передаваться через несколько сетей, различающихся по технологиям физического и канального уровней.
  4. Транспортный. Связывает узлы между собой. Перед отправкой данных транспортный уровень представляет их в виде пакета сетевого уровня и передает другому узлу. Он может отправлять и группы пакетов одновременно. Если используется протокол с установкой соединения, то перед отправкой транспортный уровень устанавливает соединение, контролирует его качество, а только потом передает пакет данных.
  5. Прикладной. Решает прикладные задачи, те, ради которых создавался. С внешним миром он обменивается данными по стандартному или эксклюзивному протоколу.

Каждый из последующих уровней обслуживается предыдущим или нижележащим. Так образуются вертикальные межуровневые связи. Особенности обслуживания каждого уровня скрыты от остальных.

При взаимодействии двух сетей каждый из уровней одной сети контактирует с аналогичным уровнем другой. Так образуются горизонтальные связи.

Управление микроконтроллером

Управление МК может осуществляться двумя способами:

  1. Проводной путь. Управление исполнительными механизмами происходит через электропроводное соединение управляющих цепей и исполнительных механизмов. Включение — по нажатию кнопки на диспетчерском пункте или кнопочном пульте.
  2. Беспроводной путь. Такой способ управления не требует проводного соединения. С передатчика или пульта дистанционного управления (ПДУ) передается сигнал, который идет на приемник.

Сигналы беспроводного соединения могут быть:

  • Оптическими. Подобными сигналами управляется домашняя бытовая техника: телевизоры или кондиционеры.
  • Радио. Есть несколько вариантов: 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. Перед тем как приступить к написанию кода программы, надо определиться с конечной целью.
  2. Составляется алгоритм работы программы.
  3. Непосредственное написание кода программы. Коды пишутся на языке Си или Ассемблере.
  4. Компиляция программы, т. е. перевод ее в двоичную или шестнадцатеричную систему 1 и 0. Только так ее сможет понять МК.
  5. Откомпилированный код записывают в память контроллера.
  6. Прошивают МК с помощью программатора. Они бывают двух типов подключения: через COM или USB порт. Самый простой и дешевый программатор USBASP.
  7. Тестирование и отладка МК на реальном устройстве.

Радиолюбители иногда обходятся без прописывания алгоритма работы программы на бумаги. Они держат его в голове.

Языки программирования

Языки программирования для МК мало чем отличаются от классических компьютерных. Основное отличие заключается в том, что МК ориентируются на работу с периферией. Архитектура МК требует битово-ориентированных команд. Поэтому для контроллеров создавались особые языки:

  • Ассемблер. Самый низкий уровень языка. Программы, написанные на нем, получаются громоздкими и труднопонимаемыми. Но несмотря на это он позволяет наиболее полно раскрыть все возможности контроллеров и получить максимальное быстродействие и компактный код. Подходит преимущественно для маленьких 8-битных МК.
  • С/С++. Более высокий уровень языка. Программа, написанная на нем, более понятна человеку. На сегодняшний день есть много программных средств и библиотек, позволяющих писать коды на этом языке. Его компиляторы есть практически на любой модели МК. На сегодня это основной язык для программирования контроллеров.
  • Еще более удобный для восприятия и проектирования язык. Но он мало применяется для программирования МК.
  • Старинный язык программирования. На сегодня почти не применяется.

Выбор языка для программирования зависит от решаемых задач и необходимого качества кода. Если нужен компактный код, то подойдет Ассемблер, для решения более глобальных задач выбор ограничится только С/С++.

Среда разработки

На сегодня нельзя найти универсальной среды для программирования МК. Это связано с его внутренней структурой и наличием технического обеспечения записи кода в память контроллера.

Вот несколько сред программирования:

  • FlowCode – универсальная графическая среда. Программируется с помощью построения логических структур блок-схем.
  • Algorithm Builder. Тоже графическая среда. Но написание кода проходит в 3–5 раз быстрее, чем в FlowCode. В ней совмещены графический редактор, компилятор, симулятор МК, внутрисхемный программатор.
  • В ней объединены Ассемблер и С/С++. Функционал среды позволяет самостоятельно прошивать МК.
  • Image Craft. Как и предыдущая поддерживает Ассемблер и С/С++ языки. В ее составе есть библиотека, позволяющая работать с отдельными устройствами МК.
  • Популярная среда для любителей. Имеет Си-подобный язык, но отличающийся от других. Он более понятен человеку. Поддерживает библиотеки, в составе которых есть драйвера для подключения некоторых платформ.

Среды бывают платные и бесплатные. Выбирая конкретную среду, нужно исходить из ее функционала, языка программирования, поддерживаемых интерфейсов и портов.

Основы программирования

Прежде чем приступать к программированию МК, нужно выбрать язык. Начинать лучше с Ассемблера. Хотя для понимания он достаточно сложен, но если приложить силы и все-таки понять его логику, то тогда станет ясно, что именно происходит в контроллере.

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

Далее действуют по следующей схеме:

  1. Выбор компилятора и установка среды (подробнее о них писалось выше).
  2. Запуск среды и выбор в ней нового проекта. Необходимо будет указать место расположения. Путь нужно выбирать наиболее короткий.
  3. Настройка проекта. Классическим действием будет создание make-файла, в котором прописываются все зависимости. На первой странице указывают еще частоту работы МК.
  4. Настройка путей. В них надо добавить директорию проекта. В нее можно добавлять сторонние библиотеки.
  5. Постановка задачи.
  6. Сборка схемы. На этом этапе надо соединить модуль USB-USART конвертера с аналогичными выводами МК. Это позволит прошить микроконтроллер без программатора. Нужно накинуть джамперы, соединяющие LED1 и LED2. Этим действием мы подключим светодиоды LED 1 и 2 к выводам PD4 и PD5.
  7. Пропись кода.
  8. Добавление библиотек и заголовков с определениями.
  9. Главные функции. Язык Си состоит из одних функций. Они могут быть вложенными и вызываться в любом порядке относительно друг из друга и разными способами. Но все они имеют три обязательных параметра: 1) возвращаемое значение; 2) передаваемые параметры; 3) тело функции. В зависимости отданных, все возвращаемые или передаваемые значения должны быть определенного типа.
  10. Компиляция и запуск эмуляции.
  11. Отладка программы.

После того как прописали программу на языке Си, можно понаблюдать, как и что происходит в МК. Это поможет выстроить аналогию с программированием на Ассемблере.

Советы начинающим программистам микроконтроллеров

Чтобы первый опыт в программировании МК не закончился неудачей и навсегда не отбил охоту заниматься этим делом, нужно следовать некоторым советам:

  • Начинать с изучения периферии и ее особенностей.
  • Каждую большую задачу надо разделять на максимально количество мелких.
  • В начале пути не стоит упрощать себе жизнь и пользоваться кодогенераторами, нестандартными фичами и т. п. вещами.
  • Обязательно нужно изучать языки программирования (Си и Ассемблера).
  • Читайте Даташит.
  • Соберите необходимый набор инструментов. Это стоит определенных денег, но окупит себя экономией времени и качеством работы.

Никогда не поздно стать радиолюбителем, будь вам 30 лет или 50. И необязательно иметь профильное высшее образование. Сейчас на просторах интернета много доступной информации, изучая которую можно разобраться в устройстве микроконтроллеров и научиться их программировать.

что это такое и зачем нужны

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

Для работы с микроконтроллерами, такими как Ардуино или Iskra JS и подобными, нужны дополнительные знания, которые мы постепенно будем познавать.

Микроконтроллеры: что это такое и зачем нужны

Что такое микроконтроллеры?

Микроконтроллер представляет собой микросхему, которая используется для управления электронными устройствами. В типичном микроконтроллере имеются функции и процессора, и периферийных устройств, а также содержится оперативная память и/или ПЗУ (постоянное запоминающее устройство). Если говорить кратко, то микроконтроллер — это компьютер, функционирующий на одном кристалле, который способен выполнять относительно несложные операции.

Микроконтроллеры широко используются в вычислительной технике (процессоры, материнские платы, контроллеры дисководов, накопители HDD/FDD), бытовой электронике (стиральные машины, микроволновые печи, телефоны и т.д.), в промышленности и т.д. Рассмотрим, как проходит подключение и управление микроконтроллером, а также другие нюансы, связанные с ними.

Подключение микроконтроллера

Нижеописанная схема является упрощенным вариантом подключения микроконтроллера AVR.

AVR — это семейство восьмибитных микроконтроллеров фирмы Atmel. Год разработки — 1996.

По-хорошему, необходимо добавить еще несколько дополнительных внешних элементов в схему.

Упрощенная схема подключения микроконтроллераУпрощенная схема подключения микроконтроллера

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

Вывод AREF используется как вход для опорного напряжения АЦП — сюда подается напряжение, относительно которого будет высчитываться АЦП. Допустимо использование внутреннего источника опорного напряжения на 2.56В, или же использовать напряжение от AVCC.

АЦП (Аналого-цифровой преобразователь) — электронное устройство, преобразующее напряжение в двоичный цифровой код

На вывод AREF рекомендуется подключить конденсатор, который позволит увеличить качество напряжения АЦП и, тем самым, позволит провести правильные измерения АЦП. Между AVCC и GND установлен конденсатор и дроссель, а между GND и VCC установлен керамический конденсатор с емкостью 100 нФ (поближе к выводам питания схемы) для сглаживания кратких импульсов помех, образующихся в результате работы микросхемы.

Также между GND и VCC устанавливается ещё один конденсатор с емкостью в 47 мкФ для того, чтобы сгладить возможные броски напряжения.

Управление микроконтроллером

Микроконтроллеры AVR оснащены Гарвардской архитектурой. Каждая из областей памяти располагаются в своем адресном пространстве. Память данных в контроллерах осуществляется посредством регистровой, энергонезависимой и оперативной памяти.

Микроконтроллер AVRМикроконтроллер AVR

Регистровая память предусматривает наличие 32 регистров общего назначения, которые объединены в файл, а также служебные регистры для ввода и вывода. И первые, и вторые располагаются в пространстве ОЗУ, однако не являются его частью.

В области РВВ (регистров ввода и вывода) находятся различные служебные регистры — состояния, управления микроконтроллером и т.д., а также регистры, которые отвечают за управление периферийных устройств, являющихся частью микроконтроллера. По сути, управление данными регистрами и является методом управления микроконтроллером.

Устройства на микроконтроллерах

Микроконтроллеры AVR являются простыми в использовании, имеют низкую потребляемую мощность и высокий уровень интеграции.

Как правило, такие микроконтроллеры могут использоваться на самых разных устройствах, в том числе системах общего назначения, системах оповещения, для ЖК-дисплеев, плат с ограниченным пространством.

Также они используются для измерителей уровня заряда аккумулятора, аутентификации, в автомобильной электронике, для защиты от короткого замыкания и перегрева и т.д. Кроме промышленных целей, микроконтроллеры могут использоваться (и чаще всего используются новичками) для создания следующих устройств:

  • Регистратор температуры на Atmega168;
  • Кухонный таймер на Attiny2313;
  • Термометр;
  • Измеритель частоты промышленной сети на 50 Гц;
  • Контроллер светодиодного стоп-сигнала на Attiny2313;
  • Светодиодные лампы и светильники, реагирующие на температуру или звук;
  • Электронные или сенсорные выключатели.

Отметим, что для разных устройств используются разные модели микроконтроллеров. Так, 32-разрядные микроконтроллеры AVR UC3 (а также XMEGA, megaAVR, tinyAVR и т.д.) подойдут для систем общего назначения с технологиями picoPower, QTouch, EEPROM, системами обработки событий и самопрограммированием.

Микроконтроллеры для начинающих

Если вы собираетесь программировать микроконтроллеры, такие как Ардуино, например, а также собирать устройства, которые предусматривают их наличие в схеме, необходимо учитывать некоторые правила и рекомендации:

  • Перед решением любых задач следует делить их на более мелкие, вплоть до базовых действий.
  • Не следует пользоваться кодогенераторами и прочими «упрощающими» материалами, хотя бы на начальных этапах.
  • Рекомендуется изучить язык С и Ассемблер — это упростит понимание принципа работы микроконтроллеров и программ.

Для того, чтобы новичок мог заниматься микроконтроллерами, рекомендуется изучать базовые материалы. К таким материалам можно отнести следующие книги:

  • «Применение микроконтроллеров AVR: схемы, программы и алгоритмы» Баранов В.Н., 2006 год,
  • «Микроконтроллеры AVR: вводный курс», Дж. Мортон, 2008 год,
  • «Программирование микроконтроллеров ATMEL на языке С» Прокопенко В.С, 2012 год.

Данные книги являются практическим руководством, в котором затрагиваются аспекты и основы цифровой логики, а также рассматриваются примеры программ для микроконтроллеров, написанных на языке С с различными имитаторами схем, компиляторами и средами.

Наверх ↑

Разработка электроники. О микроконтроллерах на пальцах / Хабр

Задумывая технологический стартап, вы совсем не обязаны быть асом в электронике, гораздо больше шансов на хорошую идею имеет узкий специалист со знанием основ маркетинга, но, даже заказывая кому-то разработку, ориентироваться в возможностях современной элементной базы и представлять цену решения необходимо обязательно. Иначе можно потребовать невозможного, либо получить устройство с завышенной себестоимостью на устаревшей элементной базе.
Под катом попытка кратко и просто рассказать о возможностях современных микроконтроллеров людям от них далёким. Для тех, у кого есть идея нового электронного устройства, но отсутствует представление о том, что такое микроконтроллер. Те, кто хочет сделать первый шаг от занимательных экспериментов с платформой ардуино к проектированию собственных устройств, также могут найти в ней простые, но полезные советы. Я старался, не останавливаясь на технических подробностях, для этого и книги не достаточно изложить суть и дать несколько простейших, но полезных советов по схемотехнике, чтобы предостеречь от элементарных ошибок начинающих.

Краткое содержание статьи:


Как микроконтроллеры завоевали мир
Архитектура ARM — сегодняшний лидер рынка микроконтроллеров
Конкуренция с младшими братьями
Об укладке асфальта, пользе сна и его разновидностях
Совсем коротко о технологии изготовления и о том, как появляются серии микроконтроллеров
Периферия простейшего ARM микроконтроллера за пол бакса
Самый дешёвый способ получить дополнительные функции
А что добавит переход на Cortex-M4, кроме возросшей в пару раз цены?
Cortex-M7 — когда хочется большего…

Защита кода, возможность его обновления и многообразие помогли микроконтроллерам завоевать мир

Любой умный прибор требует управления. В большинстве случаев сегодня этим занимаются микроконтроллеры — чипы, которые совмещают в себе микропроцессорное ядро, память и периферийные модули, отвечающие за связь с остальными компонентами устройства и внешним миром.

Микроконтроллеры — мастера на все руки. Один микроконтроллер способен заменить десятки специализированных микросхем, которые были бы необходимы для выполнения требуемых функций в случае, если бы роль вычислителя занимал микропроцессор.

Одно из неоспоримых преимуществ микроконтроллера — программа, под управлением которой он работает, скрыта внутри его корпуса (в секции под названием “память программ”) и очень хорошо защищена от взлома, конечно, в случае, если разработчик микрокода об этом позаботился, активизировав встроенные механизмы защиты. Таким образом, вы получаете защиту интеллектуальной собственности настолько большую, насколько это возможно в наши дни.

Что нельзя взломать — то можно скопировать. Зачем пытаться считать код, встроенной в микроконтроллер программы, с помощью дорогостоящих хитроумных приспособлений, если проще и дешевле найти профессионала, который может написать его заново? Возможно результат будет даже лучше, а функционал богаче чем у прототипа. Да это стоит денег, но содержание FLASH памяти сегодняшних микроконтроллеров настолько хорошо защищено, что попытки грубого “взлома” обойдутся ещё дороже. Кроме того, решается проблема интеллектуальной собственности, а вы, вместе с исходными кодами программы, получаете возможность развивать и совершенствовать своё устройство.

Память программ, в современных универсальных микроконтроллерах, является перезаписываемой, причём процесс перезаписи можно повторять не один десяток тысяч раз. Напрашивается использование этого факта для обновления программного обеспечения с целью устранения найденных в нём ошибок или расширения функций уже работающего устройства. Это достаточно просто реализовать — добавив в программу специальный участок кода под названием “бутлоадер”, вы получаете возможность обновлять программное обеспечение вашего прибора различными способами: в пункте сервисного обслуживания (если устройство имеет специальный, скрытый внутри корпуса от посторонних глаз, разъём), подключив к компьютеру по USB, через сетевой или даже беспроводной интерфейс. Главное, предусмотреть в приборе необходимую для этого периферию. Предоставляя возможность обновления ПО, всегда следует думать о безопасности, если этот процесс недостаточно защищён, мало того, что злоумышленники могут похитить ваш код, они могут модифицировать его и использовать в своих не исключено, что коварных целях. Например, взять под контроль вещи вашего “умного дома” или шпионить с помощью, установленной вами же у себя дома, WEB камеры.

Архитектура ARM — сегодняшний лидер рынка микроконтроллеров

Со времён Царя Гороха микроконтроллеры принято разделять по разрядности данных, над которыми они проводят операции. В подавляющем большинстве случаев, сегодня, в новых разработках, стоит останавливать свой выбор на 32 битных микроконтроллерах с ядром АRM. Существует огромное количество их модификаций и всегда можно подобрать экземпляр, наилучшим образом подходящий для решения вашей задачи. В зависимости от набора функций и производительности, цена чипа может составлять от десятков центов до десятков долларов.
Микроконтроллеры(MCU), в зависимости от архитектуры вычислительного ядра, принято разделять на крупные семейства. На сегодняшний день, для разработок устройств малой и средней сложности, наиболее популярны микроконтроллеры c ядрами от Cortex-M0 до Cortex-M7. Чем больше цифра, тем больше вычислительные (и не только) возможности, цена и максимальное энергопотребление. Не последнюю роль в популярности ARM сыграла преемственность архитектуры. Разработчик может с минимальными издержками модифицировать программный код своих предыдущих наработок, переходя от микроконтроллеров одного производителя к чипам другого и мигрируя между ядрами с разной производительностью.
Конкуренция с младшими братьями

Однако ARMы «рулили» не всегда. Я хорошо помню времена, когда абсолютными лидерами рынка были 8 битные микроконтроллеры и, с занятых позиций, их безуспешно пытались оттеснить 16 битные коллеги, но, по иронии судьбы, удалось сделать это только 32 битным старшим братьям. Так сложилось, что к моменту их появления, технологии изготовления чипов сильно удешевили интеграцию в них больших объёмов FLASH памяти. Воспользовавшись удобным случаем, программисты стали переходить с ассемблера на язык более высокого уровня — Си, структура которого отлично ложилась на 32 битную архитектуру. В результате 32 битные микроконтроллеры выполняли вычисления гораздо быстрее своих 8 и 16 битных коллег, но была одна проблема — у них был выше ток потребления.

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

Известно, что средний ток потребления вычислительного ядра микроконтроллера существенно увеличивается с поднятием его тактовой частоты. Поначалу 8 битные модели микроконтроллеров отличались заметно меньшим потреблением при сходной частоте и, кроме того, были способны работать от низкой тактовой частоты, вплоть до 32 кГц.

Энергопотребление микроконтроллеров сильно зависит от тактовой частоты ядра и периферии, чтобы её регулировать, для генерации стали использовать, широко применявшийся в радиопередающих устройствах, узел формирования тактовой частоты на основе ФАПЧ. Это позволило в широких пределах изменять тактовую частоту, не меняя задающий кварцевый резонатор. Периферийным модулям совсем не обязательно иметь такую же тактовую частоту, что и вычислительному ядру. Чтобы снизить их энергопотребление, частоту на них стали подавать через делители с программно-регулируемым коэффициентом деления. Ввели возможность отключать неиспользуемые модули. Эти меры сильно уменьшили энергопотребление, но оно по прежнему оставалось существенно больше, чем у 8 битных.

На короткое время сложился паритет — 32 битные MCU захватили нишу топовых приложений, а 8 битные уверенно удерживали позиции в устройствах, для которых было важно низкое энергопотребление. Он сохранялся до тех пор, пока 32 битные MCU не освоили в совершенстве «импульсный» режим работы.

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

Об укладке асфальта, пользе сна и его разновидностях

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

Понаблюдайте за строительными рабочими которые кладут асфальт. Они резко активизируют свою работу, когда пришёл грузовик с новой порцией асфальта, а после его укладки снижают темп. Так и микроконтроллеры умеют повышать и снижать частоту тактирования ядра. Однако, им это даётся не так просто, как рабочим — одновременно изменится и частота работы всей внутренней периферии, поэтому, чувствительные к этому её части придётся перенастраивать.
Не проще ли, выполнив быстро всю работу, немного поспать. Зачастую, да. Причём виды сна микроконтроллеров отличаются ещё более драматично, чем у человека.

Можно просто вздремнуть. В этом случае наш чип всегда наготове и как только зазвенел будильник таймера или его потревожило внешнее прерывание, он просыпается практически мгновенно. Как человек во время дремоты может снять напряжение, но не выспаться толком, когда тебя постоянно дёргают, так и микроконтроллер может снизить своё энергопотребление в этом режиме “всего” раз в 10, называют этот режим SLEEP.

Лучший способ хорошо выспаться — раздеться, лечь в постель, задёрнуть шторы на окне и включить будильник. Однако, после такого сна, уже моментально в работу не включишься. Придётся, как минимум, предварительно ополоснуться холодной водой и одеться. Есть такой режим и у микроконтроллера, когда он ограничивает количество внешних раздражителей и выключает основной тактовый генератор. Это режим STOP. В нём можно уменьшить потребление в 1000 раз, но и на выход из него уже потребуется существенное время.

Теперь, представьте себе, что вы перед сном выпили изрядную дозу снотворного, отключили будильник и телефон, закрыли все окна и двери. Это будет режим STAND BY. Вывести из такого режима микроконтроллер можно только с помощью особых выводов и большая часть памяти о том, чем он занимался перед таким сном будет потеряна навсегда, придётся начинать работу заново. Зато находясь в таком режиме MCU потребляет ещё в два раза меньше.

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

Выбирая режим экономии энергопотребления необходимо помнить о последствиях применения:

  • чем глубже сон, тем дольше пробуждение
  • чем глубже сон, тем меньше способов вывести из него микроконтроллер
  • чем глубже сон, тем меньше остаётся информации о предыдущем состоянии микроконтроллера
  • для достижения минимальных заявленных значений, во многих режимах необходимо принимать дополнительные меры, например — отключения периферии
  • для минимизации энергопотребления устройства в целом необходимо грамотно спроектировать схемотехнику всего устройства
  • для минимизации энергопотребления устройства в целом, нужно позаботиться о том, чтобы остальные компоненты и цепи также имели микропотребление в неактивном режиме. Глупо предпринимать огромные усилия для того, чтобы опустить потребление микроконтроллера ниже одного микроампера и, при этом, применять в устройстве дешёвый стабилизатор с током собственного потребления в 100 микроампер но встречается такое сплошь и рядом
  • для успешного использования режимов глубокого сна не только программа, но и схемотехника, должны быть тщательно продуманы, иначе, вместо экономии, можно получить весьма серьёзные проблемы — редко случающееся, зато “мёртвое” зависание устройства по необъяснимой причине, либо слишком частое пробуждение и, как результат, потребление на порядки выше ожидаемого


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

Физически активная часть микроконтроллера, как и подавляющее количество других микросхем, обычно сформирована на пластине монокремния (назовём его, в данном контексте, ЧИП). Чипы занимают очень маленькую площадь, технологически же выгодно производить пластины большого диаметра, поэтому, обычно большое количество чипов, как соты, размещают на одной большой пластине и формируют, в ходе одного технологического процесса. В последствии пластины нарезают на кусочки, получая уже отдельные чипы, которые и помещают в корпуса. Разработка топологии и отладка технологических процессов нового чипа стоит очень дорого, а занимаемое на пластине одним чипом место, как правило, не велико. Производителям выгодно выпускать чипы крупными партиями, но пользователям требуются микроконтроллеры в разных корпусах — кому то важно получить корпус поменьше и подешевле, другому наоборот требуется побольше выводов, чтобы управлять LCD или внешней памятью с параллельным интерфейсом. Производителям выгодно перекрывать все ниши, чтобы клиенты не перебегали к конкурентам, не найдя оптимальной для себя модели.

Очень часто бывает выгодней выпустить крупной партией один универсальный чип и помещать его в разные корпуса, чем запускать десяток различных. У чипов, помещённых в корпуса с малым количеством выводов, часть портов (в данном контексте, под портами будем понимать контактные площадки на поверхности чипа, служащие для общения с внешним миром) просто останутся неподсоединёнными. Часто производители идут дальше — чтобы поднять спрос и цену на микроконтроллеры с большим количеством ножек, они искусственно обрезают функциональность тех, у которых их меньше — отключают некоторые функции, ограничивают объём доступной памяти и т. п.

Так на основе одного чипа формируют серии микроконтроллеров, существенно отличающиеся по объёму памяти и набору периферийных модулей, иной раз и в разы по цене. При этом чипы, в них установленные, могут нарезаться из одних и тех же пластин. Поскольку площадь, на которой размещается один чип, невелика, вклад её в себестоимость конечного изделия также мал и им можно пожертвовать. Становится выгодным отключение дополнительной памяти и других функций, например, на этапе тестирования — либо с помощью однократно программируемых битов конфигурации, либо пережиганием перемычек лазером. Лишь для наиболее массовых изделий имеет смысл для этого создавать слегка изменённый фотошаблон. Причём, совсем не обязательно там будет физически отсутствовать неиспользуемая память, её, опять же, можно просто отключить, удалив перемычки в шаблоне.


Так из одного стандартного дизайна чипа формируется целая серия микросхем.
Периферия простейшего ARM микроконтроллера за пол бакса

Процессорное ядро — это мозг, но, чтобы он не был подобен “сферическому коню в вакууме”, требуются аналоги органов чувств и конечностей.

В микроконтроллере их роль играют выводы на корпусе, к которым внутри корпуса могут подключаются порты(контактные площадки) чипа. В свою очередь, через внутренние коммутаторы, к одному и тому же порту могут подключаться различные периферийные модули.
Для начала рассмотрим периферию одной из простейших серий от ST на основе ядра Cortex-M0 — stm32F03.

Для этой серии имеем следующий набор базовых функций:
Часы реального времени (Real Time Clock или RTC), которые могут запитываться с помощью отдельного вывода и работают от отдельного низкочастотного резонатора. Этот модуль потребляет крайне мало энергии, в случае пропадания основного питания он может часами работать от заряженного конденсатора, или годами от маленькой встроенной в прибор батарейки. Кроме этого, он может служить в качестве будильника, выводя микроконтроллер из состояния даже самого глубокого сна в заранее заданное время.

WatchDog — сторожевая собака мешающая микроконтроллеру заснуть навсегда, например, свалившись в бесконечный цикл или перейдя по несуществующему адресу. Его принцип работы прост. Программист настраивает таймер защиты от “зависания” на определённый период времени, допустим на секунду, и запускает его. Затем он расставляет, в выбранных им местах программы, короткие участки кода, которые перезапускают таймер с нулевого значения. Если за секунду не произошло ни одного сброса таймера, WatchDog считает, что с программой что-то не так и устраивает микроконтроллеру перезапуск. Программа начинает работать с начала, причём существует возможность определить являлся ли инициатором ресета WatchDog и учесть этот факт при запуске.

Универсальные цифровые входы-выходы (General Purpose Input-Output GPIO) — это самая распространённая функция, которую поддерживают большинство выводов микроконтроллера. Они могут конфигурироваться либо как входы, либо как выходы.

Рассмотрим работу в качестве входа. Если напряжение на входе микроконтроллера меньше некоего порога (как правило близкого к половине питания), то оно воспринимается как логический ноль, в противном случае как 1. Цифровые входы обычно имеют очень высокое входное сопротивление, поэтому, если их оставить не подключенными, их состояние может скакать из нуля в единицу и обратно, под действием наводок электромагнитных полей. Для того, чтобы этого не происходило, существуют специальные режимы, когда внутри чипа вход соединяется через сопротивление 20 — 50 КОм с плюсом питания микроконтроллера (pull-up) или с минусом (pull-down).

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

Советы начинающим разработчикам Выводы микроконтроллера — мастера на все руки, но следует соблюдать простые правила, чтобы не вывести их из строя. Несмотря на все предосторожности, предпринимаемые производителями чипов, они боятся статики и перенапряжений, поэтому не стоит подсоединять их напрямую к разъёмам, выходящим за пределы платы. Необходимо, в этом случае, предпринять меры — либо воспользоваться специальными интегральными компонентами защиты, либо предусмотреть в схеме супрессор, стабилитрон или защитные диоды, плюс установить в разрыв между выводом разъёма и портом токоограничивающее сопротивление.

На рисунке выше изображён участок схемы, спроектированного мной устройства (спутникового модема), с элементами простейшей защиты портов микроконтроллера. X4 — разъём для внешних коммуникаций. Нас интересуют контакты 5-7, к которым присоединяются тревожные кнопки. Сигналом тревоги служит замыкание на землю, поэтому, в нормальном состоянии, на портах должно присутствовать напряжение питания микроконтроллера, что и обеспечивают резисторы R24-R26, номиналом 1 КОм. Супрессоры VD4-VD6 ограничивают напряжение на уровне 5 вольт, это допустимо потому, что применяемый мной микроконтроллер, хотя и питается напряжением 3,3 вольта, но имеет порты толерантные к напряжению 5 вольт. Резисторы R29-R31 на 100 Ом.
Подобная защита спасёт порты вашего микроконтроллера от внешних перенапряжений. У некоторых микроконтроллеров отдельные порты не боятся напряжений, превышающих их напряжение питания. Так у многих микроконтроллеров STM32Fxx почти все порты будучи сконфигурированными как цифровые могут работать с 5 вольтовыми цепями, но если они работают в аналоговом режиме, например в качестве входа АЦП, теряют эту способность и это необходимо учитывать при разработке схемы.

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

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

Используя порты микроконтроллеров в качестве выходов, также стоит свериться с даташитом. Отдельные порты могут иметь разное ограничение по максимальному току, который от них можно получить не опасаясь выхода их строя — нагрузочную способность. Кроме этого, сам чип имеет максимальную нагрузочную способность всех выходов в сумме, которую не следует превышать.
Последнее, о чём хочется упомянуть, выходные порты ARM микроконтроллеров не реагируют на программные инструкции мгновенно, как у 8-битных микроконтроллеров. Они управляются через шину, и их быстродействие зависит от частоты тактирования соответствующего узла, которую можно менять программно. Если вы хотите быстрой реакции, позаботьтесь об увеличении этой частоты, если важнее уменьшить энергопотребление, наоборот выберите менее скоростной режим.


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

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

Интерфейсы обмена данными Различные микроконтроллеры данной серии могут иметь по нескольку наиболее распространённых интерфейсов, сильно облегчающих общение с другими чипами и внешним миром:

  • USART — асинхронный последовательный порт, часто использующийся для связи с компьютером там он называется COM или RS232, модемами и другими устройствами
  • SPI — высокоскоростной интерфейс, который имеют очень многие чипы, например внешняя память
  • I2C — двухпроводной интерфейс, разработанный для общения с датчиками и другой периферией на небольшом расстоянии и небольших скоростях обмена. Большой его плюс заключается в том, что одновременно к одной шине можно подключить десятки различных устройств

Все эти интерфейсы несложно реализовать программно с помощью обычных GPIO, но они будут работать гораздо медленнее и отнимать много ресурсов вычислительного ядра.

Аналого-цифровой преобразователь АЦП или ADС на котором придётся остановиться подробнее.

Чрезвычайно полезный модуль, который способен измерять напряжение аналоговых сигналов. Оценивает он их в долях от величины опорного источника сигнала, в нашем случае это напряжения питания аналогового модуля микроконтроллера, которое может быть равным или немного ниже основного напряжения питания чипа. Теоретическая точность работы АЦП зависит от его разрядности. В современных микроконтроллерах чаще всего применяется 12 разрядный АЦП последовательного приближения, реже 10 и как экзотика встречается 16.

При питании 3 вольта 12 разрядный АЦП микроконтроллера будет иметь разрешающую способность 3/4096=0.00073 Вольта — лучше одного милливольта.

Но на практике достичь этого идеала бывает не просто.

Подробности для начинающих разработчиковНа практике всё бывает далеко не так красиво и точность измерений может снижаться по многим причинам. Ниже перечисляю основные, хорошо известные любому опытному электронщику, а также простые но эффективные способы сведения их пагубного влияния до минимума
нестабильность напряжения источника питания АЦП
  • применять для питания MCU линейные стабилизаторы с хорошими параметрами
  • применять для питания аналоговой части MCU высокостабильные источники опорного напряжения

импульсные помехи по питанию АЦП
  • подключать аналоговое питание к цифровому через простейшие фильтры низкой частоты — подавать питание на аналоговую часть MCU через индуктивность и в непосредственной близости от входа микроконтроллера устанавливать керамический конденсатор с диэлектриком XR7 ёмкостью 100 нанофарад, а ещё лучше, параллельно ему включить танталовый конденсатор с ёмкостью в одну — две микрофарады.

импульсные помехи на входе АЦП
  • пропускать входной сигнал хотя бы через простейший ФНЧ, состоящий из резистора и конденсатора. Для борьбы с помехами от передающих радиотрактов и короткими импульсными помехами иногда достаточно одиночного конденсатора с диэлектриком NP0 ёмкостью в несколько десятков пикофарад, установленного между входом и землёй, в непосредственной близости от входа АЦП
  • не экономить на блокировочных конденсаторах, по крайней мере самого микроконтроллера, устанавливать их в непосредственной близости от каждого вывода питания и в других местах, рекомендованных производителем, рекомендованного им номинала
  • тщательно выбирать месторасположение компонентов и соблюдать правила трассировки цепей питания и особенно “земли”, в идеале аналоговая и цифровая земли должны соединяться в одной точке — рядом с выводом аналоговой земли микроконтроллера

высокое выходное сопротивление источника сигнала, опасно тем, что в момент старта измерения АЦП последовательного приближения, которое чаще всего используется в микроконтроллерах, его вход потребляет некоторый отличный от нуля ток и это может привести к уменьшению истинного значения напряжения, так как сигнал фактически подаётся через делитель напряжения.
  • правильно выбирать параметры настройки АЦП, например во многих микроконтроллерах можно увеличить время зарядки входной цепи, правда тут приходится идти на компромисс, снижая быстродействие
  • устанавливать на входе АЦП буферные усилители на основе ОУ (операционный усилитель), или повторители напряжения. Выбирать их по принципу самых дешёвых не стоит, можно не улучшить, а ухудшить ситуацию, причём значительно. Если не хватает собственного опыта, лучше поискать специально рекомендованные производителями для подобных приложений

Выше изображён участок реальной схемы для подачи питания на аналоговую часть микроконтроллера в устройстве с батарейным питанием. В данном случая я использовал АЦП для оцифровки сигнала с аналогового MEMS микрофона и поэтому имело смысл выделить в отдельную цепь не только аналоговое питание, но и аналоговую землю. В большинстве случаев это избыточно, для того чтобы от неё действительно был толк, нужна ещё и правильная трассировка.

От цепи VBUT питается вся цифровая часть микроконтроллера. На всякий случай привожу номиналы элементов: R5-10 Ом, С10 0.1 мкФ, без индуктивностей L1 и L2 BLM18PG471SN1D в большинстве случаев можно обойтись.

Ещё один любопытный пример из моей практики. В плате, на которой размещалось большое количество высокопотребляющих чипов ASIC, необходимо было измерять их температуру. Самый простой и дешёвый способ — использование высокоомных термисторов. В качестве фильтров я применил конденсаторы достаточно большой ёмкости, воспользовавшись тем фактом, что температура меняется сравнительно медленно. Для оцифровки звука такой фокус однозначно бы «не прокатил».

Осталось упомянуть ещё одну важную особенность АЦП, характерную для микроконтроллеров. Собственно, модулей АЦП в нём, как правило, один или два, а вот входов может быть много. В описываемой серии модуль 1, а входов может быть до 16. Как же так? Очень просто, входы подсоединены к нему через коммутатор. Если вы собираетесь измерять напряжение с 10 входов, то должны организовать цикл — последовательно переключить коммутатор к каждому из 10 входов и сделать измерение. Это необходимо учитывать, рассчитывая времена измерения. В данной серии АЦП, теоретически, способно сделать измерение за 1 микросекунду. Получается, что полный цикл 10 измерений у вас займёт точно больше 10 микросекунд!


Система прямого доступа в память ПДП или DMA — ещё одна архиважная вещь. Этот модуль позволяет пересылать данные от периферии в память или наоборот.

Например, с его помощью вы можете выделить участок памяти для хранения данных, приходящих из АЦП и сделать из него кольцевой буфер. Далее запускается АЦП в режиме считывания данных через равные промежутки времени. Используя механизмы DMA, считанные данные будут, без участия ядра, самостоятельно, байт за байтом, помещаться в выделенный буфер. Когда буфер будет полностью заполнен, ядро получит сигнал и приступит к их программной обработке, а система DMA начнёт процесс загрузки сначала. Поскольку DMA имеет несколько каналов, то никто не мешает реализовать для нашего случая автоматический вывод на USART данных из буфера. В результате мы получим, работающий без использования ядра процесс передачи считанных с АЦП в USART, и не простая работа программиста по конфигурации DMA окупится сторицей.

Модуль широтно-импульсной модуляции ШИМ или PWM, в силу ограниченности статьи не будем останавливаться на нём подробно, отмечу только, что это крайне полезная и широко используемая функция, с помощью которой возможно управлять яркостью светодиодов, скоростью вращения двигателей, рулевыми машинками, конструировать интеллектуальные DC-DC преобразователи и даже звук синтезировать.

Что можно получить, добавив 30 центов?

Переход на Cortex-M0+. Самый дешёвый способ получить дополнительные функции

А какие дополнительные плюшки предлагает микроконтроллер новейшей серии с ядром чуть посовременнее Cortex-M0+, при стоимости на 20-50 центов дороже аналогов в рассмотренной выше серии по корпусу и количеству выводов?

Таблица отличий между сериями

  • в два раза увеличилась максимальная тактовая частота
  • с 2 до 1.7 вольт понизилось минимальное напряжение питания
  • АЦП способно работать в два с половиной раза быстрее
  • появились два канала 12 битного цифро-аналогового преобразователя. Это крайне полезная функция, с помощью которой возможно формировать на выводах сигнал заданного напряжения с точностью лучшей чем 1 мВ, например сигналы произвольной формы в звуковом диапазоне частот
  • появились компараторы — устройства для сравнения величин двух аналоговых сигналов, это бывает полезным скажем для определения момента возникновения перегрузки по току
  • добавлен USB интерфейс, посредством которого можно подключать устройства к компьютеру. Особый интерес вызывает наличие поддержки опций управления питанием для реализации USB type3-C совместимого интерфейса. О нём я рассказывал в одной из своих статей на Хабре
  • появился ускоритель AES для процедур 256 битного шифрования/дешифрации
  • UART получил возможность работы в режимах сна и аппаратную поддержку протоколов LIN (простая сеть, широко используется в автопроме), IRDA (протокол передачи данных посредством инфракрасных светодиодов, вспомните телевизионные пульты), SIMcard…
  • расширены возможности таймеров и модуля PWM
  • верхняя граница температурного диапазона работы поднялась до 125 градусов
  • увеличена надёжность работы за счёт расширения режимов перезапуска при возникновении проблем с питанием
  • добавлен “честный” аппаратный генератор случайных значений — полезная функция в криптографии

Ну что же, для многих применений незначительная добавка в цене себя вполне окупает, поскольку можно отказаться от перехода на более дорогостоящие микроконтроллеры старших модельных рядов.
А что добавит переход на Cortex-M4, кроме возросшей в пару раз цены?

  • Максимальная тактовая частота вырастает уже до 80 МГц
  • Появился блок для ускорения вычислений с плавающей точкой
  • Ясное дело, максимальная встроенная память увеличилась
  • Модели с количеством ног 100 и более поддерживают работу с внешней статической памятью
  • USB научился работать в режиме HOST
  • Появился контроллер CAN интерфейса. Это очень перспективный интерфейс разработанный для высоконадёжных приложений. Своё победное шествие он начал с автомобильной промышленности и уже почти 20 лет ведёт затяжную войну с давно устаревшим RS-485 в крайне консервативной отрасли промышленной автоматизации.
  • Появился интерфейс для подключения SDcard. Очень полезная функция — добавляете в своё устройство держатель за 50 центов и получаете съёмный носитель размером в десятки Гигабайт! С большинством карт удаётся работать и по обычному SPI, но намного медленнее
  • Добавили встроенный Операционный Усилитель с большим разнообразием режимов работы. Именно благодаря этой и предыдущей функциям, для своего последнего проекта беспроводного стетоскопа, пришлось остановить выбор на M4 вместо M0+. В результате появилась возможность управлять усилением сигнала с MEMS микрофона и сохранять десятки часов аудиозаписей работы сердца на SD карте
  • Криптомодуль научился аппаратно считать HASH функции.
  • Контроллер сенсорных приложений усовершенствован и теперь поддерживает уже не только кнопки, но и элементы прокрутки

Cortex-M7 — когда хочется большего…

В подавляющем количестве проектов возможностей предоставляемых вышеописанными ядрами достаточно, но случаются и исключения. Лично со мной такое случалось всего пару раз, причём лишь один раз по действительно уважительной причине — требовалась высокая производительность для подготовки данных для ASIC, контроллер Ethernet и шина CAN-FD c повышенной скоростью обмена.

Если на уровне универсальных микроконтроллеров с ядрами Cortex 4 и ниже, на мой субъективный взгляд, по параметру цена/функциональность сейчас лидирует фирма ST, то в области более высокопроизводительных чипов она уступает лидерство ATMEL, вернее, теперь уже недавно поглотившему его MICROCHIP. Поэтому я остановил свой выбор на серии ATSAMV71, стоимостью от 6 долларов.

Помимо вышеописанного (контроллер Ethernet и шина CAN-FD), по большому счёту, мы получаем, существенно увеличивающее производительность ядро с ускорителем операций, работающее на тактовой частоте до 300 МГц, интерфейсы для подключения видеоматрицы и поддержку динамической памяти.

В заключении попрошу имеющих опыт общения с микроконтроллерами попрошу выбрать подходящий ответ на вопрос.

назначение, область применения, принцип работы

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

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

История появления

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

Впервые данное изобретение было запатентовано в 1971 году М. Кочреным, который разместил на одном кристалле сразу и процессор, и память с возможностью ввода-вывода обрабатываемой информации.

На сегодняшний день простейшим примером МК будет процессор, который установлен у каждого из вас в ноутбуке или ПК. Там есть некоторые нюансы в терминологии, но по своей сущности он является именно микроконтроллером.

Назначение и область применения микроконтроллера

Но давайте разберёмся, чем smd микроконтроллеры 14 pin отличаются от 12 пиновых и как применять микроконтроллеры для чайников.

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

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

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

Без этого ни одно приложение бы не запустилось. Но это лишь конкретная область применения, на деле, с помощью Ардуино и похожих систем, можно контролировать любые переменные, включая свет по хлопку или раздвигание штор при изменении освещения на улице. Вот и выходит, что назначение МК – это контроль любых переменных и изменение системы под их состояние, возможно, с последующим выводом промежуточных данных, для проверки работоспособности.

Но давайте разберёмся, почему любая разработка ПО для микроконтроллеров с помощью специальных сред в итоге компилирует (превращает) код в двоичный, и зачем это нужно?

Принцип работы

В предыдущих пунктах мы оперировали абстрактными понятиями, теперь пришло время перейти к реальным и практическим примерам. Принцип работы любого, даже самого сложного контроллера, сводится к следующему алгоритму:

  1. Он принимает определённые переменные или другие данные, которые прежде должны быть преобразованы в двоичный сигнал. Это необходимо, поскольку на низшем уровне система способна воспринимать лишь 2 состояния – есть сигнал или нет сигнала. Такой принцип называют аналоговым. Существует аналогичный алгоритм, когда сигнал присутствует постоянно, но меняется по частоте – цифровой. У них множество различий, как в областях применения, так и в особенностях работы сигнала, но суть одна – процессор способен воспринимать лишь значения 0 и 1, или true и false, и не важно, какими путями микропроцессоры и микроконтроллеры будут их считывать.
  2. Во внутренней памяти устройства хранится набор специальных инструкций, который позволяет, путем базовых математических преобразований, выполнять какие-то действия с полученными данными. Именно эти базовые операнды и берутся на вооружение компилируемых языков программирования, когда необходимо написать библиотеку готовых функций. Остальные нюансы языков программирования – это уже синтаксис и теория алгоритмов. Но в результате, всё сводится к базовым операндам, которые превращаются в двоичный код и обрабатываются внутренней системой процессора.
  3. Всё, что было получено и сохранено после обработки, выдается на выход. На самом деле, данный пункт выполняется всегда, единственная разница, что выходом может быть и преобразование состояния объекта какой-то системы. Простейшим примером станет замыкание электрической цепи, в случае, если на специальный датчик подать ток, вследствие чего загорится лампочка. Здесь всё зависит от типа устройства, так, 8051 микроконтроллер может выполнять несколько видов выводов, имея 14 пинов, а какой-то другой – всего один, ведь у него 1 пин на выход. Количество выходов влияет на многопоточные свойства девайса, иными словами, возможность выводить информацию сразу на несколько устройств или совершать несколько действий одновременно.

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

Это напрямую влияет на скорость работы устройств, и именно из-за этой характеристики 2-ух ядерные девайсы мощнее, чем 1-ядерные, но имеющие большую герцовку (способность выполнять большее количество преобразований за единицу времени).

Но почему микроконтроллер овен не способен выполнять некоторые действия, характерные для 8051, и какая классификация вообще существует в данной сфере?

Виды микроконтроллеров

На самом деле, в отличие от вспомогательных девайсов, у микроконтроллеров нет какой-то стандартизированной классификации, из-за чего их виды, зачастую, разделяют по следующим параметрам:

  1. Количеству аналоговых и цифровых пинов.
  2. Общему количеству пинов.
  3. Количеству ядер, которые присутствуют в МК.
  4. Скорости выполнения операций или герцовке.
  5. Объему оперативной и постоянной внутренней памяти.
  6. Размерам.

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

Особенности микроконтроллеров Ардуино

Но всё же у большинства, при упоминании МК, в памяти всплывает название «Ардуино», и это не удивительно. Ведь у данной разновидности поликристальных чипов есть характерные особенности, выгодно выделяющие ее на фоне конкурентов:

  1. Низкий порог входа. Так как программная среда уже написана и протестирована за вас, никаких «велосипедов» придумывать не нужно.
  2. Оптимизация под конкретные задачи. У создателей есть целая линейка разнообразных чипов, которые сильно различаются по характеристикам, благодаря чему будет проще подобрать подходящий.
  3. Готовая платформа и множество решений различных проблем или задач в открытом доступе.

Подключение и управление

Подключаются чипы через специальные разъемы, называемые пинами. Те, в свою очередь, распределяются на:

  1. Отвечающие за питание. Стандартное сочетание из нуля, фазы и заземления. Последнее чаще всего игнорируют.
  2. Отвечающие за ввод данных.
  3. Отвечающие за вывод данных. Их можно разделить на аналоговые и цифровые, о главном различии уже упоминалось выше, и каждый из выходов имеет свои достоинства и недостатки.

С помощью всех этих «ножек» и происходит управление системой, а их необходимое количество напрямую зависит от поставленной задачи.

Микроконтроллеры для начинающих

Лучшим примером МК для начинающих инженеров станет именно плата Ардуино, по уже упомянутым причинам. В ней вы сможете быстро разобраться, благодаря низкому порогу входа, но также, по желанию, изучить различные интересные паттерны проектирования и решения задач.

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

Пример применения микроконтроллера Ардуино

Выбирая свой первый проект, вы, скорее всего, самостоятельно просмотрите немало разнообразных примеров применения Ардуино, но мы же можем привести наиболее популярные:

  1. Системы смарт-хауса. Это различные умные переключатели, занавески, вентиляторы и разнообразные сигнализации. Они позволяют сделать ваше взаимодействие с жильем более интерактивным.
  2. Автоматические теплицы.
  3. Разнообразные датчики, вплоть до специального ошейника для домашнего любимца, показывающего его местоположение и пульс.

В целом же, в вопросе применения вы ограничиваетесь лишь собственной фантазией!

Производители микроконтроллеров

А вот производителей данных устройств – тысячи, и здесь вам стоит самостоятельно окунуться в данный вопрос. Ведь, в зависимости от ваших целей и навыков, список подходящих производителей может как расширяться, так и сужаться. Основными на данный момент являются:

Главное, не забывайте читать отзывы об устройствах и заранее прочесывать наш сайт в поисках готовых решений проблем.

Наверх ↑

Что такое микроконтроллер? ⋆ diodov.net

Программирование микроконтроллеров Курсы

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

Микроконтроллеры

Естественно возникают вопросы что такое микроконтроллер, с чего начинать его изучение, и на каком типе остановит свой выбор? На эти и другие вопросы мы найдем ответ далее. Сейчас же давайте посмотрим, как они могут выглядеть, и вкратце рассмотрим область применения и некоторые возможности микроконтроллеров.

Типы корпусов микроконтроллеров

Внешне микроконтроллеры ничем не отличаются от других микросхем. Кристаллы МК размещаются в стандартных корпусах, которые имеют строго определенное количество выводов. Микроконтроллеры изготавливаются в трех принципиально разных видах корпусов.

DIP корпус

К первому виду относится DIP корпус. Сокращенно от английского Dual InLine Package – корпус с двумя рядами выводов. Расстояние между выводами составляет 0,1 дюйма, что равно 2,54 мм. Также подобные корпуса еще обозначают PDIP. Первая буква “Р” обозначает, что корпус пластиковыйPlastic. Микроконтроллеры в таком корпусе будем использовать и мы, поскольку такие МК легко устанавливаются на макетную плату, что значительно облегчает выполнять отладку.

Микроконтроллер ATmega8 в DIP корпусе

Рис.1 – Микроконтроллер ATmega8 в DIP корпусе

SOIC корпус

Следующим, в порядке снижения габаритов, будет SOIC корпус. Его аббревиатура расшифровывается так: SmallOutline Integrated Circuit. Он используется при пайке поверхностным монтажом, т. е. выводы микросхемы припаиваются к контактным площадкам, расположенным на поверхности платы, а не вставляются в отверстия, как DIP корпус. Расстояние между у SOIC корпусов выводами в два раза меньше, чем в DIP и составляет 1,27 мм.

Микроконтроллер AT89C2051 в SOIC корпусе

Рис. 2 – Микроконтроллер AT89C2051 в SOIC корпусе

QFP и TQFP корпуса

Еще меньшие габариты имеет тип корпуса QFP (Quad Flat Package) или TQFP (Thin Quad Flat Package) (рис. 3). Отличительной особенностью его является расположение выводов по всем четырем сторонам, а сам корпус имеет форму квадрата. Как и SOIC, TQFP предназначен для поверхностного монтажа. Расстояние между выводами в 3 раза меньше, чем в DIP корпусах.

Микроконтроллер ATmega328P в TQFP корпусе

Рис. 3 – Микроконтроллер ATmega328P в TQFP корпусе

QFN корпус

Наиболее экзотическим с точки зрения любительской практики является корпус QFN (Quad Flat Noleads). Такой корпус имеет наименьшие габариты среди всех рассмотренных корпусов. В качестве выводов здесь используются контакты, расстояние между которыми в 6 раз меньше, чем в DIP корпусах. По этой причине они редко применяются радиолюбителями. Одна в промышленности такие корпуса находят широкое применение, поскольку габариты готового электронного устройства можно снизить в десятки раз. На рис.4 наглядно видно различия в габаритах одного и того же микроконтроллера (ATmega8) в DIP и QFN корпусах.

Микроконтроллер ATmega8 в DIP и QFN корпусах

Рис. 4 – Микроконтроллер ATmega8 в DIP и QFN корпусах

Для сравнения микроконтроллеры в корпусах различных типов показаны на рис. 5. Мы же будем пользоваться микроконтроллерами исключительно в PID корпусах, по крайней мере, на начальных этапах программирования.

Микроконтроллеры в разных типах корпусов

Рис. 5 – Микроконтроллеры в разных типах корпусов

Микроконтроллеры всюду окружают нас

Область применения МК с каждым днем все больше и больше расширяется. Они используются в самых различных устройствах: от музыкальной открытки до высокоскоростного электропоезда, самолета и ракеты. МК повсеместно применяются в бытовой технике: тостерах, микроволновых печах, кофеварках, холодильниках, стиральных машинах. Они широко внедрены в мобильных телефонах, планшетах, электронных часах, автомобилях, т. е. практически во всех электронных устройствах. И это не удивительно, ведь благодаря микроконтроллерам устройства становятся компактней, легче, надежней, дешевле; снижается их энергопотребление.

Область применения микроконтроллеров

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

Основные возможности микроконтроллеров

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

Порты ввода-вывода микроконтроллера

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

Таймеры-счетчики микроконтроллера

Также МК применяются для подсчета импульсов, что дает возможность сосчитать количество срабатываний какого-либо устройства. Например, можно подсчитать количество срабатываний реле с целью контроля или автоматизации определенного процесса.

Если подсчитать количество импульсов за единицу времени, то мы получим частотомер.

Наличие встроенного устройства широтно-импульсной модуляции (ШИМ) позволяет управлять частотой вращения вала двигателя.

Применение ШИМ микроконтроллеров

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

Применение АЦП микроконтроллеров

Еще микроконтроллеры могут обмениваться данными между компьютером и другим МК. Для этого практически в любом МК имеется встроенный один или несколько интерфейсов передачи данных: USART, SPI, CAN, USB и др.

Интерфейсы микроконтроллеров

Также в МК встроены и другие функциональные узлы, такие как различные прерывания, сторожевые таймеры и прочее другое. Однако я надеюсь, что даже перечисленных функций и возможностей микроконтроллеров вас заинтересует и вдохновит на их дальнейшее изучение.

В чем отличие микроконтроллера от микропроцессора?

Часто микроконтроллер называют микропроцессором, однако, это не совсем так. Микропроцессор выполняет лишь ряд арифметических и логических операций. Микроконтроллер же содержит в себе микропроцессор и другие функциональные узлы, такие как порты ввода-вывода, память аналогово-цифровые преобразователи, ШИМ и прочее. В общем случае микроконтроллер является аналогом материнской платой компьютера, на которой расположены все устройства, в том числе и центральный процессор. А микропроцессор – это всего лишь отдельный элемент, обладающий высокой вычислительной мощностью.

Отличия микроконтроллера от микропроцессора

Какой тип микроконтроллера выбрать для начального изучения?

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

К основным критериям выбора МК относится:

— доступность, т. е. МК можно легко купить в любом радиомагазине;

— низкая стоимость. Здесь все понятно;

— наличие подробной технической документации;

— бесплатное программное обеспечение;

— наличие литературы и достаточного количества примеров по выбранному типу МК.

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

На мой взгляд, и по личному опыту всем названным критериям отвечает микроконтроллер ATmega8 компании Atmel. Его мы и возьмем за основу.

Как читать электрические схемы и создавать электронные устройства

Еще статьи по данной теме

Что такое микроконтроллер? Определение характеристик и архитектуры.

Добавлено 17 сентября 2019 в 11:57

Сохранить или поделиться

В данной статье мы сначала рассмотрим определяющие характеристики этих чрезвычайно популярных микросхем, а затем их внутреннюю архитектуру.

Что такое микроконтроллер? Определение характеристик и архитектуры.Что такое микроконтроллер? Определение характеристик и архитектуры.

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

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

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

Генератор сигналов произвольной формы, разработанный на 8-разрядном микроконтроллере.Генератор сигналов произвольной формы, разработанный на 8-разрядном микроконтроллере.

В данной статье мы рассмотрим определение микроконтроллера, и зачем он нужен в проекте.

Что такое микроконтроллер?

Микроконтроллер – это устройство на интегральной микросхеме (ИМС), используемое для управления другими частями электронной системы, обычно через микропроцессорное устройство, память и несколько периферийных устройств. Эти устройства оптимизированы для встраиваемых приложений, которые требуют как возможностей обработки, так и гибкого, быстрого взаимодействия с цифровыми, аналоговыми или электромеханическими компонентами.

Наиболее распространенным способом обозначения этой категории интегральных микросхем является «микроконтроллер», но взаимозаменяемо также используется аббревиатура «MCU», так как расшифровывается «microcontroller unit». Также иногда вы можете увидеть «µC» (где греческая буква мю заменяет приставку «микро»).

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

Микроконтроллеры и микропроцессоры

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

Термин «процессор» используется для идентификации системы, которая состоит из центрального процессора и (необязательно) некоторой памяти. Микропроцессор – это устройство, которое реализует все функциональные возможности процессора в одной интегральной микросхеме. Микроконтроллеры, для сравнения, придают большее значение дополнительным аппаратным модулям, которые позволяют устройству управлять системой, а не просто выполнять инструкции и хранить данные.

Ниже приведена диаграмма, которая иллюстрирует эту концепцию.

Диаграмма, поясняющая различие между понятиями «микроконтроллер» и «микропроцессор»Диаграмма, поясняющая различие между понятиями «микроконтроллер» и «микропроцессор»

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

Микроконтроллеры и цифровые сигнальные процессоры (DSP)

Цифровой сигнальный процессор (или DSP) – это микропроцессор, оптимизированный для сложных вычислительных задач, таких как цифровая фильтрация, математический анализ сигналов в реальном времени и сжатие данных. Очень сложный микроконтроллер может быть в состоянии заменить цифровой сигнальный процессор, но он всё еще считается микроконтроллером, если значительная часть его внутренней схемы предназначена для управления, мониторинга и связи с окружающей системой.

Основные узлы микроконтроллера

Микроконтроллер состоит из центрального процессора (ЦП, CPU), энергонезависимой памяти, энергозависимой памяти, периферийных устройств и вспомогательных цепей.

Центральный процессор (CPU)

Центральный процессор выполняет арифметические операции, управляет потоком данных и генерирует управляющие сигналы в соответствии с последовательностью инструкции, созданных программистом. Эта чрезвычайно сложная схема, необходимая для функциональности процессора, разработчику не видна. Фактически, благодаря интегрированным средам разработки и языкам высокого уровня, таким как C, написание кода для микроконтроллеров часто является довольно простой задачей.

Память

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

Энергозависимая память (то есть ОЗУ, RAM) используется для временного хранения данных. Эти данные теряются, когда микроконтроллер теряет питание. Внутренние регистры также обеспечивают временное хранение данных, но мы не рассматриваем их как отдельный функциональный блок, поскольку они интегрированы в центральный процессор.

Периферийные устройства

Мы используем слово «периферия» для описания аппаратных модулей, которые помогают микроконтроллеру взаимодействовать с внешней системой. Следующие пункты описывают различные категории периферийных устройств и приводят их примеры.

  • Преобразователи данных: аналого-цифровой преобразователь, цифро-аналоговый преобразователь, генератор опорного напряжения. Данный график демонстрирует данные трехосевого акселерометра, оцифрованные с помощью встроенного АЦП микроконтроллераДанный график демонстрирует данные трехосевого акселерометра, оцифрованные с помощью встроенного АЦП микроконтроллера
  • Генерирование тактовых сигналов: внутренний генератор, схема на кварцевом резонаторе, петля фазовой автоподстройки частоты.
  • Расчет времени: таймер общего назначения, часы реального времени, счетчик внешних событий, широтно-импульсная модуляция.
  • Обработка аналоговых сигналов: операционный усилитель, аналоговый компаратор.
  • Ввод/вывод: цифровые входные и выходные цепи общего назначения, параллельный интерфейс памяти.
  • Последовательная связь: UART, SPI, I2C, USB

Вспомогательные цепи

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

  • Схема отладки позволяет разработчику тщательно контролировать микроконтроллер во время выполнения инструкций. Это важный, а иногда и необходимый метод отслеживания ошибок и оптимизации производительности прошивки.
  • Прерывания являются чрезвычайно ценным видом работы микроконтроллера. Прерывания генерируются внешними или внутренними аппаратными событиями и заставляют процессор немедленно реагировать на эти события, выполняя определенную группу инструкций. Программы микроконтроллера, написанные на C, организованы в функции. Прерывание заставляет выполение программы «переходить» в процедуру обработки прервывания (ISR), и после того, как ISR завершил выполение своих задач, процессор возвращается к функции, которая выполнялась, когда произошло прерывание.Программы микроконтроллера, написанные на C, организованы в функции. Прерывание заставляет выполнение программы «переходить» в процедуру обработки прерывания (ISR), и после того, как ISR завершил выполнение своих задач, процессор возвращается к функции, которая выполнялась, когда произошло прерывание.
  • Модуль генерирования тактового сигнала можно считать периферийным устройством, если он предназначен для генерирования сигналов, которые будут использоваться вне микросхемы. Но во многих случаях основная цель внутреннего генератора микроконтроллера состоит в том, чтобы предоставить тактовый сигнал для центрального процессора и периферийных устройств. Внутренние генераторы часто имеют низкую точность, но в приложениях, которые могут допускать эту низкую точность, они являются удобным и эффективными способом упростить конструкцию и сэкономить место на плате.
  • Микроконтроллеры могут включать в себя различные типы схем электропитания. Интегрированные стабилизаторы напряжения позволяют в самой микросхеме генерировать необходимое напряжение питания, модули управления питанием могут использоваться для значительного снижения потребления тока устройством в неактивных состояниях, а модули супервизора могут переводить процессор в состояние сброса, когда напряжение питания недостаточно высоко, чтобы обеспечить надежную работу.

Следующие статьи

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

В следующей статье этой серии «Введение в микроконтроллеры» мы расскажем, как правильно выбрать микроконтроллер. Затем мы перейдем к чтению технического описания на микроконтроллер.

Оригинал статьи:

Теги

MCUВстраиваемые системыМикроконтроллерМикропроцессорПроектирование встраиваемых систем

Сохранить или поделиться

Применение микроконтроллеров. Управление разными устройствами.Применение микроконтроллеров

Здравствуйте, уважаемые читатели и гости сайта Power Coup Electric. В сегодняшней статье мы поговорим про применение микроконтроллеров.

Что такое микроконтроллер

Микроконтроллер — это специальная микросхема, предназначенная для управления различными электронными устройствами. Микроконтроллеры впервые появились в том же году, что и микропроцессоры общего назначения (1971). Разработчики микроконтроллеров придумали – объединить процессор, память, ПЗУ и периферию внутри одного корпуса, внешне похожего на обычную микросхему. С тех пор производство микроконтроллеров ежегодно во много раз превышает производство процессоров, а потребность в них не снижается.

Микроконтроллеры выпускают десятки компаний, причем производятся не только современные 32-битные микроконтроллеры, но и 16, и даже 8-битные. Внутри каждого семейства часто можно встретить почти одинаковые модели, различающиеся скоростью работы ЦПУ и объемом памяти.

Применение микроконтроллеров

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

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

Применение микроконтроллеров

   Применение микроконтроллеров в программируемых реле

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

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

Вот краткий список периферии микроконтроллеров, из которого вы можете сделать выводы о возможных сферах и доступных областях применимости этих крохотных микросхем:

  • универсальные цифровые порты, настраиваемые либо на ввод, либо на вывод
  • разнообразные интерфейсы ввода-вывода: UART, SPI, I²C, CAN, IEEE 1394, USB, Ethernet
  • цифро-аналоговые и аналого-цифровые преобразователи
  • компараторы
  • широтно-импульсные модуляторы (ШИМ-контроллер)
  • таймеры
  • контроллеры бесколлекторных (и шаговых) двигателей
  • контроллеры клавиатур и дисплеев
  • радиочастотные передатчики и приемники
  • массивы интегрированной флеш-памяти
  • встроенные сторожевой таймер и тактовый генератор

Как вы уже поняли, микроконтроллером называется небольшого размера микросхема, на кристалле которой смонтирован крохотный компьютер. Это значит, что внутри небольшого чипа есть и процессор, и ПЗУ, и ОЗУ, и периферийные устройства, которые способны взаимодействовать как между собой, так и со внешними компонентами, достаточно лишь загрузить в микросхему программу.

Применение микроконтроллеров

   Применение микроконтроллеров

Программа обеспечит работу микроконтроллера по назначению — он сможет по правильному алгоритму управлять окружающей его электроникой (в частности: бытовой техникой, автомобилем, ядерной электростанцией, роботом, солнечным трекером и т. д.).

Тактовая частота микроконтроллера (или скорость шины) отражает то, сколько вычислений сможет выполнить микроконтроллер за единицу времени. Так, производительность микроконтроллера и потребляемая им мощность с повышением скорости шины увеличиваются.

Измеряется производительность микроконтроллера в миллионах инструкций в секунду — MIPS (Million Instruсtions per Second). Так, популярный контроллер Atmega8, выполняя одну полноценную инструкцию за один такт, достигает производительности 1 MIPS на МГц.

Применение микроконтроллеров

   Микроконтроллер Atmega8

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

Пример такого универсального контроллера — тот же Atmega8, на котором собирают: таймеры, часы, мультиметры, индикаторы домашней автоматики, драйверы шагового двигателя и т.д.

Среди популярных производителей микроконтроллеров отметим: Atmel, Hitachi, Intel, Infineon Technologies, Microchip, Motorola, Philips, Texas Instruments.

Классифицируются микроконтроллеры в основном по разрядности данных, которые обрабатывает арифметико-логическое устройство контроллера: 4, 8, 16, 32, 64 — разрядные. И 8-разрядные, как отмечалось выше, занимают существенную долю рынка. Следом идут 16-разрядные микроконтроллеры, затем DSP-контроллеры, применяемые для обработки сигналов.

Советы по выбору микроконтроллеров

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

Основными факторами подбора микроконтроллера являются:
  1. Способность работы с прикладной системой. Возможность реализации этой системы на однокристальном микроконтроллере, или на специализированной микросхеме.
  2. Наличие в микроконтроллере необходимого количества портов, контактов, так как при их нехватке он не будет способен выполнить задачу, а если будут лишние порты, то стоимость будет завышена.
  3. Наличие необходимых устройств периферии: различных преобразователей, интерфейсов связи.
  4. Наличие других вспомогательных устройств, ненужных для работы, из-за которых повышается стоимость.
  5. Обеспечение требуемой производительности: мощность вычислений, дающую возможность обработки запросов системы на определенном прикладном языке программирования.
  6. Имеется ли в проекте бюджета достаточно финансов, чтобы применять дорогостоящий микроконтроллер. Если он не подходит по цене, то остальные вопросы не имеют смысла, и разработчик должен искать другой микроконтроллер.
  7. Надежность завода изготовителя.
  8. Информационная поддержка.
  9. Доступность. В этот фактор входят следующие пункты:
  • Выпускается ли в настоящее время.
  • Наличие поддержки разработчика.
  • Наличие языков программирования, внутрисхемных эмуляторов, средств отладки и компиляторов.

Микроконтроллеры, введение

Смотрите также по этой теме:

   Dc Dc преобразователь. Устройство и принцип работы основных схем.

 

Будем рады, если подпишетесь на наш Блог!

[wysija_form id=»1″]

Микроконтроллеры

Введение, типы и применение микроконтроллеров

Что такое микроконтроллер?

Микроконтроллер — это небольшой, недорогой и автономный компьютер на кристалле, который можно использовать в качестве встроенной системы. Несколько микроконтроллеров могут использовать четырехбитные выражения и работать на тактовых частотах, которые обычно включают:

  • 8 или 16-битный микропроцессор.
  • Небольшая мера оперативной памяти.
  • Программируемое ПЗУ и флэш-память.
  • Параллельный и последовательный ввод / вывод.
  • Таймеры и генераторы сигналов.
  • Аналого-цифровое и цифро-аналоговое преобразование

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


Как классифицируются микроконтроллеры?

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

Типы микроконтроллеров показаны на рисунке, они характеризуются своими битами, архитектурой памяти, памятью / устройствами и набором команд.Давайте кратко обсудим это.

Types of Microcontrollers Types of Microcontrollers Типы микроконтроллеров

Классификация по количеству битов

Биты в микроконтроллере представляют собой 8-битный, 16-битный и 32-битный микроконтроллер.

В 8-битном микроконтроллере , когда внутренняя шина является 8-битной, то ALU выполняет арифметические и логические операции. Примерами 8-битных микроконтроллеров являются семейства Intel 8031/8051, PIC1x и Motorola MC68HC11.

PCBWay PCBWay

Микроконтроллер 16-битный обладает большей точностью и производительностью по сравнению с 8-битными.Например, 8-битные микроконтроллеры могут использовать только 8 бит, что приводит к конечному диапазону 0 × 00 — 0xFF (0-255) для каждого цикла. Напротив, 16-битные микроконтроллеры с шириной данных 16 бит имеют диапазон 0 × 0000 — 0xFFFF (0-65535) для каждого цикла. Более долговременный таймер может оказаться полезным в определенных приложениях и схемах. Он может автоматически работать с двумя 16-битными числами. Некоторыми примерами 16-битного микроконтроллера являются 16-битные микроконтроллеры, расширенные семейства 8051XA, PIC2x, Intel 8096 и Motorola MC68HC12.

3236-разрядный микроконтроллер использует 32-разрядные инструкции для выполнения арифметических и логических операций. Они используются в устройствах с автоматическим управлением, включая имплантируемые медицинские устройства, системы управления двигателем, офисные машины, бытовые приборы и другие типы встроенных систем. Некоторые примеры — семейство Intel / Atmel 251, PIC3x.

Классификация по устройствам памяти

Запоминающие устройства делятся на два типа:

  • Микроконтроллер со встроенной памятью
  • Микроконтроллер внешней памяти

Микроконтроллер со встроенной памятью : Когда во встроенной системе имеется микроконтроллер с модулем памяти Все функциональные блоки, имеющиеся на чипе, называются встроенным микроконтроллером.Например, 8051, имеющий память для программ и данных, порты ввода / вывода, последовательную связь, счетчики и таймеры и прерывания на чипе, является встроенным микроконтроллером.

Микроконтроллер внешней памяти : Если во встроенной системе имеется микроконтроллер, в котором не все функциональные блоки, имеющиеся в микросхеме, называется микроконтроллером внешней памяти. Например, 8031 ​​не имеет программной памяти на чипе, является микроконтроллером внешней памяти.

Классификация в соответствии с набором инструкций

CISC : CISC — это компьютер со сложным набором инструкций.Это позволяет программисту использовать одну инструкцию вместо многих более простых инструкций.

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

Пример для CISC и RISC:

CISC : Mov AX, 4 RISC : Mov AX, 0
Mov BX, 2 Mov BX, 4
ADD BX, AX Mov CX, 2
Начало ADD AX, BX
Loop Начало

Из приведенного выше примера системы RISC сокращают время выполнения за счет сокращения тактовых циклов на инструкцию, а системы CISC сокращают время выполнения за счет уменьшения количества команд на программу.RISC дает лучшее исполнение, чем CISC.

Классификация в соответствии с архитектурой памяти

Архитектура памяти микроконтроллера бывают двух типов, а именно:

  • Микроконтроллер архитектуры памяти Гарварда
  • Микроконтроллер архитектуры памяти Принстона

Микроконтроллер архитектуры Гарвардской памяти 900con: Точка, когда микроконтроллер имеет разное адресное пространство памяти для программ и памяти данных, микроконтроллер имеет гарвардскую архитектуру памяти в процессоре.

Princeton Memory Architecture Микроконтроллер : точка, когда микроконтроллер имеет общий адрес памяти для памяти программ и памяти данных, микроконтроллер имеет архитектуру памяти Princeton в процессоре.

5 Приложения микроконтроллеров

Микроконтроллер имеет много приложений электронного оборудования

  • Мобильные телефоны
  • Автомобили
  • Стиральные машины
  • Камеры
  • Сигналы безопасности

4 Типы микроконтроллеров

9374 (9) (

)

Все 9 Все 9 представляет собой 40-контактный микроконтроллер с Vcc 5 В, подключенным к контакту 40, и Vss на контакте 20, который остается 0 В.И есть входные и выходные порты от P1.0 до P1.7, которые имеют функцию открытого стока. Port3 имеет дополнительные функции. Контакт 36 имеет состояние открытого стока, а контакт 17 имеет встроенный транзистор внутри микроконтроллера. Когда мы применяем логику 1 в порту 1, тогда мы получаем логику 1 в порту 21 и наоборот. Программирование микроконтроллера крайне сложно. В основном мы пишем программу на C-языке, которая затем преобразуется в машинный язык, понятный микроконтроллеру. Контакт RESET подключен к контакту 9, связанному с конденсатором.Когда переключатель включен, конденсатор начинает заряжаться и RST имеет высокий уровень. Применение высокого значения к выводу сброса сбрасывает микроконтроллер. Если мы применим логический ноль к этому выводу, программа начнет выполнение с начала.

Память Архитектура 8051

Память 8051 разделена на две части. Это память программ и память данных. В памяти программ хранится выполняемая программа, а в памяти данных временно хранятся данные и результаты. 8051 используется в широком количестве устройств, в основном потому, что его легко интегрировать в устройство.Микроконтроллеры в основном используются для управления энергопотреблением, сенсорного экрана, автомобилей и медицинских приборов.

Program Memory of 8051 Program Memory of 8051 Программная память 8051 и Data Memory of 8051 Data Memory of 8051 Память данных 8051

Пин Описание микроконтроллера 8051

Pin-40: Vcc является основным источником питания + 5 В постоянного тока.
Контакт 20: Vss — представляет заземление (0 В).
Pins 32-39: Известен как порт 0 (P0.0 до P0.7) для использования в качестве портов ввода / вывода.
Pin-31: Разрешение фиксации адреса (ALE) используется для демультиплексирования сигнала адрес-данные порта 0.
Pin-30: (EA) Вход внешнего доступа используется для включения или отключения интерфейса внешней памяти. Если нет необходимости во внешней памяти, этот вывод всегда держится на высоком уровне.
Вывод 29: Включение сохранения программ (PSEN) используется для считывания сигнала из внешней памяти программ.
Pins- 21-28: Известен как порт 2 (P 2.0 — P 2.7) — помимо того, что он служит в качестве порта ввода / вывода, сигналы шины адреса более высокого порядка мультиплексируются с этим квази двунаправленным портом.
Выводы 18 и 19: Используются для сопряжения внешнего кристалла для обеспечения системных часов.
Pins 10 — 17: Этот порт также выполняет некоторые другие функции, такие как прерывания, вход таймера, сигналы управления для взаимодействия с внешней памятью Read и Write. Это квази двунаправленный порт с внутренним подтягиванием.
Вывод 9: Это вывод RESET, используемый для установки микроконтроллера 8051 на его начальные значения, когда микроконтроллер работает или при начальном запуске приложения. Вывод RESET должен быть установлен на 2 рабочих цикла.
Pins 1 — 8: Этот порт не выполняет никаких других функций.Порт 1 — это квази-двунаправленный порт ввода-вывода.

Renesas Microcontroller

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

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

Renesas Renesas Renesas

Renesas предлагает самые универсальные семейства микроконтроллеров в мире, например, наше семейство RX предлагает много типов устройств с вариантами памяти от 32K флэш / 4K RAM до невероятной 8M флэш / 512K RAM.

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

Семейство микроконтроллеров RX использует 32-разрядную улучшенную архитектуру Harvard CISC для достижения очень высокой производительности.

Pin Описание:

Расположение контактов микроконтроллера Renesas показано на рисунке:

Renesas cir Renesas cir

Это 20-контактный микроконтроллер. Контакт 9 — это Vss, контакт заземления и Vdd, контакт источника питания. Он имеет три различных типа прерывания: нормальное, быстрое и высокоскоростное.

Обычные прерывания сохраняют значимые регистры в стеке, используя инструкции push и pop.Быстрые прерывания автоматически сохраняют счетчик программы и слово состояния процессора в специальных резервных регистрах, поэтому время отклика сокращается. А высокоскоростные прерывания выделяют до четырех основных регистров для выделенного использования прерыванием, чтобы еще больше увеличить скорость. Структура внутренней шины дает 5 внутренних шин, чтобы гарантировать, что обработка данных не замедляется. Извлечение инструкций происходит по широкой 64-битной шине, так что из-за инструкций переменной длины, используемых в архитектурах CISC.

Особенности и преимущества микроконтроллеров RX

  • Низкое энергопотребление реализовано с помощью многоядерной технологии
  • Поддержка работы 5 В для промышленных устройств и устройств
  • Масштабируемость от 48 до 145 контактов и от 32 КБ до 1 МБ флэш-памяти, с Флэш-память данных объемом 8 КБ включает
  • Интегрированная функция безопасности
  • Интегрированный многофункциональный набор функций из 7 UART, I2C, 8 SPI, компараторов, 12-разрядного АЦП, 10-разрядного ЦАП и 24-разрядного АЦП (RX21A), который уменьшит стоимость системы за счет интеграции большинства функций

Применение микроконтроллера Renesas:

  • Промышленная автоматизация
  • Приложения связи
  • Приложения управления двигателем
  • Тестирование и измерение
  • Медицинские приложения

Микроконтроллеры AVR

Разработана микроконтроллером AVR Эгиль Боген и Вегард Воллан из корпорации Atmel.Микроконтроллеры AVR — это модифицированная гарвардская архитектура RISC с отдельной памятью для данных и программ, а скорость AVR высока по сравнению с 8051 и PIC. AVR — это A lf-Egil Bogen и V egard Wollan ISC-процессор R .

Разница между контроллерами 8051 и AVR:

  • 8051 — это 8-битные контроллеры на основе архитектуры CISC, AVR — 8-битные контроллеры на основе архитектуры RISC
  • 8051 потребляет больше энергии, чем микроконтроллер AVR
  • В 8051 мы можем программировать Легче, чем микроконтроллер AVR
  • Скорость AVR больше, чем у микроконтроллера 8051

Классификация контроллеров AVR:

Микроконтроллеры AVR подразделяются на три типа:

  • TinyAVR — меньше памяти, малый размер, подходит только для более простых приложения
  • MegaAVR — это самые популярные из них, имеющие хороший объем памяти (до 256 КБ), большее количество встроенных периферийных устройств и подходящие для умеренных и сложных приложений
  • XmegaAVR — коммерчески используются для сложных приложений, которые требуют большой памяти программ и высокая скорость

Особенности микроконтроллера AVR:

  • 16KB In-Sys Программируемая флэш-память
  • 512B встроенного в систему программируемого EEPROM
  • 16-разрядный таймер с дополнительными функциями
  • Множество внутренних генераторов
  • Внутренняя, самопрограммируемая флэш-память инструкций до 256K
  • Внутрисистемная программируемая с использованием ISP, JTAG или методы высокого напряжения
  • Дополнительная секция кода загрузки с независимыми битами блокировки для защиты
  • Синхронные / асинхронные последовательные периферийные устройства (UART / USART)
  • Шина последовательного периферийного интерфейса (SPI)
  • Универсальный последовательный интерфейс (USI) для двух / трехпроводных синхронная передача данных
  • Сторожевой таймер (WDT)
  • Множество энергосберегающих режимов ожидания
  • 10-разрядные аналого-цифровые преобразователи с мультиплексированием до 16 каналов
  • Поддержка контроллера CAN и USB
  • Работающие низковольтные устройства до 1.8v

Существует много микроконтроллеров семейства AVR, таких как ATmega8, ATmega16 и так далее. В этой статье мы поговорим о микроконтроллере ATmega328. ATmega328 и ATmega8 являются совместимыми по выводам интегральными схемами, но функционально они различны. ATmega328 имеет флэш-память 32 КБ, где ATmega8 имеет 8 КБ. Другими отличиями являются дополнительные SRAM и EEPROM, добавление прерываний смены контактов и таймеров. Некоторые из характеристик ATmega328:

Особенности ATmega328:

  • 28-контактный микроконтроллер AVR
  • Флэш-память программ объемом 32 КБ
  • ЭСППЗУ объемом 1 КБ
  • Память данных SRAM 2 Кбайт /
  • 000 ОЗУ 23
  • Два 8-разрядных таймера
  • Аналого-цифровой преобразователь
  • Шестиканальный ШИМ
  • Встроенный внешний генератор USART
  • : до 20 МГц

-контактный Описание ATmega328 :

Имеется 28-контактный DIP , показано на рисунке ниже:

AVR AVR AVR

Vcc: Цифровое напряжение питания.

GND: Земля.

Порт B: Порт B — это 8-битный двунаправленный порт ввода-вывода. Выводы порта B устанавливаются трижды, когда условие сброса становится активным или единичным, даже если часы не работают.

Порт C: Порт C — это 7-битный двунаправленный порт ввода-вывода с внутренними подтягивающими резисторами.

PC6 / RESET

Порт D: Это 8-битный двунаправленный порт ввода-вывода с внутренними подтягивающими резисторами. Выходные буферы порта D состоят из симметричных характеристик привода.

AVcc: AVcc — это вывод напряжения питания для АЦП.

AREF: AREF — аналоговый эталонный вывод для АЦП.

Типичная схема микроконтроллера AVR:

AVR cir AVR cir

Применение микроконтроллера AVR:

Существует множество применений микроконтроллера AVR; они используются в домашней автоматизации, сенсорных экранах, автомобилях, медицинских приборах и обороне.

PIC Микроконтроллер

PIC — контроллер периферийных интерфейсов, разработанный компанией General Instrument Microelectronics в 1993 году.Управляется программным обеспечением. Они могут быть запрограммированы для выполнения многих задач и управления линией генерации и многим другим. Микроконтроллеры PIC находят свое применение в новых приложениях, таких как смартфоны, аудиоаппаратура, периферия для видеоигр и современные медицинские устройства.

Существует много PIC, начатых с PIC16F84 и PIC16C84. Но это были единственные доступные флеш-карты. Microchip недавно представила флэш-чипы с типами, которые гораздо более привлекательны, такие как 16F628, 16F877 и 18F452.16F877 примерно в два раза дороже старого 16F84, но имеет восьмикратный размер кода, намного больше оперативной памяти, гораздо больше выводов ввода / вывода, UART, аналого-цифровой преобразователь и многое другое.

PIC PIC

Особенности PIC16F877

Основные характеристики:

  • Высокопроизводительный ЦП RISC
  • До 8K x 14 слов памяти программ FLASH
  • 35 инструкций (кодирование 14-битной фиксированной длины)
  • Память на основе статической ОЗУ 368 × 8
  • Память данных ЭСППЗУ до 256 х 8
  • Возможность прерывания (до 14 источников)
  • Три режима адресации (прямой, косвенный, относительный)
  • Сброс при включении питания ( POR)
  • Память гарвардской архитектуры
  • Энергосберегающий режим SLEEP
  • Широкий диапазон рабочих напряжений: 2.От 0 В до 5,5 В
  • Высокий ток потребления / источника: 25 мА
  • Аппарат с аккумулятором

Характеристики периферийных устройств:

  • 3 Таймер / счетчики (программируемые предварительные скаляры)

— Таймер 0, Таймер 2 — 8-битный таймер / счетчик с 8-разрядным предскалярным

— Таймер 1 16-разрядный, может увеличиваться во время сна через внешний кристалл / часы

  • Два модуля захвата, сравнения, ШИМ-модулей

— Функция захвата входа записывает счетчик Таймера1 на контактный переход

— Выход функции ШИМ представляет собой прямоугольную волну с программируемым периодом и рабочим циклом.

  • 10-битный 8-канальный аналого-цифровой преобразователь
  • USART с 9-битным обнаружением адресов
  • Синхронный последовательный порт с главным режимом и ведущим / подчиненным I2C
  • 8-битный параллельный порт подчиненного устройства

Аналоговые особенности:

  • 10-разрядный, до 8-канальный аналого-цифровой преобразователь (A / D)
  • Сброс с отключением (BOR)
  • Модуль аналогового компаратора
  • (программируемое входное мультиплексирование с входов устройства и выходов компаратора доступно извне )

Pin Описание PIC16F877A:

PIC micro PIC micro

PIC microcon PIC microcon

PIC microcontro PIC microcontro

Преимущества PIC:

  • Это эффективный дизайн, код RISC
  • . с обычно меньшим объемом памяти программ, чем у его более крупных конкурентов
  • Это низкая стоимость, высокая тактовая частота

A Типичная схема применения PIC16F877A:

905 36 PIC microcontroller

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

Что такое микроконтроллер?

Микроконтроллеры являются неотъемлемой частью встраиваемых систем. Микроконтроллер — это, в основном, дешевый и небольшой компьютер на одной микросхеме, который содержит процессор, небольшую память и программируемую периферию ввода-вывода. Они предназначены для использования в автоматически контролируемых продуктах и ​​устройствах для выполнения предварительно определенных и предварительно запрограммированных задач. Чтобы получить лучшее представление о том, что на самом деле является микроконтроллером; Давайте посмотрим на пример продукта, где используется микроконтроллер.Цифровой термометр, который отображает температуру окружающей среды, использует микроконтроллер, который подключен к датчику температуры и блоку отображения (например, ЖК-дисплей). Микроконтроллер здесь принимает данные от датчика температуры в необработанном виде, обрабатывает их и отображает на небольшом ЖК-дисплее в удобочитаемой форме. Точно так же один или несколько микроконтроллеров используются во многих электронных устройствах в зависимости от требований и сложности приложений.

Где они используются?

Микроконтроллеры

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

Почему мы используем микроконтроллеры?

Микроконтроллеры

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

Поскольку микроконтроллеры имеют такие функции, как встроенный микропроцессор, ОЗУ, ПЗУ, последовательные интерфейсы, параллельные интерфейсы, аналого-цифровой преобразователь (АЦП), цифро-аналоговый преобразователь (ЦАП) и т. Д., Что позволяет легко создавать приложения вокруг него. Кроме того, среда программирования микроконтроллеров предлагает широкие возможности для управления различными типами приложений в соответствии с их требованиями.

Какие существуют типы микроконтроллеров?

На рынке представлен широкий ассортимент микроконтроллеров.Различные компании, такие как Atmel, ARM, Microchip, Texas Instruments, Renesas, Freescale, NXP Semiconductors и т. Д., Производят микроконтроллеры различных типов с различными функциями. Изучая различные параметры, такие как программируемая память, размер вспышки, напряжение питания, контакты ввода / вывода, скорость и т. Д., Можно выбрать подходящий микроконтроллер для их применения.

Давайте посмотрим на эти параметры и различных типов микроконтроллеров в соответствии с этими параметрами.

Шина данных (размер бита):

При классификации по размеру в битах большинство микроконтроллеров имеют диапазон от 8 до 32 бит (также доступны микроконтроллеры с более высокими битами). В 8-разрядном микроконтроллере его шина данных состоит из 8 строк данных, в то время как в 16-разрядном микроконтроллере его шина данных состоит из 16 строк данных и т. Д. Для 32-разрядных и выше микроконтроллеров.

Память:

Микроконтроллерам

требуется память (RAM, ROM, EPROM, EEPROM, флэш-память и т. Д.) Для хранения программ и данных.В то время как некоторые микроконтроллеры имеют встроенные микросхемы памяти, другие требуют подключения внешней памяти. Их называют микроконтроллерами со встроенной памятью и микроконтроллерами с внешней памятью соответственно. Размер встроенной памяти также различается в разных типах микроконтроллеров, и, как правило, вы найдете микроконтроллеры с объемом памяти от 4 до 4 МБ.

Количество входов / выходов:

Микроконтроллеры

различаются в зависимости от количества размеров выводов ввода-вывода.Можно выбрать определенный микроконтроллер согласно требованию приложения.

Набор инструкций:

Существует два типа наборов команд — RISC и CISC. Микроконтроллер может использовать RISC (компьютер с сокращенным набором инструкций) или CISC (компьютер с комплексным набором инструкций). Как следует из названия, RISC сокращает время операции, определяющее тактовый цикл инструкции; в то время как CISC позволяет применять одну инструкцию в качестве альтернативы многим инструкциям.

Память Архитектура:

Существует два типа микроконтроллеров — микроконтроллеры с архитектурой памяти Harvard и микроконтроллеры с архитектурой памяти Princeton.

Вот некоторые популярные микроконтроллеры среди студентов и любителей.

Микроконтроллеры серии 8051 (8 бит)

микроконтроллеров AVR от Atmel (серия ATtiny, ATmega)

Микроконтроллеры серии PIC от Microchip

микроконтроллеров Texas Instruments, таких как MSP430

ARM Микроконтроллеры

Особенности микроконтроллеров

Микроконтроллеры

используются во встраиваемых системах для их различных функций.Как показано на приведенной ниже блок-схеме микроконтроллера, он состоит из процессора, выводов ввода / вывода, последовательных портов, таймеров, АЦП, ЦАП и управления прерываниями.

Microcontroller Block Diagram

Процессор или CPU

Процессор

— это мозг микроконтроллера. Когда ввод осуществляется через входные контакты и инструкции через программы, он обрабатывает данные соответствующим образом и выдает на выходные выводы.

Память

Микросхемы памяти

встроены в микроконтроллер для хранения всех программ и данных.В микроконтроллеры могут быть встроены разные типы памяти, такие как RAM, ROM, EPROM, EEPROM, Flash-память и т. Д.

портов ввода-вывода

Каждый микроконтроллер имеет входные выходные порты. В зависимости от типов микроконтроллеров количество входных выходных контактов может варьироваться. Они используются для взаимодействия с внешними устройствами ввода и вывода, такими как датчики, устройства отображения и т. Д.

последовательных портов

Они облегчают последовательный интерфейс микроконтроллеров с другими периферийными устройствами.Последовательный порт — это интерфейс последовательной связи, через который информация передается по одному биту за раз.

АЦП и ЦАП

Иногда встроенным системам необходимо преобразовывать данные из цифровых в аналоговые и наоборот. Таким образом, большинство микроконтроллеров объединены со встроенным АЦП (аналого-цифровой преобразователь) и ЦАП (цифро-аналоговые преобразователи) для выполнения требуемого преобразования.

Таймеры

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

Контроль прерывания

Управление прерываниями — одна из мощных функций микроконтроллеров. Это своего рода уведомление, которое прерывает текущий процесс и дает указание выполнить задачу, определенную контролем прерываний.

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

[Также читайте: Разница между микропроцессором и микроконтроллером]

,
Что такое микроконтроллеры и почему вы должны заботиться?

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

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

Сказав это, давайте сегодня уделим минутку, чтобы узнать об одной из технологий, лежащих в основе всех современных вычислений.

Микроконтроллеры являются одним из самых фундаментальных компонентов любого компьютера; на самом деле они намного интереснее, чем вы думаете, и они также гораздо полезнее.

Что такое микроконтроллер?

What Are Microcontrollers and Why Should You Care? Источник: Wikimedia Commons

На самом базовом уровне микроконтроллер — это компьютер. Что, честно говоря, уже сбивает с толку. Но подумайте об этом так: все компьютеры, от гигантских мэйнфреймов до смартфонов, имеют несколько общих черт:

— они содержат ЦП (центральный процессор), который выполняет программы,

— у них есть хранилище для загрузки Эти программы,

,

, имеют некоторое ОЗУ (оперативное запоминающее устройство), в котором может храниться временная информация,

,

, и имеют некоторую форму устройств ввода и вывода.

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

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

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

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

Однако более сложные микроконтроллеры могут выполнять важные функции в самолетах, грузовых судах, транспортных средствах, медицинских системах и системах жизнеобеспечения, роботах и ​​даже на международной космической станции.

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

К ним относятся: встраивание в другие продукты для управления определенной функцией большей машины, выделение для одной задачи, наличие установленного устройства ввода, которое никогда не меняется, и, конечно, микро.

Как правило, микроконтроллеры малы, потому что их смысл в том, чтобы их можно было использовать вместе, и никто не хочет тащить компьютер большего размера, когда у него может быть меньший.

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

Если, однако, вы планируете заняться компьютерной областью, изучение входов и выходов из микроконтроллеров эквивалентно врачу, имеющему базовые знания в области анатомии.

Почему вы должны заботиться:

What Are Microcontrollers and Why Should You Care? Источник: Pexels

Хорошо, посмотрите, правда в том, что большинству из нас, вероятно, действительно не нужно знать все это.

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

Но, тем не менее, вы должны знать обо всем этом, потому что со временем оно должно стать более важным.

Поскольку технологии продолжают развиваться, мы быстро приближаемся к теоретическому пределу эффективности наших компьютеров.Вскоре просто не удастся сделать основные компоненты компьютерного чипа меньше.

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

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

Путь будущего…

What Are Microcontrollers and Why Should You Care? Источник: YellowCloud

Будущее имеет много потенциальных достижений для этой технологии. Давайте рассмотрим только два из них.

Изготовленные на заказ процессоры: Большинство микроконтроллеров и связанных с ними процессоров сегодня предназначены для «общего назначения» и предназначены для поддержки широкого спектра приложений.

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

Но теперь мы начинаем осознавать стоимость этого чрезмерного дизайна не только в пространстве и материалах, но и в огромных потерях в потреблении энергии.

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

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

Пластиковые микроконтроллеры: Исследователи из некоторых лучших учреждений мира работают над проектом, направленным на создание дешевых одноразовых микроконтроллеров, напечатанных на пластике, с уровнем точности всего 2 микрона.

Несмотря на то, что пластиковые чипы не являются передовым достижением в вычислительном отношении, они получат выгоду от предполагаемой на 90% более низкой стоимости ИС, чем кремниевые чипы.

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

Это может привести к невероятным новым достижениям, таким как гибкие датчики, одноразовые / утилизируемые дисплеи, упаковка для пищевых продуктов, которая сообщает вам, когда еда испортилась, или даже бутылки с таблетками, которые напоминают вам о необходимости принимать лекарства.

В слове микроконтроллера есть десятки других достижений, которые находятся на грани переопределения всего поля.

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

Именно поэтому так важны микроконтроллеры.

Простая английская Википедия, бесплатная энциклопедия

Микроконтроллер (сокращенно MCU или мкК ) — это компьютерная система на чипе, которая выполняет свою работу. Он содержит встроенный процессор, память (небольшой объем ОЗУ, программную память или и то и другое) и программируемые периферийные устройства ввода / вывода, которые используются для взаимодействия с объектами, подключенными к чипу. [1] Микроконтроллер отличается от микропроцессора, который содержит только ЦП (тип, используемый в персональном компьютере). [2]

Впервые выпущенные в 1971 году компанией Intel, микроконтроллеры стали популярными в первые годы. Затем был выпущен чрезвычайно полезный микропроцессор Intel 8008, но он все еще был непрактичным из-за высокой стоимости каждого чипа. Эти первые микроконтроллеры объединили разные типы компьютерной памяти в одном устройстве. [3] После того, как люди начали понимать, насколько они полезны, микроконтроллеры постоянно обновлялись, и люди пытались найти новые способы сделать их лучше.С течением времени стоимость снизилась, и к началу 2000-х годов по всему миру стали широко использоваться микроконтроллеры.

Другими терминами для микроконтроллера являются встроенная система и встроенный контроллер, поскольку микроконтроллер и его схемы поддержки часто встроены или встроены в один чип. [4]

В дополнение к обычным арифметическим и логическим элементам обычного микропроцессора, микроконтроллер также имеет дополнительные элементы, такие как ОЗУ для хранения данных, постоянная память для хранения программ, флэш-память для постоянного хранения данных и другие устройства (периферийные устройства). , [5]

Микроконтроллеры часто работают на очень низкой скорости по сравнению с микропроцессорами (с тактовой частотой всего 32 кГц), но это полезно для типичных приложений. Они также потребляют очень мало энергии (милливатты или даже микроватты). [6]

Микроконтроллеры используются в автоматических продуктах и ​​устройствах, таких как системы автомобильных двигателей, пульты дистанционного управления, машины, приборы, электроинструменты и игрушки. Они называются встроенными системами. Микроконтроллеры также можно найти на работах по сбору солнечной энергии и энергии, антиблокировочных тормозных систем в автомобилях, а также во многих областях применения в медицинской сфере. [7]

  1. Dictionary «Словарь встраиваемых систем» Джека Гансле и Майка Барра, с.173
  2. «Как работают микроконтроллеры». HowStuffWorks . 1 апреля 2000 г.
  3. ↑ «Микроконтроллеры: теория и приложения», Аджай В Дешмух, с.6
  4. Бил, Ванги. «Что такое микроконтроллер? Определение Webopedia». www.webopedia.com .
  5. «Архитектура и программирование 8051 микроконтроллеров (электронная книга) 1.1 «. МикроЭлектроника .
  6. ИнженерыГараж. «Разница между микропроцессором и микроконтроллером». www.engineersgarage.com .
  7. ↑ http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/applications.page
,

Автор: alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *