Разное

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

Содержание

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

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

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

Работы над изобретением микропроцессора велись с начала 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. И необязательно иметь профильное высшее образование. Сейчас на просторах интернета много доступной информации, изучая которую можно разобраться в устройстве микроконтроллеров и научиться их программировать.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Память

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

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

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

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

  • Преобразователи данных: аналого-цифровой преобразователь, цифро-аналоговый преобразователь, генератор опорного напряжения.

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

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

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

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

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

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

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

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

Теги

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

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

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

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

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

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

Как микроконтроллеры завоевали мир
Архитектура 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 МГц, интерфейсы для подключения видеоматрицы и поддержку динамической памяти.

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

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

Доброго дня уважаемые радиолюбители!
Приветствую вас на сайте “Радиолюбитель“

Общее устройство микроконтроллеров: основа микроконтроллера, периферийные устройства

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

Микроконтроллеры фирмы ATMEL

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

Немножко истории.
Фирма ATMEL была создана в 1984 году, ее полное название – Advanced Technologi Memory and Logic.
Первый МК фирма выпустила в 1993 году.
В 1995 году была придумана новая архитектура процессорного ядра для МК, так называемое RISС-ядро (что это за диво, вы при желании можете ознакомиться в любой популярной литературе, а мы отвлекаться не будем).
Новую архитектуру МК назвали AVR. Идея новой архитектуры ядра оказалась очень удачной, и уже с 1997 года ATMEL начала серийный выпуск МК на основе RISC-ядра.

В настоящее время ATMEL выпускает в год несколько миллиардов МК разнообразных типов. Из всего этого множества мы выделим два семейств восьмиразрядных МК:

TINY AVR
MEGA AVR

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

Почему эти семейства МК называются восьмиразрядными (заодно узнаем что такое шины).



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

В МК имеется три шины:
1. Шина данных (Data Bus – по английски).
Шина данных — шина, предназначенная для передачи информации.
Эта шина служит только для передачи различных данных между устройствами. Эта шина двунаправленная: по ней устройство может как передавать, так и принимать данные. МК семейства Tiny и Mega могут за один раз передать или принять восемь бит информации (бит – наименьшая единица измерения данных в цифровой технике, одна логическая единица или один логический ноль – это один бит информации) . Такая шина называется восьмиразрядной (иногда встречается название – восьмибитовая), а отсюда и сами МК – восьмиразрядными (если грубо, то можно сказать, что все устройства соединены жгутами из восьми проводов).
Минимальная разрядность шины данных – 8 бит (меньше не бывает). Современные компьютеры имеют 64-разрядную шину данных. Разрядность шины данных всегда кратна 8 (восьмиразрядная, шестнадцатиразрядная, тридцатидвухразрядная…)
2. Шина адреса (Addr Bus – по английски).
Шина адреса — шина, на которой в ходе выполнения программы выставляется адрес ячейки памяти, к которой в данный момент времени должен обратиться МК чтобы считать или следующую команду, или данные, или в которую необходимо записать данные.
3. Шина управления (Control Bus – по английски).
Шина управления – шина, а точнее набор линий (проводников) по которым передаются управляющие сигналы с помощью которых определяется как будет происходить обмен информацией – или ее считывание из памяти, или запись в память, а также некоторые специальные сигналы – сигнал готовности, сигнал сброса.
Небольшой пример работы шин.
Необходимо записать число 60 в ячейку памяти:
– на шине адреса выставляется адрес ячейки памяти в которую необходимо записать число
– на шине управления выставляется сигнал записи
– по шине данных передается число 60, которое записывается в выбранную ячейку памяти.
Ну вот, как общаются устройства в МК между собой, мы вроде-бы разобрались. Идем дальше.

В современном МК много различных устройств, в каком-то типе больше, а в каком-то меньше, а кроме того, в разных МК эти устройства могут различаться по своим характеристикам. Но в МК есть то, что составляет его основу и присутствует во всех типах – процессорное ядро (микропроцессорная система – по аналогии с компьютером), которое состоит из трех основных устройств:
1. АЛУ – арифметико-логическое устройство (микропроцессор) которое выполняет все вычисления (выполняет нашу программу).
2. Память -предназначена для хранения программ, данных, а также любой другой нужной нам информации.
3. Порты ввода – вывода. Это выводы МК с помощью которых он общается с «внешним миром». При передаче информации МК выставляет на своих выводах соответствующие логические уровни (0 или 1). При приеме информации МК считывает с этих выводов логические уровни, которые выставлены внешним устройством.
Это трио – основа МК:

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

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

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

2. АЦП – аналогово-цифровой преобразователь.
Имеют не все МК.
АЦП – преобразователь аналогового напряжения в цифровую форму.
Аналоговое напряжение – это напряжение которое изменяется по напряжению во времени. Например – синусоидальный сигнал с выхода генератора частоты, напряжение в бытовой розетке, звуковой сигнал на колонках.
АЦП постоянно анализирует на своем входе величину напряжения и выдает на своем выходе цифровой код, соответствующий входному напряжению.
Примеры применения:
– цифровой вольтметр или амперметр
– процессорный стабилизатор напряжения
МК, которые имеют АЦП, также имеют раздельное питание для цифровой и для аналоговой частей.

3. Таймер/счетчик
Присутствует во всех моделях МК, но в разных количествах – от 1 до 4, и с разными возможностями.
Таймер/счетчик – это как бы два устройства в одном флаконе: таймер + счетчик.
Таймер – устройство, которое позволяет формировать временные интервалы. Таймер представляет собой цифровой счетчик который считает импульсы или от внутреннего генератора частоты, или от внешнего источника сигнала.
С помощью таймера/счетчика можно:
– отсчитывать и измерять временные интервалы
– подсчитывать количество внешних импульсов
– формировать ШИМ-сигналы
К примеру, мы хотим создать прибор позволяющий измерять частоту входного сигнала (частотомер). В этом случае мы можем использовать два счетчика/таймера. Первый будет отсчитывать временные интервалы равные 1 секунде, а второй будет считать количество импульсов за промежуток времени в 1 секунду которые отсчитывает первый таймер. Количество импульсов подсчитанное вторым таймером/счетчиком за 1 секунду будет равно частоте входного сигнала.
ШИМ— широтно-импульсный модулятор, предназначен для управления средним значением напряжения на нагрузке.
ШИМ – один из вариантов работы таймера/счетчика, позволяющий генерировать на выходе МК прямоугольное импульсное напряжение с регулируемой длительностью между импульсами (скважностью), которое применяется в различных устройствах:
– регулирование частоты вращения электродвигателя
– осветительные приборы
– нагревательные элементы

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

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

6. Интерфейсы и модули для передачи данных. Мы подробно рассматривать их будем только в том случае, если они потребуются для собираемой нами (в будущем) конструкции. Более подробно о них можно прочитать в популярной литературе.
Последовательный периферийный интерфейс SPI
Имеется во всех моделях МК.
Мы его в 99,9 случаях из 100 применяем для программирования МК.
Кроме программирования МК интерфейс SPI позволяет:
– обмениваться данными между МК и внешними устройствами
– обмениваться данными нескольким МК между собой
Универсальный приемопередатчик
Имеют все модели МК, но разных типов:
– USART
– UART
Предназначены для обмена данными по последовательному каналу.
Последовательный двухпроводный интерфейс TWI
Встречается только в серии Mega.
Предназначен для обмена данными по двухпроводной линии. Всего к такой линии можно подключить до 128 устройств.
TWI является полным аналогом интерфейса I2C.


Предыдущие статьи:

♦ Микроконтроллер и как его победить
♦ Микроконтроллер и системы счисления
♦ Микроконтроллер и логические операции

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

♦ Арифметико-логическое устройство и организация памяти – память программ, память данных, энергонезависимая память
♦ Регистры общего назначения, регистры ввода/вывода, стек, счетчик команд
♦ Регистр состояния SREG
♦ Порты ввода/вывода микроконтроллера



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

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

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

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

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

DIP корпус

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

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

SOIC корпус

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

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

QFP и TQFP корпуса

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

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

QFN корпус

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Микроконтроллеры. Устройство и особенности. Применение

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

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

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

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

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

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

  • Для связи с внешними устройствами существуют порты ввода-вывода. Их также используют для подключения внешней памяти, различных датчиков, исполнительных устройств, светодиодов, индикаторов. Интерфейсы портов ввода-вывода разнообразны: параллельные, последовательные, оборудованные USB выходами, WI FI. Это расширяет возможности применения микроконтроллеров для различных сфер управления.
  • Аналого-цифровой преобразователь требуется для введения аналогового сигнала на вход микроконтроллера. Его задачей является преобразование сигнала из аналогового вида в цифровой.
  • Аналоговый компаратор служит для выполнения сравнения двух сигналов аналогового вида на входах.
  • Таймеры используются для выполнения установки диапазонов и задержки времени в функционировании микроконтроллера.
  • Цифро-аналоговый преобразователь исполняет обратную работу по преобразованию из цифрового сигнала в аналоговый.
  • Действие микроконтроллера синхронизируется с генератором тактовыми импульсами при помощью блока синхронизации, который работает совместно с микропрограммой. Генератор тактовых импульсов может быть как внутренним, так и внешним, то есть, тактовые импульсы могут подаваться с постороннего устройства.

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

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

Сфера их использования постоянно расширяется. Микроконтроллеры применяются в различных механизмах и устройствах. Основными областями их применения являются:

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

Примером можно рассмотреть использование микроконтроллеров в автомобильной электронике. В некоторых автомобилях Пежо встроено 27 различных микроконтроллеров. В элитных моделях БМВ применяется более 60 таких устройств. Они контролируют жесткость подвески, впрыск топлива, работу приборов освещения, стеклоочистителей, стеклоподъемников и других механизмов.

Советы по выбору

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

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

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

  • Информационная поддержка, включающая в себя:

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

  • Надежность завода изготовителя. В этот фактор входит:

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

Похожие темы:

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

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

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

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

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

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

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

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

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

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

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

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

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.

32-разрядный микроконтроллер использует 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
Цикл Начать

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

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

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

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

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

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

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

Микроконтроллер имеет множество применений Электронное оборудование

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

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

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

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

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

Программная память 8051AndData Память 8051

Описание выводов микроконтроллера 8051

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

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

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

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

Renesas

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

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

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

Описание контактов:

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

Это 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 разработан Alaris -Эгил Боген и Вегард Воллан из Atmel Corporation.Микроконтроллеры AVR представляют собой модифицированную архитектуру Harvard RISC с отдельной памятью для данных и программ, а скорость AVR высока по сравнению с 8051 и PIC. AVR расшифровывается как A lf-Egil Bogen и V egard Wollan’s R ISC.

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

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

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

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

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

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

  • 16 КБ In-Sys tem Programmable Flash
  • 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 Кбайт
  • Память данных EEPROM объемом 1 Кбайт
  • Память данных SRAM объемом 2 Кбайт
  • контактов 23
  • Два 8-битных таймера
  • Аналого-цифровой преобразователь
  • Шестиканальный ШИМ
  • Встроенный USART
  • Внешний осциллятор: до 20 МГц

Описание контактов ATmega328 :

Поставляется в 28-контактном DIP , показанное на рисунке ниже:

AVR

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

GND: Земля.

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

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

PC6 / RESET

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

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

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

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

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

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

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

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

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

Характеристики PIC16F877

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

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

Периферийные функции:

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

— Timer0, Timer2 — это 8-битные таймеры / счетчик с 8-битным предварительным скаляром

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

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

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

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

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

Аналоговые характеристики:

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

Описание выводов PIC16F877A:

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

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

Типичная прикладная схема PIC16F877A:

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

.

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

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

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

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

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

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

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

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

Поскольку микроконтроллеры имеют такие функции, как встроенный микропроцессор, RAM, ROM, последовательные интерфейсы, параллельные интерфейсы, аналого-цифровой преобразователь (ADC), цифро-аналоговый преобразователь (DAC) и т. Д., Что упрощает создание приложений на его основе. Кроме того, среда программирования микроконтроллеров предлагает широкие возможности для управления различными типами приложений в соответствии с их требованиями.

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

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

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

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

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

8051 серия микроконтроллеров (8-бит)

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

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

Микроконтроллеры Texas Instruments, такие как MSP430

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

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

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

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

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

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

Память

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

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

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

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

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

АЦП и ЦАП

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

Таймеры

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

Управление прерываниями

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

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

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

.

Поставщики и ресурсы беспроводной связи RF

О компании RF Wireless World

Веб-сайт RF Wireless World является домом для поставщиков и ресурсов радиочастотной и беспроводной связи.
На сайте представлены статьи, руководства, поставщики, терминология, исходный код (VHDL, Verilog, MATLAB, Labview), тестирование и измерения,
калькуляторы, новости, книги, загрузки и многое другое.

Сайт RF Wireless World охватывает ресурсы по различным темам, таким как RF, беспроводная связь, vsat, спутник, радар, волоконная оптика, микроволновая печь, wimax, wlan, zigbee,
LTE, 5G NR, GSM, GPRS, GPS, WCDMA, UMTS, TDSCDMA, bluetooth, Lightwave RF, z-wave, Интернет вещей (IoT), M2M, Ethernet и т. Д.Эти ресурсы основаны на стандартах IEEE и 3GPP. В нем также есть академический раздел, который охватывает колледжи и университеты по инженерным дисциплинам и MBA.

Статьи о системах на основе Интернета вещей

Система обнаружения падений на основе Интернета вещей для пожилых людей : В статье рассматривается архитектура системы обнаружения падений, используемой для пожилых людей.
В нем упоминаются преимущества или преимущества системы обнаружения падений Интернета вещей.
Узнать больше➤
Также обратитесь к другим статьям о системах на основе Интернета вещей следующим образом:
• Система чистоты туалетов самолета.
• Система измерения столкновения
• Система отслеживания скоропортящихся продуктов и овощей
• Система помощи водителю
• Система умной торговли
• Система мониторинга качества воды.
• Система Smart Grid
• Система умного освещения на базе Zigbee
• Система интеллектуальной парковки на основе Zigbee.
• Система интеллектуальной парковки на основе LoRaWAN


RF Статьи о беспроводной связи

В этом разделе статей представлены статьи о физическом уровне (PHY), уровне MAC, стеке протоколов и сетевой архитектуре на основе WLAN, WiMAX, zigbee, GSM, GPRS, TD-SCDMA, LTE, 5G NR, VSAT, Gigabit Ethernet на основе IEEE / 3GPP и т. Д. .стандарты.
Он также охватывает статьи, относящиеся к испытаниям и измерениям, по тестированию на соответствие, используемым для испытаний устройств на соответствие RF / PHY. УКАЗАТЕЛЬ СТАТЬИ ДЛЯ ССЫЛКИ >>.


Физический уровень 5G NR : Обработка физического уровня для канала 5G NR PDSCH и канала 5G NR PUSCH рассмотрена поэтапно.
Это описание физического уровня 5G соответствует спецификациям физического уровня 3GPP.

Читать дальше➤


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


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


Архитектура сотового телефона 5G : В этой статье рассматривается блок-схема сотового телефона 5G с внутренними модулями 5G.
Архитектура сотового телефона.
Читать дальше➤


Основы помех и типы помех: В этой статье рассматриваются помехи в соседнем канале, помехи в одном канале,
ЭМ помехи, ICI, ISI, световые помехи, звуковые помехи и т. Д.Читать дальше➤


5G NR Раздел

В этом разделе рассматриваются функции 5G NR (New Radio), нумерология, диапазоны, архитектура, развертывание, стек протоколов (PHY, MAC, RLC, PDCP, RRC) и т. Д.
5G NR Краткий указатель ссылок >>
• Мини-слот 5G NR
• Часть полосы пропускания 5G NR
• 5G NR CORESET
• Форматы DCI 5G NR
• 5G NR UCI
• Форматы слотов 5G NR
• IE 5G NR RRC
• 5G NR SSB, SS, PBCH
• 5G NR PRACH
• 5G NR PDCCH
• 5G NR PUCCH
• Эталонные сигналы 5G NR
• 5G NR m-последовательность
• Золотая последовательность 5G NR
• 5G NR Zadoff Chu Sequence
• Физический уровень 5G NR
• Уровень MAC 5G NR
• Уровень 5G NR RLC
• Уровень 5G NR PDCP


Учебные пособия по беспроводным технологиям

В этом разделе рассматриваются учебные пособия по радиочастотам и беспроводной связи.Он охватывает учебные пособия по таким темам, как
сотовая связь, WLAN (11ac, 11ad), wimax, bluetooth, zigbee, zwave, LTE, DSP, GSM, GPRS,
GPS, UMTS, CDMA, UWB, RFID, радар, VSAT, спутник, WLAN, волновод, антенна, фемтосота, тестирование и измерения, IoT и т. Д.
См. УКАЗАТЕЛЬ >>


Учебное пособие по 5G — В этом учебном пособии по 5G также рассматриваются следующие подтемы по технологии 5G:
Учебное пособие по основам 5G.
Полосы частот
руководство по миллиметровым волнам
Волновая рама 5G мм
Зондирование волнового канала 5G мм
4G против 5G
Тестовое оборудование 5G
Сетевая архитектура 5G
Сетевые интерфейсы 5G NR
канальное зондирование
Типы каналов
5G FDD против TDD
Разделение сети 5G NR
Что такое 5G NR
Режимы развертывания 5G NR
Что такое 5G TF


Этот учебник GSM охватывает основы GSM, архитектуру сети, элементы сети, системные спецификации, приложения,
Типы пакетов GSM, структура кадров GSM или иерархия кадров, логические каналы, физические каналы,
Физический уровень GSM или обработка речи, вход в сеть мобильного телефона GSM, установка вызова или процедура включения питания,
MO-вызов, MT-вызов, VAMOS, AMR, MSK, модуляция GMSK, физический уровень, стек протоколов, основы мобильного телефона,
Планирование RF, нисходящая линия связи PS и восходящая линия связи PS.
➤Подробнее.

LTE Tutorial , охватывающий архитектуру системы LTE, охватывающий основы LTE EUTRAN и LTE Evolved Packet Core (EPC).
Он обеспечивает связь с обзором системы LTE, радиоинтерфейсом LTE, терминологией LTE, категориями LTE UE, структурой кадра LTE, физическим уровнем LTE,
Стек протоколов LTE, каналы LTE (логические, транспортные, физические), пропускная способность LTE, агрегация несущих LTE, передача голоса по LTE, расширенный LTE,
Поставщики LTE и LTE vs LTE продвинутые.➤Подробнее.


RF Technology Stuff

Эта страница мира беспроводной радиосвязи описывает пошаговое проектирование преобразователя частоты RF на примере преобразователя RF UP от 70 МГц до диапазона C.
для микрополосковой платы с использованием дискретных радиочастотных компонентов, а именно. Смесители, гетеродин, MMIC, синтезатор, опорный генератор OCXO,
колодки аттенюатора. ➤Подробнее.
➤Проектирование и разработка радиочастотных трансиверов
➤Конструкция RF фильтра
➤VSAT Система
➤Типы и основы микрополосковой печати
➤Основы волновода


Секция испытаний и измерений

В этом разделе рассматриваются контрольно-измерительные ресурсы, испытательное и измерительное оборудование для тестирования DUT на основе
Стандарты WLAN, WiMAX, Zigbee, Bluetooth, GSM, UMTS, LTE.ИНДЕКС испытаний и измерений >>
➤ Система PXI для T&M.
➤ Генерация и анализ сигналов
➤Измерения слоя PHY
➤Тест устройства на соответствие WiMAX
➤ Тест на соответствие Zigbee
➤ Тест на соответствие LTE UE
➤Тест на соответствие TD-SCDMA


Волоконно-оптическая технология

Оптоволоконный компонент , основы, включая детектор, оптический соединитель, изолятор, циркулятор, переключатели, усилитель,
фильтр, эквалайзер, мультиплексор, разъемы, демультиплексор и т. д.Эти компоненты используются в волоконно-оптической связи.
Оптические компоненты INDEX >>
➤Учебное пособие по оптоволоконной связи
➤APS в SDH
➤SONET основы
➤SDH Рамочная конструкция
➤SONET против SDH


Поставщики и производители беспроводных радиочастотных устройств

Сайт RF Wireless World охватывает производителей и поставщиков различных компонентов, систем и подсистем RF для ярких приложений,
см. ИНДЕКС поставщиков >>.

Поставщики радиочастотных компонентов, включая радиочастотный изолятор, радиочастотный циркулятор, радиочастотный смеситель, радиочастотный усилитель, радиочастотный адаптер, радиочастотный разъем, радиочастотный модулятор, радиочастотный трансивер, PLL, VCO, синтезатор, антенну, генератор, делитель мощности, сумматор мощности, фильтр, аттенюатор, диплексор, дуплексер, чип резистор, чип конденсатор, индуктор чипа, ответвитель, оборудование EMC, программное обеспечение RF Design, диэлектрический материал, диод и т. д.Производители RF компонентов >>
➤Базовая станция LTE
➤RF Циркулятор
➤RF Изолятор
➤Кристаллический осциллятор


MATLAB, Labview, встроенные исходные коды

Раздел исходного кода RF Wireless World охватывает коды, связанные с языками программирования MATLAB, VHDL, VERILOG и LABVIEW.
Эти коды полезны для новичков в этих языках.
ИНДЕКС ИСХОДНОГО КОДА >>
➤3-8 декодер кода VHDL
➤Код MATLAB для дескремблера
➤32-битный код ALU Verilog
➤T, D, JK, SR триггеры labview коды

* Общая информация о здоровье населения *

Выполните эти пять простых действий, чтобы остановить коронавирус (COVID-19).
СДЕЛАЙТЕ ПЯТЬ
1. РУКИ: Часто мойте их.
2. КОЛЕНО: Откашляйтесь.
3. ЛИЦО: не трогайте его
4. НОГИ: держитесь на расстоянии более 3 футов (1 м) друг от друга.
5. ЧУВСТВОВАТЬ: Болен? Оставайся дома

Используйте технологию отслеживания контактов >>, соблюдайте >> рекомендации по социальному дистанцированию и
установить систему наблюдения за данными >>
чтобы спасти сотни жизней.
Использование концепции телемедицины стало очень популярным в
таким странам, как США и Китай, остановить распространение COVID-19, поскольку это заразное заболевание.


RF Калькуляторы и преобразователи беспроводной связи

Раздел «Калькуляторы и преобразователи» охватывает ВЧ-калькуляторы, беспроводные калькуляторы, а также преобразователи единиц.
Сюда входят беспроводные технологии, такие как GSM, UMTS, LTE, 5G NR и т. Д.
СПРАВОЧНЫЕ КАЛЬКУЛЯТОРЫ Указатель >>.
➤ Калькулятор пропускной способности 5G NR
➤5G NR ARFCN против преобразования частоты
➤Калькулятор скорости передачи данных LoRa
➤LTE EARFCN для преобразования частоты
➤ Калькулятор антенны Яги
➤ Калькулятор времени выборки 5G NR


IoT-Интернет вещей Беспроводные технологии

Раздел IoT охватывает беспроводные технологии Интернета вещей, такие как WLAN, WiMAX, Zigbee, Z-wave, UMTS, LTE, GSM, GPRS, THREAD, EnOcean, LoRa, SIGFOX, WHDI, Ethernet,
6LoWPAN, RF4CE, Bluetooth, Bluetooth Low Power (BLE), NFC, RFID, INSTEON, X10, KNX, ANT +, Wavenis, Dash7, HomePlug и другие.Он также охватывает датчики Интернета вещей, компоненты Интернета вещей и компании Интернета вещей.
См. Главную страницу IoT >> и следующие ссылки.
➤ НИТЬ
➤EnOcean
➤Учебник по LoRa
➤Учебник по SIGFOX
➤WHDI
➤6LoWPAN
➤Zigbee RF4CE
➤NFC
➤Lonworks
➤CEBus
➤UPB

СВЯЗАННЫЕ ЗАПИСИ

RF Wireless Учебники

Различные типы датчиков

Поделиться страницей

Перевести

.

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

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

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

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

Микроконтроллеры также объединяют другие устройства, такие как:

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

  • Последовательный порт ввода-вывода, позволяющий передавать данные между микроконтроллером и другими устройствами, такими как ПК или другой микроконтроллер.

  • АЦП, позволяющий микроконтроллеру принимать аналоговые входные данные для обработки.

Чтобы проиллюстрировать функции и взаимосвязь строительных блоков микроконтроллера, мы построим микроконтроллер блок за блоком:
Объяснение строительных блоков микроконтроллера

.

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

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