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

Содержание

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

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

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

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

Выбираем микроконтроллер вместе / Хабр

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

Тем, кто знает, что на фотографии нет ни одного микроконтроллера — прошу в комментарии, дополнить мой рассказ и тем самым поделиться своим опытом с начинающими. Остальным, непременно под кат!

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

И… и ничего не происходит! Что-то не работает, и вы не можете понять что: то ли в пайке ошибка, то ли что-то с программой, то ли в интернете кривая схема, то-ли проблемы с софтом.

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

Преимущество простого старта отлично показывает платформа Arduino. Посудите сами: возможности контроллеров совсем не велики, цены на платы огромны, зато огромная поддержка сообщества и все уже готова, любые платы расширения, кучи примеров.
За счет этого и живет платформа!

Давайте посмотрим какой у нас вообще есть выбор! На рынке огромное количество производителей и архитектур. Но выбор на самом деле совсем не велик:
я бы сразу отсек все 8-ми и 16-ти битные архитектуры, кроме PIC и AVR, да иногда производители предлагают отладочные платы и контроллеры по очень заманчивой цене
но я не советую их брать потому, что это малораспространенные архитектуры и на них меньше примеров + пересаживаться на другие контроллеры будет сложнее.
По той же самой причине отсек все 32-х разрядные архитектуры кроме ARM + с ними еще начинаются проблемы с примерами, и они постепенно вымирают.

Арм микроконтроллеры делятся на ARM7, ARM9, Cortex M0, 3, 4.
Седьмые и девятые постепенно замещаюся кортексами и вскоре их тоже не будет.

Итого имеем:
AVR
PIC
ARM Cortex

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

Итак, какие производители представлены у нас?
NXP, ST, Freescale, TI, Luminary Micro, Atmel и много других но поменьше распространенных.

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

Сам щупал только NXP, ST и Freescale.

Первые 2 производителя наводнили Москву и другие города России дешевыми/бесплатными отладками — это очень хорошо в том смысле, что всегда есть у кого спросить, есть к кому обратиться.
Также не нужны никакие программаторы — все есть на борту!

Для NXP есть альтернатива от Olimex www.chipdip.ru/product/lpc-p1343.aspx
Есть и минусы: когда захочется расширить их возможности придется искать новую.

Больше всего мне понравилась отлатдка от Freescale, с которой столкнулся на работе.
На мой взгляд это лучший вариант для новичка, но у нее есть один огромный минус:
пока довольно сложно найти в продаже и регионам придется заказывать, но оно того стоит:
Первое и самое важно преимущество: стандартные платы расширения (сначала покупаете стандартный набор, потом докупаете вайфай, сенсоры и тп)

Еще большущий плюс это среда разработки: благодаря Processor Expert можно генерировать код, и море примеров с объяснениями.

Итак подведем итоги:

1 купить Arduino Uno c AVR за 1000р на плате практически ничего нет, зато в продаже множество плат расширения и огромное сообщество

2 купить STM32L-DISCOVERY c M3 за 16.22дол c сенсорными кнопками, USB и маленьким LСD-дисплеем и дебагером на борту

3 купить за 1000р LPCEXPRESSO c M3 с просто выведеными контактами и дебагером на борту

4 купить KWIKSTICK с M4 за 30дол+ доставку с большим сегментным LCD, USB, входом под наушники, динамиком, сенсорными кнопками, литиевой батарейкой, микрофоном, ИК портом, слотом под SD-карту + возможность расширения функционала без пайки и больших вложений. Большой набор библиотек, примеров и хорошая IDE.

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

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

UPD: stm32l-discovery по таким ценам можно купить в Компэле
Kwikstick на сайте freescale

Анализ рынка микроконтроллеров. Прошлое и настоящее

1976–2010 годы

 Спустя пять лет после появления первого микропроцессора в 1976 году был создан первый микроконтроллер (МК). Это была микросхема 8048 фирмы Intel. Спроектированный в 1972 году четырехpазpядный TMS1000 от Texas Instruments, котоpый содеpжал ОЗУ (32 байт), ПЗУ (1 К), часы и поддеpжку ввода/вывода, благодаря своим характеристикам также мог считаться первым из микроконтроллеров. Кроме того, он имел возможность добавления новых инструкций.
Выпущенный в 1980 году микроконтроллер Intel 8051 — классический образец устройств данного класса. Этот 8‑битный чип стал первым из семейства микроконтроллеров, которое долго существовало и оставалось ведущим до недавнего времени.
В Минске, Киеве, Воронеже, Новосибирске изготавливали аналоги 8051, на которых вы росло целое поколение отечественных разработчиков.
В 1983 году Texas Instruments выпустила цифровой сигнальный процессор TMS32010, который превосходил по параметрам конкурентов и стал родоначальником целой династии DSP.
Другими яркими представителями восьмиразрядных микроконтроллеров стали изделия компаний Motorola (68HC05, 68HC08, 68HC11) и микроконтроллеры фирмы Zilog, основанной бывшими сотрудниками Intel (Z8).
Глобальные перемены начались после появления PIC-контроллеров фирмы Microchip. Они очень быстро захватили значительную часть рынка микроконтроллеров благодаря своей неслыханно низкой стоимости. К тому же кристаллы от Microchip не уступали, а нередко и превосходили микроконтроллеры х51 по производительности и не требовали дорогостоящего программатора.
В 1993 году на базе классического микроконтроллерного ядра Intel 8051 был создан первый микроконтроллер Atmel. А в 1996‑м корпорация Atmel представила свое семейство чипов на новом прогрессивном ядре AVR — это стало революционным событием, перевернувшим весь мир микроконтроллеров. Более продуманная архитектура AVR, быстродействие, превосходящее контроллеры Microchip, привлекательная ценовая политика — все это вызывало интерес многих разработчиков.
В 1999 году замечательное семейство 16‑разрядных микроконтроллеров MSP430 компании Texas Instruments вышло на рынок. Инженеры компании вдохновились ставшей сегодня уже легендарной системой команд и архитектурой компьютера PDP‑11 компании DEC при разработке микроконтроллеров.
В том же году образовалась компания Cygnal, которая позже совершила настоящий прорыв, оснастив микроконтроллеры усовершенствованным ядром CIP‑51. Модернизированное ядро CIP‑51 выполняло70% инструкций за один или два машинных цикла, и вообще не имело инструкций, выполняющихся более чем за восемь машинных циклов. В микроконтроллерах со стандартной архитектурой 8051 все инструкции, за исключением MUL и DIV, выполнялись за 12 или 24 машинных цикла.
Восьмиразрядные микроконтроллеры STM8 были выпущены в 2008 году. Они мало потребляли и имели высокую производительность, были недороги и обладали широким модельным рядом.
Чуть раньше, в 2004 году, Acorn разработали 32‑разрядное процессорное ядро ARM Cortex-M3, и компания STMicroelectronics стала одной из первых, кто вывел на рынок семейство микроконтроллеров на этом ядре, получивших название STM32. Начиналось все не так и давно — в 2007 году, с появления двух семейств Performance Line (STM32F103) и Access Line (STM32F101).
Не все компании выдержали конкурентную борьбу на рынке. В конце 2003 года Motorola решила окончательно порвать с производством полупроводников, и оставшаяся часть SPS в 2004 году была выделена в компанию Freescale Semicomductor. В 2006‑м уже сама Freescale Semiconductor была куплена консорциумом, возглавляемым Blackstone Group LP, что на тот момент стало крупнейшим частным приобретением технологической компании и вошло в десятку самых громких сделок в мире. В марте 2015 года компания NXP Semiconductors объявила о приобретении компании Freescale Semiconductor. Объединение NXP и Freescale в единую компанию создало четвертого по величине производителя процессоров и другой сложной микроэлектроники на планете, с общей стоимостью активов в $40 млрд. В следующем году, в январе 2016‑го, фирма Microchip покупает Atmel за $3,56 млрд. В декабре 2003 года компания Silicon Labs поглощает Cygnal Integrated Products. В декабре 2009 года IXYS Corporation купила Zilog, а в августе 2017‑го IXYS Corporation была приобретена Littelfuse Inc в обмен на $750 млн наличными и акциями.
Как все эти новые продуктовые семейства, приобретения и слияния отразились на российском рынке?
В конце 2010 года, судя по статистике запросов на eFind.ru, в России лидеры рынка по микроконтроллерам распределялись, как показано в таблице 1.

Необходимо уточнить, что в таблице указывается доля конкретного производителя среди всех запросов, посвященных микроконтроллерам. Не денег, не единиц, а именно поисковых запросов через поисковую систему. По отношению к Silicon Labs и Freescale могут быть неточности, но лидерство Atmel и Microchip в 2010 году не может подвергаться сомнению. Запросы по микроконтроллерам разной разрядности показаны в таблице 2.

2014–2017 годы. Борьба обостряется

 Сейчас микроконтроллеры, чье производство сокращается или срок службы которых заканчивается, изготавливаются по технологии с 0,5‑мкм проектными нормами, ≪зрелые≫ микросхемы МК — по 250‑ или 180‑нм технологии, относительно новые изделия — по 130‑ и 90‑нм процессам, новейшие МК — с 65‑ и 55‑нм нормами.
Проектные нормы разрабатываемых контроллеров составляют 40 нм и менее. При этом с ростом потребности в микросхемах с меньшими размерами элементов более старые технологии отмирают из-за относительно больших затрат на производство. Несмотря на это, на рынке микроконтроллеров можно найти широкий ассортимент для разных задач. Но требования разработчиков встраиваемых систем к компонентам постоянно возрастают. Соответственно, на рынке непрерывно появляются новые МК, технические параметры которых постоянно совершенствуются благодаря развитию инновационных технологий. Например, важной тенденцией 2014 года стала интеграция в микросхему МК беспроводного устройства или модуля.
К 2014‑му борьба между 8‑ и 16‑разрядными микроконтроллерами усилилась. В опубликованном аналитической компанией Gartner рейтинге поставщиков 8‑разрядных МК на мировой рынок 2014 года отмечено, что Microchip Technology вновь заняла первое место после того, как в 2010 году ее потеснила компания Renesas Electronics, образованная в результате слияния деловой активности в области микроконтроллеров и микропроцессоров трех японских полупроводниковых гигантов — NEC, Hitachi и Mitsubishi.
В июле 2015 года Microchip снова подтвердила свое право на лидерство на рынке 8‑разрядных МК, выпустив два новых семейства PIC МК: PIC16F18877 и PIC16F1579 с усовершенствованной инновационной независящей от ядра периферией (Core-Independent Peripherals, CIPs) и ≪разумными≫ аналоговыми блоками, благодаря которым но‑ вые микросхемы по функциональности превосходят традиционные 8‑разрядные МК.
В то же время новое семейство 8‑разрядных МК для сверхэнергоэффективных, малогабаритных приложений IoT в феврале 2015 года выпустила и компания Silicon Labs.
Компания Silicon Labs, основанная в 1996 году выходцами из компании Cirrus Logic, ворвалась на мировой и российский рынок за счет поглощения сторонних компаний, развития собственных технологий и максимальной русскоязычной поддержки, которая осуществлялась вплоть до перевода даташитов на русский язык — этого не делала ни одна другая компания. Ее доля в запросах на 2012 год стабильно составляла около 4%, что было большим достижением для столь молодой компании.
Рынок с 32‑разрядными микроконтроллерами тоже не стоял на месте. В 2015 году компания Texas Instruments выпустила новое семейство микроконтроллеров MSP432 [1], которое продолжает традицию ультранизкого энергопотребления микроконтроллеров MSP430 [2] и добавляет новые вычислительные возможности за счет архитектуры ARM Cortex-M4F.
Но несмотря на новинки 8‑разрядных микроконтроллеров, преимущества 32‑разрядных были очевидны для многих изделий, где требовались значительные вычислительные ресурсы. Конечно, борьба за рынок между 32‑ и 8‑разрядными микроконтроллерами далека от завершения. Баланс между ними еще не найден. Разработчики осознали, что такие сложные приборы, как 32‑разрядные микроконтроллеры, предоставляют нужные вычислительные ресурсы, богатую периферию и простой доступ к всевозможным средствам проектирования и библиотекам. Поскольку 8‑разрядные МК последних поколений предоставляют ядру процессора многие быстродействующие периферийные устройства, они становятся привлекательными для применения в разнообразных встраиваемых проектах. И конечно, сегодня существуют приложения, где размеры и набор функций 8‑разрядных МК обусловливают их выбор в противовес 32‑разрядным.
Согласно отчету исследовательской компании Gartner за 2015 год, объемы продаж 8‑и 32‑битных устройств в долларовом выражении были примерно равны и составляли $6 млрд. С учетом разницы средних цен, эти цифры говорят о том, что в 2015 году на один встраиваемый 32‑битный микроконтроллер приходилось три 8‑битных.
В 2016 году на рынке микроконтроллеров зафиксировано падение выручки на 6% на фоне сократившихся поставок этих компонентов. Однако после того как складские запасы микроконтроллеров вернулись к нормальному уровню, производители электроники резко увеличили закупки МК в 2017 году. В результате поставки микроконтроллеров подскочили на 22%, а выручка на рынке увеличилась с $15 млрд до $16,8 млрд.
Средняя цена продажи (ASP) микроконтроллеров в 2017 году опустилась до наименьшего в истории значения и в 2018 году продолжила снижаться. В IC Insights полагают, что в 2019–2022 годах цены на МК будут падать, но уже не так быстро, как в прошлом. Ежегодное снижение в среднем составит 3,5%, тогда как с 2012 по 2017 год цены падали в среднем на 5,8%, а в период 1997–2017 годов микроконтроллеры дешевели в среднем на 6,3% в год.
Согласно оценке IC Insights, в 2019 году ожидается рост продаж еще на 9%, до $20,4 млрд. Прогноз IC Insights на ближайшие пять лет предусматривает, что объем рынка в деньгах будет в среднем увеличиваться на 7,2% и к 2022 году достигнет $23,9 млрд. Рост в штучном выражении ожидается на уровне 11,1%. К концу рассматриваемого периода поставки микроконтроллеров достигнут примерно 43,8 млрд единиц.

2018 год. Россия

Снова обратимся к поисковой системе eFind.ru. На конец 2018 года в России лидеры рынка по микроконтроллерам распределялись, как показано в таблице 3.

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

Доля STMicroelectronics за счет самого раннего старта продаж ARM Cortex-M3 продолжает увеличиваться. Автор статьи участвовал в первых закупках именно ARM Cortex от STMicroelectronics, тогда компания-дистрибьютор опередила ближайших конкурентов примерно на полгода. Спустя много лет компания остается лидером продаж по Cortex-ХХ, что говорит о важности вовремя распознать новинку и начать компанию по продвижению.
В таблице 4 сравнивается запрашиваемость микроконтроллеров, различающихся типом ядра. Текущие изменения:

  • огромное падение доли запросов по AVR;
  • сильно выросли все доли ARM Cortex. В сумме с 12,4 до 28,4%;
  • доля PIC за все время наблюдений (с 2010 года [3]) упала с 15 до 11%;
  • ядра ARM7 и ARM9 выпали из топ‑10.

Эти данные — запросы в системе поиска, которые отражают текущее состояние или будущие проекты. Следуя тенденции, можно предположить, что доля ядра ARM Cortex в вариациях продолжит увеличиваться за счет ядра AVR. Удивительно, что надежное, качественное, но все же уже устаревшее ядро 8051 продолжает удерживать весомую долю в статистике. Возможно, часть инженеров продолжает по привычке оценивать использование ядра в текущих разработках, или большое влияние оказывает ремонтный рынок.
С 2016 года Таможенная служба публикует в открытом доступе информацию по товарному экспорту и импорту. Прежде всего, это делается для борьбы с серым рынком. В процессе закупки партий товара покупатели могут проверить достоверность декларации: в страну завезены диоды, а не металлический лом. Как побочный эффект этой борьбы, мы теперь можем самостоятельно оценивать доли рынка по разным продуктам.
По большей части микроконтроллеры ввозятся в Россию по таможенному коду 8542319010 (≪Схемы интегральные монолитные≫), по данному коду еще ввозится огромное количество кристаллов для смарт-картили сами карты. Поэтому анализ требует знания рынка, но после вычитания данных мы получаем результат, представленный в таблице 5.

Четверо лидеров полностью совпадают со статистикой eFind. Небольшие различия в сумме объясняются лидерством Microchip/Atmel в 8‑разрядных, а STMicroelectronics — в 32‑разрядных микроконтроллерах. Microchip/Atmel в единицах, о чем говорит вес, продают в разы больше, но так как стоимость 8‑разрядных МК существенно меньше 32‑разрядных, разница в деньгах не столь существенная, как в поисковых запросах. Texas Instruments производит широкий круг цифровых сигнальных процессоров, которые тоже стоят значительно дороже 8‑разрядных МК.
Компания Infineon сильно выделяется, занимая пятое место в деньгах и последнее по запросам. Но большая часть продаж бренда приходится на одного дистрибьютора. Тут возможны два варианта: первый — несколько очень крупных проектов, второй — большая часть продаж Infineon приходится на схемы, не попадающие под определение микроконтроллеров, например смарт-карты.
В остальном данные поисковой системы и таможни совпадают.
Во время написания статьи появилась новость, что Texas Instruments решилась на мировую революцию, лишив статуса дистрибьютора всех, буквально всех, кроме Arrow. Тенденция к сокращению числа дистрибьюторов наблюдалась, особенно в полупроводниковом сегменте. У Altera, Xilinx и Analog Devices осталось по одному глобальному дистрибьютору. Но чтобы оставить одного и лишить всех региональных… В это даже трудно поверить. Что ж, тем интереснее будет отслеживать поисковые запросы и таможенный импорт по Texas Instruments, ведь у многих регионалов сместится точка приложения усилий. С другой стороны, что такое для Texas Instruments потеря пусть даже половины бизнеса в России на фоне возможного роста продаж в мире? Будущее покажет.

Борьба продолжается.

Статья опубликована в журнале КОМПОНЕНТЫ И ТЕХНОЛОГИИ

Литература

  1. Микроконтроллеры MSP432.
    www.ti.com/microcontrollers/simplelink-mcus/wired-mcus/overview/overview.html
  2. Микроконтроллеры MSP430.
    www.ti.com/microcontrollers/msp430‑ultra-low-power-mcus/overview.html
  3. Славгородский А. Микроконтроллеры: статистика запросов на eFind.ru // Компоненты и технологии. 2012. № 7.
  4. Славгородский А. Микроконтроллеры: статистика запросов на eFind.ru // Компоненты и технологии. 2019. № 7.
  5. www.gartner.com/en
  6. www.icinsights.com/
  7. Микроконтроллеры. Краткий обзор. www.myrobot.ru/stepbystep/mc_meet.php
  8. Гольцова М. Рынок микроконтроллеров. Конкурентная борьба усиливается // Электро-ника НТБ. 2015. № 7.
  9. www.electrosnab.ru/files/silabs/articles/G2.pdf

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

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

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

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

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

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

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

DIP корпус

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

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

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

SOIC корпус

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

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

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

QFP и TQFP корпуса

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

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

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

QFN корпус

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

[wysija_form id=»1″]

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

от Джона Уайлдера

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

Эта статья не пытается рассказать о каком-либо конкретном микроконтроллере / микропроцессоре, но представляет собой скорее учебник, объясняющий общие концепции, применимые ко всем микроконтроллерам / микропроцессорам.

Во-первых, давайте ... зададим себе пару вопросов. Первый вопрос -

Что такое микроконтроллер?
Микроконтроллер - это крошечный микрокомпьютер на микросхеме. Он имеет ЦП, ОЗУ (оперативное запоминающее устройство), регистры специальных функций, память ПЗУ программ, память ПЗУ данных, от одного до нескольких портов параллельного ввода / вывода (ввода / вывода) и может иметь множество встроенных периферийных устройств, включая но не ограничиваясь аналого-цифровой преобразователь (АЦП), цифро-аналоговый преобразователь (ЦАП), Serial UART, один или несколько таймеров, / на источник опорного напряжения чипа, захвата / сравнения / ШИМ (широтно-импульсная модуляция) модуля компараторов , Главный синхронный последовательный порт для связи SPI (последовательный периферийный интерфейс) / I2C (меж интегральная схема), порт USB, порт Ethernet, встроенные генераторы, а также множество других периферийных устройств.

Что такое микропроцессор (подождите, вы имеете в виду, что разница действительно есть)?
Микропроцессор - это все, что есть в микроконтроллере, но без программного ПЗУ на кристалле. Программный код находится вне кристалла в отдельной внешней микросхеме EPROM.

ПЗУ программ и ПЗУ данных
Встроенная память ПЗУ (постоянное запоминающее устройство) микроконтроллера подобна жесткому диску микроконтроллера. Имеет две перегородки. Один раздел зарезервирован для хранения программного кода, а другой раздел зарезервирован для постоянного хранения данных, которые используются микросхемой во время нормального выполнения программы.На данном микроконтроллере PIC, имеющем, скажем, 8 Кбайт программного пространства, программное пространство будет занимать адреса ПЗУ 0x0000 - 0x1FFF (или 0-8191 в десятичном виде). Пространство данных начнется с адреса ПЗУ программы 0x2100. Если бы пространство ПЗУ данных было 256 байтов, пространство ПЗУ данных занимало бы адреса ПЗУ 0x2100 - 0x21FF (или 8448-8704 в десятичном виде).

CPU
CPU означает центральный процессор. По сути, это «мозг» микроконтроллера. Это то, что извлекает инструкции из памяти кода и выполняет полученные инструкции.

ОЗУ данных
ОЗУ данных (оперативное запоминающее устройство) - это пространство данных, которое используется для временного хранения значений констант и переменных, которые используются микроконтроллером во время нормального выполнения программы. Объем физического пространства RAM на данном микроконтроллере варьируется от одного микроконтроллера к другому. ОЗУ данных на микроконтроллере организовано в несколько «регистров», каждый из которых имеет свой уникальный «адрес». Регистр ОЗУ на 8-битном микроконтроллере может содержать всего 8 бит или один байт данных.Типичная спецификация пространства ОЗУ может указывать, что оно составляет 256 x 8. Это означает, что всего в ОЗУ 256 регистров, и эти регистры могут содержать 8 бит каждый.

Регистр - это просто место в памяти, в которое вы можете записывать или читать данные. Некоторые из нас называют регистры «местонахождением».

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

Каждый бит в SFR назначается функции. В SFR у вас есть биты управления и биты флагов. Управляющие биты подобны «переключателям», которые включают или выключают функцию в зависимости от того, записываете ли вы 1 или 0 в эту битовую позицию в SFR. Биты флагов похожи на «световые индикаторы», которые указывают, существует ли данное условие, в зависимости от того, равен ли бит флага 1 или 0.Биты управления напрямую управляют оборудованием. Биты флагов контролируются оборудованием. В любой данной программе мы обычно записываем в управляющие биты, пока читаем биты флагов (некоторые биты флагов должны быть очищены вручную путем записи в них, в зависимости от микроконтроллера… подробнее об этом позже).

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

Биты конфигурации
Большинство микроконтроллеров имеют специальные биты, известные как «биты конфигурации». Эти биты настраивают специальные параметры микроконтроллера, включая, помимо прочего, -

.

* Тип осциллятора
* Сторожевой таймер Вкл. / Выкл.
* Таймер включения / выключения
* Вкл / Выкл сброса при пониженном энергопотреблении
* Включение / выключение программирования низкого напряжения
* Включение / выключение монитора безопасных часов
* Внутреннее / внешнее переключение Вкл. / Выкл.

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

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

АЛУ (Арифметико-логический блок)
Этот аппаратный компонент по существу отвечает за все математические и логические операции, выполняемые микроконтроллером. На большинстве микроконтроллеров с ALU будет связано 3 битовых флага -

* Нулевой бит - Этот бит флага устанавливается в 1 аппаратным обеспечением, когда математическая операция приводит к нулевому результату.Он будет сброшен на 0 оборудованием, когда математическая операция даст ненулевой результат.

* Бит переноса / заимствования - этот бит флага работает как бит переноса для операций сложения, а также как флаг заимствования для операций вычитания. «Перенос» происходит, когда результат операции сложения приводит к значению, превышающему то, что регистр может хранить. 8-битный регистр может содержать максимальное значение 255 (FF в шестнадцатеричном формате или 11111111 в двоичном).

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

Для операций вычитания вместо этого флаг переноса работает как флаг заимствования. Флаг заимствования работает наоборот, чем флаг переноса. Если операция вычитания приводит к отрицательному результату, флаг заимствования сбрасывается до 0. Если операция вычитания дает положительный результат, флаг заимствования устанавливается на 1.

* Бит переноса / заимствования цифр - этот бит флага выполняет то же действие, что и флаг переноса / заимствования, но работает только для указания того, происходит ли перенос / заимствование только между битами 3 и 4.

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

Нулевой бит - это удобный флаговый бит, который позволяет нам сравнивать два значения, чтобы увидеть, равны ли они / не равны. Если мы возьмем два числа и вычтем их, результат будет равен нулю, если они равны, и отличны от нуля, если не равны. Итак, чтобы сравнить два значения, чтобы увидеть, равны ли они / не равны, мы вычитаем их, затем читаем / проверяем нулевой бит, чтобы увидеть, является ли бит 1 или 0.Если нулевой бит = 1, результат вычитания равен нулю, что означает, что два значения равны. Если нулевой бит = 0, результат вычитания не равен нулю, что означает, что два значения не равны.

Бит переноса / заимствования - это удобный флаг, который позволяет нам сравнивать два значения, чтобы увидеть, больше или меньше одно значение другого. Пример… у нас есть два значения: VALUE1 и VALUE2. В коде выполняем эту операцию -

VALUE1 - VALUE2 = VALUE3

После выполнения операции вычитания мы считываем / проверяем высокое / низкое состояние бита переноса / заимствования.

Если VALUE2 больше VALUE1, результат вычитания будет отрицательным, что сбросит бит переноса / заимствования в 0. Если VALUE2 меньше VALUE1, результат вычитания будет положительным, что установит перенос / одолжить бит до 1.

Обратитесь к таблице данных, чтобы узнать, какой SFR содержит эти биты. На микроконтроллерах PIC биты флага ALU находятся в STATUS SFR. В MCS-51 они находятся в PSW SFR (слове состояния программы).

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

Когда микроконтроллер перезагружается, счетчик программ устанавливается на 0x0000. ЦП получит инструкцию, которая находится по адресу ПЗУ программы 0x0000. После получения этой инструкции счетчик программ автоматически увеличивается до значения 0x0001. Счетчик программ непрерывно автоматически увеличивается на значение 1, что заставляет ЦП последовательно обращаться к содержимому каждой ячейки регистра в программном ПЗУ.Это продолжается до тех пор, пока ЦП не выберет и не выполнит инструкцию, которая изменяет значение счетчика программ. Такими инструкциями, которые делают это, являются инструкции перехода (ajmp и ljmp на MCS-51, goto на PIC), вызовы подпрограмм (acall и lcall на MCS-51, вызов на PIC) и любые инструкции, которые добавляют или вычитают значение к или от счетчик программ.

Стек
Стек в микроконтроллере в основном используется во время вызовов подпрограмм и переходов к обработчику прерывания.Это буфер «Последний вошел - первым ушел», который используется для хранения адресов возврата. Во время вызова подпрограммы адрес текущего программного счетчика «помещается» в стек с добавлением к нему +1 смещения, затем программный счетчик модифицируется значением адреса, в котором находится вызываемая подпрограмма. Это заставляет счетчик программы переходить к коду подпрограммы для выполнения подпрограммы.

В конце подпрограммы будет инструкция «возврата» (возврат на MCS-51, возврат на PIC). После выполнения команды возврата стек «выталкивается», и последнее значение адреса ПЗУ, которое было помещено в стек, выталкивается из стека и возвращается обратно в счетчик программ.Это заставляет счетчик программ вернуться к инструкции, которая находится после инструкции, которая вызвала подпрограмму (отсюда необходимость смещения +1 в то время, когда адрес ПК помещается в стек), и выполнение программы продолжается с того места, где оно было остановлено. перед вызовом подпрограммы.

Некоторые микроконтроллеры имеют «программный стек» (MCS-51). Программный стек использует часть внутренней памяти микроконтроллера в качестве пространства стека. Другие микроконтроллеры имеют аппаратный стек (PIC).В аппаратном стеке стек представляет собой собственное выделенное пространство, отдельное от всех остальных пространств памяти кристалла.

На некоторых микроконтроллерах стек доступен для записи. Это позволяет нам использовать стек для временного резервного копирования критических регистров во время вызовов подпрограмм и выполнения обработчика прерываний. Перед выполнением подпрограммы или обработчика прерывания содержимое регистров для резервного копирования помещается в стек. Затем, непосредственно перед возвратом из подпрограммы или обработчика прерывания, содержимое, которое мы поместили в стек в начале подпрограммы, извлекается из стека по одному, а затем восстанавливается в исходное положение в обратном порядке по сравнению с тем, как они были помещены в стек (помните… Последним пришел - первым ушел).

Хорошим примером этого может быть резервное копирование аккумулятора и регистров PSW на MCS-51 во время выполнения подпрограммы обработчика прерывания -

Код (текст):

push ACC; резервное копирование аккумулятора в стек
push PSW; резервное копирование слова состояния программы в стек

; здесь выполнить код обработчика прерывания

pop PSW; восстановить слово состояния программы
pop ACC; восстановить аккумулятор
reti; вернуться к основному коду из прерывания

Как видите, мы сначала помещаем содержимое аккумулятора в стек, а затем помещаем содержимое PSW в стек после него.Затем выполняется код обработчика прерывания.

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

Типичный SFR
Типичный SFR настроен, как показано ниже.

Код (текст):

| ПОРТ 1 SFR |
———————————————————
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| P1.7 | P1.6 | P1.5 | P1.4 | P1.3 | P1.2 | P1.1 | P1.0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |

Это SFR защелки порта на микроконтроллере MCS-51 для параллельного порта 1. Каждый порт на MCS-51 является 8-битным параллельным портом, и каждый бит в SFR порта назначается каждому контакту порта. P1.0 будет контактом 0 порта 1, P1.1 будет контактом 1 порта 1, P1.2 будет контактом 2 порта 1 и т. Д. И т. Д.

Как показано, у нас есть все нули, записанные в каждый бит в SFR защелки порта 1.Это переведет все контакты порта 1 в состояние низкого уровня (0 вольт). Если бы мы записали 1 в любой из битов SFR порта, это установит контакт, связанный с позицией бита, в которую мы записываем «1», в высокое состояние (+ 5V).

Пример, давайте запишем значение 01010101 в SFR порта 1 -

Код (текст):

| ПОРТ 1 SFR |
———————————————————
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| P1.7 | P1.6 | P1.5 | P1.4 | P1.3 | P1.2 | P1.1 | P1.0 |
| 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |

Как показано, это переведет контакты P1.0, P1.2, P1.4 и P1.6 в состояние высокого уровня, а контакты P1.1, P1.3, P1.5 и P1.7 - в состояние низкого уровня.

Несколько слов о таблицах данных ... и почему они так важны
Не все микроконтроллеры созданы равными. Каждый из них разработан с использованием специального оборудования на кристалле. Все микроконтроллеры разных производителей имеют разную архитектуру.Вы обнаружите, что микроконтроллеры PIC сильно отличаются от микроконтроллеров MCS-51, так же как MCS-51 сильно отличается от, скажем, Motorola 65xx в отношении того, как реализованы SFR, как организована RAM данных, набор команд, конфигурационное слово, как параллельные порты работают и т.д. и т.п.

ЕДИНСТВЕННЫЙ способ точно узнать, как работать с микроконтроллером и его оборудованием, - это просмотреть его техническое описание. В таблице данных объясняется каждый SFR, каждый элемент встроенного оборудования, абсолютные максимальные электрические характеристики, организация памяти программ / данных, как подключены параллельные порты и как они работают, сводка набора инструкций (для тех из вас, кто кодирует на ассемблере). язык) и т. д.Практически все, что вам, как программисту, необходимо знать о своем микроконтроллере, находится в его техническом описании.

Большинство из них находятся в свободном доступе в Интернете с помощью простого поиска в Google (я еще не нашел ни одного, которого нет). Заявление о том, что вы не смогли найти таблицу, не является приемлемым оправданием, когда дело доходит до этого. ЕДИНСТВЕННАЯ причина, по которой кто-либо отказывается просматривать таблицу, - это либо то, что он слишком ленив, либо он не понимает их, но не хочет, чтобы другие знали, что они этого не делают.Я скажу прямо сейчас ... на большинство вопросов форума о микроконтроллерах можно было бы ответить самостоятельно, если бы человек нашел время, чтобы найти ответ в таблице данных.

Таблицы данных являются обязательными. Без них вы не сможете написать собственный код.

jon-wilder-avatar-smallest Об авторе
Джон Уайлдер - внештатный инженер-электронщик и энтузиаст электроники более 20 лет. Он четыре года проработал в ВМС США в качестве специалиста по авиационной электронике.Джон также играет на гитаре с 13 лет и начал объединять электронику и музыку с 15 лет. Джон построил свой первый ламповый усилитель в 17 лет. «Музыкальная электроника», - говорит Джон, - его любовь и страсть.

Джон также является частым участником и страстным членом инженерного сообщества Electro-Tech-Online. В Electro-Tech-Online вы можете задавать вопросы и получать ответы от своих коллег-инженеров по всему, от микроконтроллеров, возобновляемых источников энергии и автомобильной электроники до моделирования схем и проектирования.Кроме того, существуют форумы для микроконтроллеров 8051/8951, AVR, ARM, Arduino, Oshonsoft Project, а также репозиторий кода, где участники обмениваются фрагментами кода.

Следуйте за Джоном в Twitter на @PICmcuguy.

.

Различные микроконтроллеры, используемые в автомобилях

Использование различных типов микроконтроллеров для выполнения различных операций, таких как потребности обработки, автомобили, электрические системы и приложения, быстро увеличилось. Микроконтроллеры применяются в различном крупном оборудовании для небольших устройств, таких как мэйнфреймы, блоки кондиционирования воздуха и авиационная навигационная система, цифровые часы, КПК и сотовые телефоны. В частности, жизненно важную роль играет наличие различных микроконтроллеров в автомобилях, что подтверждается наличием 25-35 ECU (электронного блока управления) в типичном автомобиле Ford.В частности, диапазон ЭБУ в роскошных автомобилях, таких как BMW седьмой серии, составляет от 60 до 65. Микроконтроллеры управляют такими функциями ЭБУ, как сиденья, электрические стеклоподъемники, торможение, рулевое управление, задние фонари и фары. В этой статье рассматриваются различные микроконтроллеры, используемые в автомобилях, а также их приложения.

Different Microcontrollers in Automobiles Different Microcontrollers in Automobiles Различные микроконтроллеры в автомобилях

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

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


Different Types of Microcontrollers Different Types of Microcontrollers Различные типы микроконтроллеров

Использование различных микроконтроллеров в автомобильной электронике растет вместе с остальными электронными блоками управления.В основном, различные типы микроконтроллеров, используемых в автомобилях, включают микроконтроллер AVR, микроконтроллер 8051, микроконтроллер PIC и т. Д. Эти типы микроконтроллеров нуждаются в микросхеме, которая включает ЦП, ОЗУ (оперативную память), программную память и программируемые интерфейсы ввода / вывода и O / Ps. Существующие микроконтроллеры расширяют возможности управления автомобильным диапазоном. Это диапазон от 8-битной до 32-битной гарвардской архитектуры с недорогими процессорами, высокой производительностью и эффективным хранением данных в памяти.

Различные микроконтроллеры, используемые в автомобиле

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

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

Infineon Tri-core Microcontroller

Tri-core - это 32-разрядный микроконтроллер, разработанный Infineon. Эти микроконтроллеры собираются более чем 50 автомобильными брендами, что означает, что каждое второе транспортное средство, разработанное сегодня, включает микроконтроллер на базе Tri-core.Он отвечает за максимально низкие выбросы выхлопных газов и потребление топлива. Трехъядерные микроконтроллеры используются в коробках передач для управления впрыском, центральных блоках управления зажиганием двигателей внутреннего сгорания. Постепенно они также используются в электрических и гибридных приводах транспортных средств.

PCBWay PCBWay
Tricore Microcontroller Tricore Microcontroller Микроконтроллер Tricore
Микроконтроллер Atmel AVR

Микроконтроллеры Atmel AVR (Alf-Egil-Bogen-Vegard-Wollan-RISC) распределяют мощность, производительность и гибкость для автомобильных приложений.Этот микроконтроллер состоит из гарвардской архитектуры. Таким образом, устройство работает очень быстро с меньшим количеством инструкций машинного уровня. Микроконтроллеры AVR подразделяются на три типа: Tiny AVR, Mega AVR и Xmega AVR. Основные характеристики микроконтроллеров AVR по сравнению с другими микроконтроллерами включают встроенный АЦП, последовательную передачу данных с 6 режимами ожидания, внутренний генератор и т.д.Он запрограммирован и управляется таким образом, что выполняет несколько задач и управляет линией генерации. Эти микроконтроллеры используются во многих приложениях, таких как смартфоны, автомобили, аудио аксессуары и медицинские устройства. В настоящее время на рынке доступны микроконтроллеры PIC от PIC16F84 до PIC16C84, которые являются доступными флеш-микроконтроллерами. При этом микроконтроллеры PIC18F458 и PIC18F258 широко используются в автомобилях.

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

Renesas - это новейшее семейство автомобильных микроконтроллеров, которое обеспечивает высокую производительность и низкое энергопотребление в широком диапазоне компонентов.Этот микроконтроллер предлагает встроенные характеристики безопасности и функциональную безопасность для сложных автомобильных приложений. Эти микроконтроллеры предлагают самые полезные семейства микроконтроллеров в мире. Например, семейство RX предлагает различные типы устройств с вариациями памяти от 32 КБ флэш-памяти / 4 КБ ОЗУ до невероятных 8 флэш-памяти / 512 КБ ОЗУ. Этот микроконтроллер семейства RX использует 32-битную усовершенствованную архитектуру Harvard CISC для достижения очень высокой производительности.

Renesas Microcontroller Renesas Microcontroller Renesas Microcontroller
8051 Microcontroller

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

8051 Microcontroller 8051 Microcontroller 8051 Микроконтроллер

Развитие микроконтроллеров в автомобилях

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

Microcontroller Growth in Automobiles Microcontroller Growth in Automobiles Развитие микроконтроллеров в автомобилях

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

Применение микроконтроллеров в автомобилях

Управление транспортными средствами

  • Чаще всего используются 16-битные микроконтроллеры
  • Ключевой фактор принятия решения о производительности вычислений
  • Цикл проектирования составляет от 3 до 4 лет

Силовая передача

  • от 16 до В основном используются 32-битные микроконтроллеры.
  • Вычислительная производительность Ключевой фактор принятия решения.
  • Цикл проектирования составляет от 4 до 5 лет

Информация о драйвере

  • В основном используются 8-битные микроконтроллеры
  • Высокая степень интеграции и низкий уровень электромагнитных помех Ключевой фактор принятия решения
  • Цикл проектирования составляет от 3 до 4 лет

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

Фото:

  • Infineon Трехъядерный микроконтроллер Infineon
  • Рост микроконтроллеров в автомобильном журнале mcjournal
.

Микроконтроллеры | Технология Microchip

Встроенные решения управления без усилий

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

Инструменты разработки и экосистема

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

Масштабируемая производительность

Не позволяйте изменению требований приложения вынудить его полностью изменить дизайн. Microchip - единственный поставщик полупроводников, внедряющий инновации в 8-, 16- и 32-битные микроконтроллеры, DSC и MPU, обеспечивая наилучший выбор масштабируемой производительности.Также нет необходимости изучать новую среду разработки или начинать код с нуля в экосистеме разработки Microchip, потому что вы можете использовать общие инструменты в нескольких проектах. Это позволяет сэкономить инвестиции в разработку кода за счет повторного использования микропрограмм приложения, даже если требования к дизайну меняются.

8-битные микроконтроллеры

Наши 8-битные микроконтроллеры PIC ® и AVR ® помогают разработчикам любого уровня подготовки легко воплощать свои идеи в жизнь.Используйте сочетание легко настраиваемых периферийных устройств и самых эффективных в отрасли архитектур с кодированием объединить несколько функций в одном чипе с минимальным программированием.

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

16-битные микроконтроллеры и DSC

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

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

32-битные микроконтроллеры

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

  • Маломощные высокопроизводительные микроконтроллеры для запуска многопоточных приложений
  • Аппаратные сенсорные и графические возможности для приложений HMI
  • Возможности безопасности, такие как безопасная загрузка, безопасное обновление прошивки, изоляция оборудования, защита ключей и многое другое
  • Высокоинтегрированные возможности подключения, включая CAN / CAN FD, Hi-Speed ​​USB и Ethernet
  • Широкий ассортимент обеспечивает масштабируемость, позволяющую легко соответствовать меняющимся требованиям рынка
Микропроцессоры

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

  • System-on-Module (SOM), System-in-Package (SiP) и опции IC обеспечивают доступную разработку MPU вне зависимости от опыта
  • Масштабируемые решения безопасности от базовой защищенной связи и хранения до реализации безопасного анклава
  • Аппаратные сенсорные и графические возможности для приложений HMI
  • Поддержка «голого железа», ОСРВ и Linux с поддержкой периферийных драйверов
.

8051 Архитектура и приложения микроконтроллера

8051 Microcontroller 8051 Microcontroller 8051 Микроконтроллер

Микроконтроллер 8051 был разработан в 1980-х годах компанией Intel. В его основе лежала Гарвардская архитектура, и он был разработан, главным образом, для использования во встроенных системах. Сначала он был создан с использованием технологии NMOS, но поскольку технология NMOS требует больше мощности для работы, Intel изменила дизайн микроконтроллера 8051, использующего технологию CMOS, и появилась новая редакция с буквой «C» в названии, для иллюстрации: 80C51 .Эти самые современные микроконтроллеры нуждаются в меньшем количестве энергии для работы по сравнению с их предшественниками.

В микроконтроллере 8051 есть две шины: одна для программы, а другая - для данных. В результате он имеет два хранилища для программ и данных размером 64К на 8 размеров. Микроконтроллер состоит из 8-битного аккумулятора и 8-битного процессора. Он также состоит из 8-битного регистра B в качестве основных функциональных блоков, а программирование микроконтроллера 8051 выполняется с помощью встроенного языка C с использованием программного обеспечения Keil.Он также имеет несколько других 8-битных и 16-битных регистров.

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

Существует множество приложений с микроконтроллером 8051. Итак, 8051 Microcontroller Projects имеют большое значение в последний год разработки.

8051 Архитектура микроконтроллера:

Блок-схема микроконтроллера 8051 показана ниже. Давайте подробнее рассмотрим особенности конструкции микроконтроллера 8051:

Block Diagram of 8051 Microcontroller Block Diagram of 8051 Microcontroller Блок-схема микроконтроллера 8051

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

PCBWay PCBWay

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

Прерывания:

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

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

Память:

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

Микроконтроллеру также требуется память для кратковременного накопления данных или операндов. Пространство для хранения, которое используется для мгновенного хранения данных для функционирования, называется памятью данных, и мы используем оперативную память или оперативную память по этой принципиальной причине. Микроконтроллер 8051 содержит память кода или память программ 4 КБ, так что она имеет ПЗУ 4 КБ, а также включает память данных (ОЗУ) на 128 байт.

Шина:

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

  1. Адресная шина: Микроконтроллер 8051 состоит из 16-битной адресной шины. Он используется для адресации позиций памяти. Он также используется для передачи адреса из центрального процессора в память.
  2. Шина данных: Микроконтроллер 8051 состоит из 8-битной шины данных. Используется для корзины данных.

Осциллятор:

Как мы все понимаем, микроконтроллер представляет собой цифровую схему оборудования, поэтому для его работы требуется таймер.Для этой функции микроконтроллер 8051 состоит из встроенного генератора, который работает в качестве источника времени для ЦП (центрального процессора). Благодаря тому, что производительность генератора стабильна, это способствует согласованному использованию всех компонентов микроконтроллера 8051. Порт ввода / вывода: как мы знаем, микроконтроллер используется во встроенных системах для управления функциями устройств.

Таким образом, чтобы собрать его в другое оборудование, гаджеты или периферийные устройства, нам нужны порты интерфейса ввода / вывода в микроконтроллере.Для этой функции микроконтроллер 8051 состоит из 4 портов ввода / вывода для объединения его с другими периферийными устройствами. Таймеры / счетчики: Микроконтроллер 8051 оснащен двумя 16-битными счетчиками и таймерами. Счетчики разделены на 8-битные регистры. Таймеры используются для измерения интервалов, определения ширины импульса и т. Д.

8051 Схема выводов микроконтроллера

8051 Microcontroller Pin Diagram 8051 Microcontroller Pin Diagram 8051 Схема выводов микроконтроллера

Для объяснения схемы выводов и конфигурации выводов микроконтроллера 8051 мы принимаем во внимание 40-контактный двухрядный корпус (DIP).Теперь давайте вкратце рассмотрим конфигурацию контактов: -

Контакты 1–8: - распознается как порт 1. В отличие от других портов, этот порт не предназначен для других целей. Порт 1 - это внутренний квазидвунаправленный порт ввода / вывода.

Контакт 9: - Как было сказано ранее, вывод RESET используется для установки микроконтроллера 8051 на его основные значения, в то время как микроконтроллер работает или находится в начале приложения. Штифт СБРОСА должен быть поднят на два оборота машины.

Контакты 10-17: - распознается как порт 3. Этот порт также обеспечивает несколько других функций, таких как ввод таймера, прерывания, индикаторы последовательной связи TxD и RxD, индикаторы управления внешней памятью, взаимодействующей с WR и RD, и т. Д. внутренний порт с квазидвунаправленным портом внутри.

Контакты 18 и 19: - Они используются для сопряжения с внешним кристаллом для обеспечения системных часов.

Контакт 20: - Обозначается как Vss - он символизирует заземление (0 В).

Контакты - 21-28: - распознается как порт 2 (P 2.0 - P 2.7) - кроме использования в качестве порта ввода / вывода, индикаторы шины адреса старшего порядка мультиплексируются с этим квазидвунаправленным портом.

Pin-29: - Program Store Enable или PSEN используется для интерпретации знаков из внешней памяти программ.

Pin-30: - Внешний доступ или вход EA используется для разрешения или запрета взаимодействия с внешней памятью. Если нет необходимости во внешней памяти, этот вывод перемещается вверх, связывая его с Vcc.

Pin-31: - Aka Address Latch Enable или ALE используется для демультиплексирования индикации адресных данных порта 0 (для взаимодействия с внешней памятью). На каждый оборот машины можно получить два пульса ALE.

Контакты 32-39: распознаются как порт 0 (от P0.0 до P0.7) - кроме использования в качестве порта ввода / вывода, сигналы шины данных и адреса низкого порядка мультиплексируются с этим портом (для обеспечения использования интерфейс внешней памяти). Этот вывод представляет собой двунаправленный порт ввода / вывода (единственный в микроконтроллере 8051), и для использования этого порта в качестве ввода / вывода необходимы внешние подтягивающие резисторы.

Pin-40: , называемый Vcc, является основным источником питания. По большому счету это + 5В постоянного тока.

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

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

Applications of 8051 microcontroller Applications of 8051 microcontroller Применение микроконтроллера 8051
  1. Управление энергопотреблением: Компетентные системы измерительных устройств помогают в расчетах потребления энергии в бытовых и промышленных приложениях.Эти системы счетчиков подготовлены компетентным путем интеграции микроконтроллеров.
  2. Сенсорные экраны: Многие поставщики микроконтроллеров интегрируют сенсорные возможности в свои разработки. Переносные устройства, такие как медиаплееры, игровые устройства и сотовые телефоны, являются иллюстрацией микроконтроллера, интегрированного с сенсорными экранами.
  3. Автомобили: Микроконтроллер 8051 находит широкое признание в поставках автомобильных решений.Они широко используются в гибридных автомобилях для управления вариациями двигателя. Кроме того, такие функции, как круиз-контроль и антиблокировочный механизм, сделали его более способным за счет объединения микроконтроллеров.
  4. Медицинские устройства: Удобные медицинские устройства, такие как тонометры для измерения глюкозы и артериального давления, включают в себя микроконтроллеры, позволяющие наблюдать за измерениями, что в результате обеспечивает более высокую надежность в получении правильных медицинских результатов.
  5. Медицинские устройства: Удобные медицинские устройства, такие как тонометры для измерения глюкозы и артериального давления, включают в себя микроконтроллеры, позволяющие наблюдать за измерениями, что в результате обеспечивает более высокую надежность в получении правильных медицинских результатов.

Фото:

.

Отправить ответ

avatar
  Подписаться  
Уведомление о