Две стороны повсеместного применения микроконтроллеров / Хабр
Микроконтроллеры (старое красивое название — однокристалльные микро-ЭВМ) в настоящее время имеют невероятно много областей применения. От промышленной автоматики до бытовых приборов, от управления ядерными станциями до детских игрушек, от секретных военных систем до переключения каналов в вашем радиоприемнике. Одним словом, проще перечислить, где они не применяются.
Изобретение и дальнейшее развитие микроконтроллеров произвело настоящую революцию в цифровой электронике. Изменились не только схемотехника и элементная база, но и сами принципы построения систем. Значительные изменения претерпел цикл разработки. Появились целые классы устройств, существование которых было бы невозможно без контроллеров.
Но у всякой технологии, как бы хороша она не была, всегда есть обратная сторона. Сюда относятся незаметные на первый взгляд трудности; проблемы, порождаемые новым подходом; ограничения, с которыми приходится считаться. Новые возможности, которые предоставляет технология, могут найти самые неожиданные применения, и не всегда направленные во благо.
Эта статья имеет целью дать обзорную оценку как положительных, так и отрицательных аспектов повсеместного применения микроконтроллеров.
Упрощение схемотехники
Если сравнивать схемотехнику устройств на жесткой логике и на контроллерах, то последняя намного проще. При разработке требуется только определить, из каких функциональных блоков будет состоять устройство, какими интерфейсами их объединить, и какую элементную базу выбрать. Вместо составления схемы будущего устройства из отдельных деталей теперь применяется блочное проектирование. Микроконтроллер позволяет на одном кристалле создать законченный блок, а то и несколько.
Реализация всех алгоритмов работы — теперь задача программы контроллера, а написание программы гораздо менее трудоемко, чем синтез цифровой схемы. С ростом сложности задач это преимущество становится все более явным. Растущий размер программного кода компенсируется его структурированностью, а также введением дополнительных уровней абстракции. Широко применяются встраиваемые ОС и стандартные библиотеки, что позволяет разделить код, работающий с аппаратурой, и код, задающий поведение и алгоритмы.
Унификация
Разделение программной и аппаратной части позволило унифицировать элементную базу. Один и тот же контроллер может применяться для создания множества различных устройств. Унификация приводит к снижению стоимости производства. Экономически выгодно производить несколько десятков видов контроллеров вместо сотни разновидностей логических микросхем (и тысячи специализированных).
Несколько разных по функциональности устройств могут иметь одну и ту же схему, а различаться лишь программой. Наиболее ярким примером могут служить промышленные ПЛК (программируемые логические контроллеры). Они собираются из стандартных модулей: устройств ввода, устройств вывода, вычислительных и интерфейсных модулей. За взаимодействие модулей между собой и алгоритмы работы системы в целом отвечает программная часть. Таким образом, из небольшого набора стандартных блоков можно построить любую необходимую систему.
Простота внесения изменений
Для того, чтобы изменить алгоритм работы схемы на жесткой логике, необходимо соединить ее элементы в другом порядке, удалить часть из них или добавить новые. Часто это можно сделать только в процессе макетирования, а когда устройство уже готово, единственный способ внести изменения — выпустить новую версию.
Микроконтроллер в этом отношении дает гораздо больше гибкости. Для внесения изменений в алгоритм работы устройства достаточно загрузить новую прошивку. Большая часть современной электроники поддерживает перепрошивку в условиях сервис-центра, а зачастую даже пользователем. В наши дни вы можете легко обновить ПО своего телефона, принтера или фотоаппарата. В недалеком будущем вы сможете проделать то же самое, скажем, со стиральной машиной или кофеваркой. По мере того, как все больше устройств получают возможность доступа к сети, логично ожидать распространения механизма автообновлений, подобно тому, который применяется сегодня для компьютерных программ.
Если положительные аспекты повсеместного применения микроконтроллеров очевидны и не требуют подробного рассмотрения, то проблемы, связанные с ним, спрятаны глубже и незаметны на первый взгляд.
Снижение надежности
Теория надежности включает в себя много различных аспектов, но в «бытовом» смысле, когда говорят о надежности техники, обычно имеют в виду устойчивость к отказам и сбоям. Отказ — это неустранимое нарушение работоспособности, как пример можно привести перегоревшую лампочку. Сбой — это нарушение, которое устраняется само по себе, или при минимальном воздействии оператора. Старый телевизор, который «чинится» ударом кулака — пример системы, работающей со сбоями.
Чем из большего числа элементов состоит система, тем вероятнее возникновение отказа какого-нибудь из них. В этом отношениии интегральная схема контроллера, содержащая миллионы транзисторов, на первый взгляд проигрывает жесткой логике, где всего несколько сот транзисторов на кристалл. Однако уровень надежности в микроэлектронике сегодня достаточно высок. Все кристаллы, вызывающие подозрения, отбракованы еще на этапе производства. Более слабыми местами являются печатные платы, соединения микросхем между собой и пассивные элементы. Таким образом, по частоте отказов, вызванных внутренними причинами, микроконтроллерные схемы даже выигрывают.
Проигрывают они по устойчивости к сбоям. Сбои, как правило, вызываются внешними воздействиями: температурой, электромагнитными помехами, радиацией. Особенно чувствительны контроллеры к электромагнитным воздействиям, которые вызывают зависания и самопроизвольные перезагрузки. Для обеспечения помехозащищенности микроконтроллерных схем требуются специальные меры: разделение шин питания, сторожевые таймеры, дополнительные слои металлизации на плате и т.п. Подробнее — см. [1].
Часто источником сбоев становится плохо отлаженная прошивка. Или же причина ненадежной работы лежит на стыке программной и аппаратной части. Например, многократная запись в одну и ту же ячейку flash-памяти рано или поздно приводит к исчерпанию ресурса ячейки, и данные начинают повреждаться. Микроконтроллер может обеспечить уровень надежности, необходимый для большинства задач, но только при грамотном подходе к проектированию. Об этом, кстати, стоит сказать отдельно.
Кажущаяся простота разработки
Прежде чем заниматься разработкой электроники, необходимо накопить значительную сумму знаний. Схемотехника цифровых устройств — это довольно объемный институтский курс. Плюс желательно знать электротехнику, основы аналоговой схемотехники и дискретную математику. Одним словом, порог входа для разработки электронных схем достаточно высок.
Порог входа для программирования гораздо ниже. Можно за один вечер изучить основы любого языка и научиться писать «Hello world»ы. Ясно, что между «программистом» и «хорошим программистом» лежит огромная пропасть, но легкость, с которой можно начать писать, подкупает.
Точно также низок порог входа для разработки устройств на контроллерах. Сейчас полно отличных Arduino-подобных комплектов, огромный выбор периферийных модулей к ним, осталось потратить тот самый вечер на освоение IDE (среды разработки) — и можно приступать к своему первому проекту.
Так почему же хороший программист встраиваемых систем — сравнительная редкость? Дело в том, что помимо непосредственно умения писать код, он должен знать все особенности своей архитектуры. Ему необходимо представлять, как работают цифровые устройства, разбираться в кодировании сигналов, знать, как поведет себя устройство в каких-либо нестандартных условиях. Программист, работающий с контроллерами, находится гораздо ближе к «железу», чем прикладной программист. Соответственно, без знания принципов работы этого железа ему не обойтись.
Получается, что легкость разработки под контроллеры — только иллюзия. Микроконтроллер гораздо чувствительнее к ошибкам программиста, чем «большие» компьютеры. Ограниченный объем памяти, требования к быстродействию «по тактам» и почти полное отсутствие «защит от дурака» требуют высокой квалификации разработчика.
Функциональная перегруженность и неудобные интерфейсы
— Как выглядит идеальный интерфейс? Одна кнопка с надписью «Сделай мне хорошо».
— Нет, никаких кнопок, просто надпись «Тебе уже хорошо».Шутка с долей правды.
Для решения той или иной задачи микроконтроллер всегда выбирается c запасом по параметрам. Соответственно, часть ресурсов контроллера (иногда до 90%) остается свободной. Это приводит к тому, что добавить несколько дополнительных функций можно практически «бесплатно», дописав пару десятков строк в коде прошивки. И такой возможностью часто злоупотребляют. В результате нарушается принцип K.I.S.S., объявляющий простоту системы одним из основных приоритетов в проектировании. Получается устройство, большая часть возможностей которого никогда не используется, а о половине из них пользователь даже не знает.
Наличие ненужных функций — лишь вершина айсберга. Казалось бы, не используется — и ладно, может когда-нибудь пригодится… Но функциональная сложность приводит к сложности пользовательских интерфейсов. Тут возможно два пути. Можно попытаться «втиснуть» управление всеми функциями в ограниченный набор элементов ввода-вывода. Так появляются меню с N-надцатью уровнями вложенности, или кнопки с десятками альтернативных действий. Как пример сумеречного инженерного гения в этом направлении можно привести телефон-АОН «Русь». У кого был этот агрегат, тот знает, что его настройка похожа на программирование в машинных кодах.
Второй путь — сделать интерфейс удобным для пользователя путем применения большого цветного экрана (лучше сенсорного) или добавления своей кнопки для каждой функции. Этот вариант уже лучше, но увеличиваются габариты, уменьшается время автономной работы, снижается надежность устройства. И не забываем о цене. Даже если затраты на производство возрастают незначительно, наличие «супер-пупер экрана с 5000000 цветов» позволяет без лишних угрызений совести накрутить +50…250% к конечной стоимости устройства.
Недокументированные функции
В крупном торговом комплексе ни с того ни с сего открываются фрамуги дымоудаления (большие окна с электроприводом) и выдают неисправность на реле управления. Ночью обещали дождь; не починим — зальёт полкомплекса.
Вызываю из фирмы спеца, который релюху эту программировал. Он на город один, зараза, сам всё паяет и ставит. Описал проблему; он ответил, мол, всё понятно, сейчас приеду и сделаю.
Приезжает, уверенной походкой идет к релюхе, снимает с неё плату, тыкает в переходник. Открывает редактор какой-то — всё в шестнадцатиричном коде, ни черта не понять. Что же, думаю, он делать будет? Наблюдаю как бы случайное движение мышки в правый нижний угол — навёл, каналья, дату посмотрел, открыл конвертер, перевёл какие-то числа в hex, поиском нашёл их в коде и заменил на другие. «Чё, — спрашиваю, — таймер отработал?»IThappens.ru
Проанализировав схему устройства на жесткой логике, можно восстановить весь алгоритм его работы. Проделать то же самое с микроконтроллерным устройством на порядок сложнее. Прежде всего, нужно извлечь прошивку, что возможно далеко не всегда, современные контроллеры имеют неплохую защиту. Полученный файл нужно затем дизассемблировать, деобфусцировать, и только потом проводить анализ.
Какова вероятность того, что помимо основных функций, в прошивке не присутствуют какие-либо дополнительные? Это может быть отправка статистики производителю, намеренно сделанная ошибка, модуль перехвата данных, backdoor — все, что угодно. Причем «закладку» не обязательно добавлять во время разработки, можно внести изменения в прошивку любого существующего устройства. В качестве примера можно привести червя StuxNet, который внедрял свой код в ПЛК ядерно-обогатительных предприятий [2]. Если вы не обогащаете уран, это еще не значит, что вам ничего не угрожает. Уже разработаны механизмы атаки на принтеры [3] и роутеры [4], использующие смену прошивки. Учитывая, с какой легкостью перепрошивается большинство устройств, в ближайшем будущем следует ожидать появления новых «программно-аппаратных» вирусов и разновидностей атак.
А вы уверены, что прямо сейчас ваша микроволновка не следит за вами? 🙂
В ходе чтения этой статьи, особенно второй её части, может сложиться впечатление, что я призываю отказаться от широкого использования контроллеров. Это ни в коем случае не так. Во-первых, технический прогресс невозможно повернуть вспять. Во-вторых, для многих задач контроллеры — единственная альтернатива, и заменить их нечем. И, наконец, в-третьих, описанные негативные аспекты никоим образом не перевешивают достоинств микроконтроллера.
Основной вывод, который хотелось бы сделать — а он подходит для любой технологии — необходимо умело пользоваться преимуществами, которые дает эта технология, но не забывать об их оборотной стороне. Благодарю за внимание, и да пребудет с вами Сила!
Литература
[1] — Г. Горюнов. «Почему одни микроконтроллеры надежнее других».
[2] — «Как Symantec взломала Stuxnet». Хабрахабр.
[3] — «Десятки миллионов принтеров HP LaserJet уязвимы». Хакер.
[4] — «Троян в роутере: заражение D-link 500T в домашних условиях». Хакер №7/10
что это такое и зачем нужны
Сегодня я хотел бы написать о микроконтроллерах в целом, чтобы свои знания подтянуть и заодно другим рассказать.
Для работы с микроконтроллерами, такими как Ардуино или Iskra JS и подобными, нужны дополнительные знания, которые мы постепенно будем познавать.
Что такое микроконтроллеры?
Микроконтроллер представляет собой микросхему, которая используется для управления электронными устройствами. В типичном микроконтроллере имеются функции и процессора, и периферийных устройств, а также содержится оперативная память и/или ПЗУ (постоянное запоминающее устройство). Если говорить кратко, то микроконтроллер — это компьютер, функционирующий на одном кристалле, который способен выполнять относительно несложные операции.
Микроконтроллеры широко используются в вычислительной технике (процессоры, материнские платы, контроллеры дисководов, накопители HDD/FDD), бытовой электронике (стиральные машины, микроволновые печи, телефоны и т.д.), в промышленности и т.д. Рассмотрим, как проходит подключение и управление микроконтроллером, а также другие нюансы, связанные с ними.
Подключение микроконтроллера
Нижеописанная схема является упрощенным вариантом подключения микроконтроллера AVR.
AVR — это семейство восьмибитных микроконтроллеров фирмы Atmel. Год разработки — 1996.
По-хорошему, необходимо добавить еще несколько дополнительных внешних элементов в схему.
Упрощенная схема подключения микроконтроллера
Провод, который указан на схеме пунктиром, использовать не обязательно в том случае, если питание микроконтроллера идет от внешнего источника.
Вывод AREF используется как вход для опорного напряжения АЦП — сюда подается напряжение, относительно которого будет высчитываться АЦП. Допустимо использование внутреннего источника опорного напряжения на 2.56В, или же использовать напряжение от AVCC.
АЦП (Аналого-цифровой преобразователь) — электронное устройство, преобразующее напряжение в двоичный цифровой код
На вывод AREF рекомендуется подключить конденсатор, который позволит увеличить качество напряжения АЦП и, тем самым, позволит провести правильные измерения АЦП. Между AVCC и GND установлен конденсатор и дроссель, а между GND и VCC установлен керамический конденсатор с емкостью 100 нФ (поближе к выводам питания схемы) для сглаживания кратких импульсов помех, образующихся в результате работы микросхемы.
Также между GND и VCC устанавливается ещё один конденсатор с емкостью в 47 мкФ для того, чтобы сгладить возможные броски напряжения.
Управление микроконтроллером
Микроконтроллеры AVR оснащены Гарвардской архитектурой. Каждая из областей памяти располагаются в своем адресном пространстве. Память данных в контроллерах осуществляется посредством регистровой, энергонезависимой и оперативной памяти.
Микроконтроллер AVR
Регистровая память предусматривает наличие 32 регистров общего назначения, которые объединены в файл, а также служебные регистры для ввода и вывода. И первые, и вторые располагаются в пространстве ОЗУ, однако не являются его частью.
В области РВВ (регистров ввода и вывода) находятся различные служебные регистры — состояния, управления микроконтроллером и т.д., а также регистры, которые отвечают за управление периферийных устройств, являющихся частью микроконтроллера. По сути, управление данными регистрами и является методом управления микроконтроллером.
Устройства на микроконтроллерах
Микроконтроллеры AVR являются простыми в использовании, имеют низкую потребляемую мощность и высокий уровень интеграции.
Как правило, такие микроконтроллеры могут использоваться на самых разных устройствах, в том числе системах общего назначения, системах оповещения, для ЖК-дисплеев, плат с ограниченным пространством.
Также они используются для измерителей уровня заряда аккумулятора, аутентификации, в автомобильной электронике, для защиты от короткого замыкания и перегрева и т.д. Кроме промышленных целей, микроконтроллеры могут использоваться (и чаще всего используются новичками) для создания следующих устройств:
- Регистратор температуры на Atmega168;
- Кухонный таймер на Attiny2313;
- Термометр;
- Измеритель частоты промышленной сети на 50 Гц;
- Контроллер светодиодного стоп-сигнала на Attiny2313;
- Светодиодные лампы и светильники, реагирующие на температуру или звук;
- Электронные или сенсорные выключатели.
Отметим, что для разных устройств используются разные модели микроконтроллеров. Так, 32-разрядные микроконтроллеры AVR UC3 (а также XMEGA, megaAVR, tinyAVR и т.д.) подойдут для систем общего назначения с технологиями picoPower, QTouch, EEPROM, системами обработки событий и самопрограммированием.
Микроконтроллеры для начинающих
Если вы собираетесь программировать микроконтроллеры, такие как Ардуино, например, а также собирать устройства, которые предусматривают их наличие в схеме, необходимо учитывать некоторые правила и рекомендации:
- Перед решением любых задач следует делить их на более мелкие, вплоть до базовых действий.
- Не следует пользоваться кодогенераторами и прочими «упрощающими» материалами, хотя бы на начальных этапах.
- Рекомендуется изучить язык С и Ассемблер — это упростит понимание принципа работы микроконтроллеров и программ.
Для того, чтобы новичок мог заниматься микроконтроллерами, рекомендуется изучать базовые материалы. К таким материалам можно отнести следующие книги:
- «Применение микроконтроллеров AVR: схемы, программы и алгоритмы» Баранов В.Н., 2006 год,
- «Микроконтроллеры AVR: вводный курс», Дж. Мортон, 2008 год,
- «Программирование микроконтроллеров ATMEL на языке С» Прокопенко В.С, 2012 год.
Данные книги являются практическим руководством, в котором затрагиваются аспекты и основы цифровой логики, а также рассматриваются примеры программ для микроконтроллеров, написанных на языке С с различными имитаторами схем, компиляторами и средами.
назначение, область применения, принцип работы
Ардуино – популярнейший микроконтроллер на сегодняшний день, с которым знаком каждый инженер, а большая часть даже вплотную работала. Вся прелесть его заключается в том, что ПО под свои проекты нет необходимости писать с нуля, ведь изначально в МК загружены пресеты, которые вы можете применять по необходимости.
В большинстве случаев достаточно даже просто скачать уже готовую библиотеку, которую можно найти в свободном доступе на нашем сайте. Но те, кто ещё не встречался с данным устройством, могут недоумевать во многих нюансах его использования. Давайте же приоткроем ширму тайны и разберём микроконтроллеры для начинающих.
История появления
Начиналась вся эта эра микроконтроллеров, которые мы сегодня используем во всех видах техники, с микро-ЭВМ или Электро-Вычислительных-Машин. Они, по сути, и были первыми контроллерами, что традиционно означает – управляющее устройство, но строились на платформе одного кристалла.
Впервые данное изобретение было запатентовано в 1971 году М. Кочреным, который разместил на одном кристалле сразу и процессор, и память с возможностью ввода-вывода обрабатываемой информации.
На сегодняшний день простейшим примером МК будет процессор, который установлен у каждого из вас в ноутбуке или ПК. Там есть некоторые нюансы в терминологии, но по своей сущности он является именно микроконтроллером.
Назначение и область применения микроконтроллера
Но давайте разберёмся, чем smd микроконтроллеры 14 pin отличаются от 12 пиновых и как применять микроконтроллеры для чайников.
Для начала стоит обозначить, что область применения МК – гигантская, каждый современный автомобиль, холодильник и любой электрический прибор, если не учитывать различные адаптеры и модули, содержат в себе тот самый однокристальный (чаще поликристальный) чип. Ведь без него было бы невозможно, в принципе, контролировать приборы и каким-либо образом ими манипулировать.
А назначение устройства выплывает напрямую из терминологии, описанной выше, ведь любой МК, по своей сути, – маленький процессор, обрабатывающий команды, способный принимать и передавать данные, а в исключительных случаях, даже сохранять их в постоянной памяти.
Соответственно, прямое назначение такого устройства – контроль всего, что происходит на его платформе, например, в вашем ПК процессор является сердцем и ядром системы, ведь любой код компилируется в двоичный, дабы уже МК мог обрабатывать данные и выводить результаты.
Без этого ни одно приложение бы не запустилось. Но это лишь конкретная область применения, на деле, с помощью Ардуино и похожих систем, можно контролировать любые переменные, включая свет по хлопку или раздвигание штор при изменении освещения на улице. Вот и выходит, что назначение МК – это контроль любых переменных и изменение системы под их состояние, возможно, с последующим выводом промежуточных данных, для проверки работоспособности.
Но давайте разберёмся, почему любая разработка ПО для микроконтроллеров с помощью специальных сред в итоге компилирует (превращает) код в двоичный, и зачем это нужно?
Принцип работы
В предыдущих пунктах мы оперировали абстрактными понятиями, теперь пришло время перейти к реальным и практическим примерам. Принцип работы любого, даже самого сложного контроллера, сводится к следующему алгоритму:
- Он принимает определённые переменные или другие данные, которые прежде должны быть преобразованы в двоичный сигнал. Это необходимо, поскольку на низшем уровне система способна воспринимать лишь 2 состояния – есть сигнал или нет сигнала. Такой принцип называют аналоговым. Существует аналогичный алгоритм, когда сигнал присутствует постоянно, но меняется по частоте – цифровой. У них множество различий, как в областях применения, так и в особенностях работы сигнала, но суть одна – процессор способен воспринимать лишь значения 0 и 1, или true и false, и не важно, какими путями микропроцессоры и микроконтроллеры будут их считывать.
- Во внутренней памяти устройства хранится набор специальных инструкций, который позволяет, путем базовых математических преобразований, выполнять какие-то действия с полученными данными. Именно эти базовые операнды и берутся на вооружение компилируемых языков программирования, когда необходимо написать библиотеку готовых функций. Остальные нюансы языков программирования – это уже синтаксис и теория алгоритмов. Но в результате, всё сводится к базовым операндам, которые превращаются в двоичный код и обрабатываются внутренней системой процессора.
- Всё, что было получено и сохранено после обработки, выдается на выход. На самом деле, данный пункт выполняется всегда, единственная разница, что выходом может быть и преобразование состояния объекта какой-то системы. Простейшим примером станет замыкание электрической цепи, в случае, если на специальный датчик подать ток, вследствие чего загорится лампочка. Здесь всё зависит от типа устройства, так, 8051 микроконтроллер может выполнять несколько видов выводов, имея 14 пинов, а какой-то другой – всего один, ведь у него 1 пин на выход. Количество выходов влияет на многопоточные свойства девайса, иными словами, возможность выводить информацию сразу на несколько устройств или совершать несколько действий одновременно.
В целом, любой моно или поликристальный блок работает по этому алгоритму, разница лишь в том, что второй – способен параллельно выполнять несколько расчетов, а первый имеет конкретный список действий, который должен выполнить последовательно.
Это напрямую влияет на скорость работы устройств, и именно из-за этой характеристики 2-ух ядерные девайсы мощнее, чем 1-ядерные, но имеющие большую герцовку (способность выполнять большее количество преобразований за единицу времени).
Но почему микроконтроллер овен не способен выполнять некоторые действия, характерные для 8051, и какая классификация вообще существует в данной сфере?
Виды микроконтроллеров
На самом деле, в отличие от вспомогательных девайсов, у микроконтроллеров нет какой-то стандартизированной классификации, из-за чего их виды, зачастую, разделяют по следующим параметрам:
- Количеству аналоговых и цифровых пинов.
- Общему количеству пинов.
- Количеству ядер, которые присутствуют в МК.
- Скорости выполнения операций или герцовке.
- Объему оперативной и постоянной внутренней памяти.
- Размерам.
В зависимости от изменения тех или иных параметров, можно рассчитать подключение нагрузки к микроконтроллеру и подобрать устройство, идеально подходящее к вашему конкретному проекту, как по характеристикам, так и по функционалу.
Особенности микроконтроллеров Ардуино
Но всё же у большинства, при упоминании МК, в памяти всплывает название «Ардуино», и это не удивительно. Ведь у данной разновидности поликристальных чипов есть характерные особенности, выгодно выделяющие ее на фоне конкурентов:
- Низкий порог входа. Так как программная среда уже написана и протестирована за вас, никаких «велосипедов» придумывать не нужно.
- Оптимизация под конкретные задачи. У создателей есть целая линейка разнообразных чи
Что такое микроконтроллер? ⋆ diodov.net
Микроконтроллеры уже практически полностью заполнили современный мир электроники. Поэтому каждый начинающий или опытный электронщик рано или поздно сталкивается с этими, на первый взгляд загадочными устройствами. По сути, микроконтроллер – это всего лишь кусок кремния в пластиковом корпусе с металлическими выводами, который самостоятельно не выполняет никаких функций. Однако он способен решать множество сложных задач с довольно высокой скоростью при наличии записанной («прошитой») в него программы. Поэтому нашей задачей является научиться писать программы для микроконтроллера, тем самым превращая его из куска кремния в кусок «золота».
Естественно возникают вопросы что такое микроконтроллер, с чего начинать его изучение, и на каком типе остановит свой выбор? На эти и другие вопросы мы найдем ответ далее. Сейчас же давайте посмотрим, как они могут выглядеть, и вкратце рассмотрим область применения и некоторые возможности микроконтроллеров.
Типы корпусов микроконтроллеров
Внешне микроконтроллеры ничем не отличаются от других микросхем. Кристаллы МК размещаются в стандартных корпусах, которые имеют строго определенное количество выводов. Микроконтроллеры изготавливаются в трех принципиально разных видах корпусов.
DIP корпус
К первому виду относится DIP корпус. Сокращенно от английского Dual In—Line Package – корпус с двумя рядами выводов. Расстояние между выводами составляет 0,1 дюйма, что равно 2,54 мм. Также подобные корпуса еще обозначают PDIP. Первая буква “Р” обозначает, что корпус пластиковый – Plastic. Микроконтроллеры в таком корпусе будем использовать и мы, поскольку такие МК легко устанавливаются на макетную плату, что значительно облегчает выполнять отладку.
Рис.1 – Микроконтроллер ATmega8 в DIP корпусе
SOIC корпус
Следующим, в порядке снижения габаритов, будет SOIC корпус. Его аббревиатура расшифровывается так: Small—Outline Integrated Circuit. Он используется при пайке поверхностным монтажом, т. е. выводы микросхемы припаиваются к контактным площадкам, расположенным на поверхности платы, а не вставляются в отверстия, как DIP корпус. Расстояние между у SOIC корпусов выводами в два раза меньше, чем в DIP и составляет 1,27 мм.
Рис. 2 – Микроконтроллер AT89C2051 в SOIC корпусе
QFP и TQFP корпуса
Еще меньшие габариты имеет тип корпуса QFP (Quad Flat Package) или TQFP (Thin Quad Flat Package) (рис. 3). Отличительной особенностью его является расположение выводов по всем четырем сторонам, а сам корпус имеет форму квадрата. Как и SOIC, TQFP предназначен для поверхностного монтажа. Расстояние между выводами в 3 раза меньше, чем в DIP корпусах.
Рис. 3 – Микроконтроллер ATmega328P в TQFP корпусе
QFN корпус
Наиболее экзотическим с точки зрения любительской практики является корпус QFN (Quad Flat No—leads). Такой корпус имеет наименьшие габариты среди всех рассмотренных корпусов. В качестве выводов здесь используются контакты, расстояние между которыми в 6 раз меньше, чем в DIP корпусах. По этой причине они редко применяются радиолюбителями. Одна в промышленности такие корпуса находят широкое применение, поскольку габариты готового электронного устройства можно снизить в десятки раз. На рис.4 наглядно видно различия в габаритах одного и того же микроконтроллера (ATmega8) в DIP и QFN корпусах.
Рис. 4 – Микроконтроллер ATmega8 в DIP и QFN корпусах
Для сравнения микроконтроллеры в корпусах различных типов показаны на рис. 5. Мы же будем пользоваться микроконтроллерами исключительно в PID корпусах, по крайней мере, на начальных этапах программирования.
Рис. 5 – Микроконтроллеры в разных типах корпусов
Микроконтроллеры всюду окружают нас
Область применения МК с каждым днем все больше и больше расширяется. Они используются в самых различных устройствах: от музыкальной открытки до высокоскоростного электропоезда, самолета и ракеты. МК повсеместно применяются в бытовой технике: тостерах, микроволновых печах, кофеварках, холодильниках, стиральных машинах. Они широко внедрены в мобильных телефонах, планшетах, электронных часах, автомобилях, т. е. практически во всех электронных устройствах. И это не удивительно, ведь благодаря микроконтроллерам устройства становятся компактней, легче, надежней, дешевле; снижается их энергопотребление.
Отдельно следует заметить, что микроконтроллеры находят все большее применение в робототехнике, а именно в системах управления роботами, как самыми простыми, так и довольно сложными.
Основные возможности микроконтроллеров
Микроконтроллеры способны принимать сигналы, например с различных датчиков, кнопок или клавиатуры, обрабатывать их и выдавать управляющие сигналы, например для отображения информации на семисегментных индикаторах или жидкокристаллических дисплеях.
С помощью МК можно формировать очень точные временные интервалы благодаря наличию встроенных таймеров-счетчиков. Это позволяет создавать часы, таймеры, секундомеры и прочие устройства, где необходимо учитывать отрезки времени.
Также МК применяются для подсчета импульсов, что дает возможность сосчитать количество срабатываний какого-либо устройства. Например, можно подсчитать количество срабатываний реле с целью контроля или автоматизации определенного процесса.
Если подсчитать количество импульсов за единицу времени, то мы получим частотомер.
Наличие встроенного устройства широтно-импульсной модуляции (ШИМ) позволяет управлять частотой вращения вала двигателя.
Многие микроконтроллеры имеют в своем кристалле аналогово-цифровые преобразователи, с помощью которых можно создавать различные измерительные устройства, такие как вольтметры, амперметры, омметры, измерители емкости и т. п.
Еще микроконтроллеры могут обмениваться данными между компьютером и другим МК. Для этого практически в любом МК имеется встроенный один или несколько интерфейсов передачи данных: USART, SPI, CAN, USB и др.
Также в МК встроены и другие функциональные узлы, такие как различные прерывания, сторожевые таймеры и прочее другое. Однако я надеюсь, что даже перечисленных функций и возможностей микроконтроллеров вас заинтересует и вдохновит на их дальнейшее изучение.
В чем отличие микроконтроллера от микропроцессора?
Часто микроконтроллер называют микропроцессором, однако, это не совсем так. Микропроцессор выполняет лишь ряд арифметических и логических операций. Микроконтроллер же содержит в себе микропроцессор и другие функциональные узлы, такие как порты ввода-вывода, память аналогово-цифровые преобразователи, ШИМ и прочее. В общем случае микроконтроллер является аналогом материнской платой компьютера, на которой расположены все устройства, в том числе и центральный процессор. А микропроцессор – это всего лишь отдельный элемент, обладающий высокой вычислительной мощностью.
Какой тип микроконтроллера выбрать для начального изучения?
Для того, что бы освоить программирование микроконтроллеров на достаточно хорошем уровне, сначала необходимо научится программировать какой-то один тип микроконтроллеров и изучить все его возможности. Тогда гораздо проще будет освоить и другие типы МК.
К основным критериям выбора МК относится:
— доступность, т. е. МК можно легко купить в любом радиомагазине;
— низкая стоимость. Здесь все понятно;
— наличие подробной технической документации;
— бесплатное программное обеспечение;
— наличие литературы и достаточного количества примеров по выбранному типу МК.
Последний пункт я выделяю как наиболее важный. Поскольку только при наличии множества наглядных и интересных примеров можно хорошо освоить программирование микроконтроллеров не теряя интерес к данному занятию, что очень важно при длительном изучении МК.
На мой взгляд, и по личному опыту всем названным критериям отвечает микроконтроллер ATmega8 компании Atmel. Его мы и возьмем за основу.
Еще статьи по данной теме
Что нужно для программирования микроконтроллеров? ⋆ diodov.net
Теперь, когда мы уже ознакомлены с некоторыми возможностями и функциями микроконтроллеров, естественно, возникает логичный вопрос: что нужно для программирования микроконтроллеров? Какие необходимы программы и устройства, где их взять?
Для того чтобы микроконтроллер мог решать задачи и выполнять определенные функции, его нужно запрограммировать, т. е. записать в него программу или же код программы.
Структура и порядок написания программы
Первым делом, прежде чем приступить к написанию любой программы, а точнее кода программы, следует четко представлять, какие функции будет выполнять микроконтроллер. Поэтому сначала нужно определить конечную цель программы. Когда она определена и полностью понятна, тогда составляется алгоритм работы программы. Алгоритм – это последовательность выполнения команд. Применение алгоритмов позволяет более четко структурировать процесс написания кода, а при написании сложных программ часто позволяет сократить время, затрачиваемое на их разработку и отладку.
Следующим этапом после составления алгоритма является непосредственное написание кода программы. Программы для микроконтроллеров пишутся на языке Си или Ассемблере. Только Ассемблер больше относится к набору инструкций, нежели к языку программирования и является языком низкого уровня.
Мы будем писать программы на Си, который относится к языку высокого уровня. Программы на Си пишутся гораздо быстрее по сравнению с аналогичными на Ассемблере. К тому же все сложные программы пишутся преимущественно на Си.
Здесь мы не будем сравнивать преимущества и недостатки написания программ на Ассемблере и Си. Со временем, приобретя некоторый опыт в программировании МК, вы сами для себя сделаете полезные выводы.
Сам код программы можно писать в любом стандартном текстовом редакторе, например в Блокноте. Однако на практике пользуются более удобными редакторами, о которых будет сказано далее.
Компиляция программы
Написанный нами код на Си еще вовсе не понятен микроконтроллеру, поскольку МК понимает команды только в двоичной (или шестнадцатеричной) системе, которая представляет собой набор нулей и единиц. Поэтому Си-шный код нужно преобразовать в нули и единицы. Для этого применяется специальная программа, называемая компилятор, а сам процесс преобразования кода называется компиляция.
Далее откомпилированный готовый код нужно поместить в микроконтроллер, а точнее записать его в память микроконтроллера или, проще говоря, прошить микроконтроллер.
Для прошивки МК применяется устройство, называемое программатор. В зависимости от типа программатора вход его подключается к COM или USB порту, а выход к определенным выводам микроконтроллера.
Существует широкий выбор программаторов и отладочных плат, однако нас вполне устроит самый простой программатор USBASP, который в Китае стоит не более 3 $.
После того, как микроконтроллер прошит, выполняется отладка и тестирование программы на реальном устройстве или, как еще говорят, на «железе».
Теперь давайте подытожим этапы программирования микроконтроллеров.
При написании простых программ можно обойтись без второго пункта, т. е. без составления алгоритма на бумаге, его достаточно держать в голове.
Следует заметить, что отладку и тестирование программы также выполняют до прошивки МК.
Необходимый набор программ
Существует множество полезных и удобных программ для программирования МК. Они бывают как платные, так и бесплатные. Среди них можно выделить три основных:
1) Atmel Studio
2) CodeVisionAVR
3) WinAVR
Все эти программы относятся к IDE – Integrated Development Environment – интегрированная среда разработки. В них можно писать код, компилировать и отлаживать его.
Следует обратить внимание на Code Vision AVR. Эта IDE позволяет упростить и ускорить написание кода. Однако программа платная.
На начальном этапе программирования все программы лучше прописывать вручную, без каких-либо упрощений. Это поможет быстро приобрести необходимые навыки, а в дальнейшем хорошо понимать и редактировать под свои нужды коды, написанные кем-то другим. Поэтому я рекомендую использовать программу Atmel Studio. Во-первых, она абсолютно бесплатна и постоянно обновляется, а во-вторых она разработана компанией, изготавливающей микроконтроллеры на которых мы будем учиться программировать.
Прошивка и отладка программы
Прошивать микроконтроллеры мы будем с помощью дополнительной программы AVRDUDE.
Если микроконтроллера в наличии нет, то его работу можно эмитировать с помощью программы Proteus. Она значительно упрощает процесс отладки программы даже при наличии МК, чтобы его часто не перепрошивать, ведь любой МК имеет конечное число перезаписей, хотя это число и достаточно большое.
При прошивке и отладке МК его удобно располагать на макетной плате, но это вовсе не обязательно. Поэтому для большего удобства пригодится и макетная плата. Существует большой выбор макетных плат, однако я вам рекомендую брать ту, которая имеет по возможности большее число отверстий. Когда мы начнем подключать семисегментные индикаторы, вы оцените преимущества «больших» макетных плат.
Еще один важный элемент, который нам пригодится – это техническая документация на МК, называемая datasheet. В общем, нужно скачать datasheet на микроконтроллер ATmega8.
Итак, полный набор для программирования МК состоит из таких элементов:
1) Atmel Studio
2) Datasheet на ATmega8
3) Proteus
4) AVRDUDE
5) Программатор USB ASP (+ драйвер на него)
6) Макетная плата
7) Микроконтроллер ATmega8
Если микроконтроллера нет в наличии, не стоит откладывать изучение микроконтроллеров на потом, достаточно скачать и установить:
1) Atmel Studio
2) Datasheet на ATmega8
3) Proteus
Скачать AVRDUDE
Скачать datasheet ATmega8
Скачать Atmel Studio
Еще статьи по данной теме
Что такое микроконтроллер? Определение характеристик и архитектуры.
Добавлено 17 сентября 2019 в 11:57
Сохранить или поделиться
В данной статье мы сначала рассмотрим определяющие характеристики этих чрезвычайно популярных микросхем, а затем их внутреннюю архитектуру.
Что такое микроконтроллер? Определение характеристик и архитектуры.
Если бы мне пришлось выбрать один навык, который был бы наиболее ценным дополнением к набору навыков любого инженера, это, несомненно, было бы умение разработки схем на основе микроконтроллеров.
Микроконтроллер сыграл фундаментальную, я бы даже сказал, доминирующую роль в технологической революции, которая сформировала современную жизнь. Микроконтроллеры – это небольшие недорогие универсальные устройства, которые могут быть успешно внедрены и запрограммированы не только опытными инженерами-электронщиками, но и любителями, студентами и специалистами из других областей.
Список возможных применений микроконтроллеров настолько велик, что я не решаюсь даже привести примеры. Недорогие носимые устройства, медицинское оборудование, высококачественная потребительская электроника, надежные промышленные устройства, современные военные и аэрокосмические системы – эти адаптируемые, доступные по цене и удобные для пользователя компоненты являются желанным дополнением практически к любому электронному продукту.
Генератор сигналов произвольной формы, разработанный на 8-разрядном микроконтроллере.
В данной статье мы рассмотрим определение микроконтроллера, и зачем он нужен в проекте.
Что такое микроконтроллер?
Микроконтроллер – это устройство на интегральной микросхеме (ИМС), используемое для управления другими частями электронной системы, обычно через микропроцессорное устройство, память и несколько периферийных устройств. Эти устройства оптимизированы для встраиваемых приложений, которые требуют как возможностей обработки, так и гибкого, быстрого взаимодействия с цифровыми, аналоговыми или электромеханическими компонентами.
Наиболее распространенным способом обозначения этой категории интегральных микросхем является «микроконтроллер», но взаимозаменяемо также используется аббревиатура «MCU», так как расшифровывается «microcontroller unit». Также иногда вы можете увидеть «µC» (где греческая буква мю заменяет приставку «микро»).
«Микроконтроллер» является удачно выбранным названием, поскольку оно подчеркивает определяющие характеристики этой категории продуктов. Приставка «микро» подразумевает малые размеры, а термин «контроллер» здесь подразумевает расширенную способность выполнять функции управления. Как указано выше, эта функциональность является результатом объединения цифрового процессора и цифровой памяти с дополнительным аппаратным обеспечением, которое разработано специально, чтобы помочь микроконтроллеру взаимодействовать с другими компонентами.
Микроконтроллеры и микропроцессоры
Иногда при обращении к микроконтроллеру люди используют термин «микропроцессор», но эти два устройства необязательно идентичны. И микропроцессоры, и микроконтроллеры работают как небольшие, высокоинтегрированные вычислительные системы, но они могут служить различным целям.
Термин «процессор» используется для идентификации системы, которая состоит из центрального процессора и (необязательно) некоторой памяти. Микропроцессор – это устройство, которое реализует все функциональные возможности процессора в одной интегральной микросхеме. Микроконтроллеры, для сравнения, придают большее значение дополнительным аппаратным модулям, которые позволяют устройству управлять системой, а не просто выполнять инструкции и хранить данные.
Ниже приведена диаграмма, которая иллюстрирует эту концепцию.
Диаграмма, поясняющая различие между понятиями «микроконтроллер» и «микропроцессор»
В общем, взаимозаменяемое использование терминов «микропроцессор» и «микроконтроллер» не является большой проблемой, когда мы говорим неформально и стараемся не повторять одно и то же слово снова и снова. Однако в контексте технического обсуждения важно сохранить различие между этими двумя понятиями.
Микроконтроллеры и цифровые сигнальные процессоры (DSP)
Цифровой сигнальный процессор (или DSP) – это микропроцессор, оптимизированный для сложных вычислительных задач, таких как цифровая фильтрация, математический анализ сигналов в реальном времени и сжатие данных. Очень сложный микроконтроллер может быть в состоянии заменить цифровой сигнальный процессор, но он всё еще считается микроконтроллером, если значительная часть его внутренней схемы предназначена для управления, мониторинга и связи с окружающей системой.
Основные узлы микроконтроллера
Микроконтроллер состоит из центрального процессора (ЦП, CPU), энергонезависимой памяти, энергозависимой памяти, периферийных устройств и вспомогательных цепей.
Центральный процессор (CPU)
Центральный процессор выполняет арифметические операции, управляет потоком данных и генерирует управляющие сигналы в соответствии с последовательностью инструкции, созданных программистом. Эта чрезвычайно сложная схема, необходимая для функциональности процессора, разработчику не видна. Фактически, благодаря интегрированным средам разработки и языкам высокого уровня, таким как C, написание кода для микроконтроллеров часто является довольно простой задачей.
Память
Энергонезависимая память используется для хранения программы микроконтроллера, то есть (часто очень длинного) списка инструкций машинного языка, которые точно указывают процессору, что делать. Обычно вместо «энергонезависимой памяти» вы будете видеть слово «flash» («флеш»), которое относится к определенному типу энергонезависимого хранилища данных.
Энергозависимая память (то есть ОЗУ, RAM) используется для временного хранения данных. Эти данные теряются, когда микроконтроллер теряет питание. Внутренние регистры также обеспечивают временное хранение данных, но мы не рассматриваем их как отдельный функциональный блок, поскольку они интегрированы в центральный процессор.
Периферийные устройства
Мы используем слово «периферия» для описания аппаратных модулей, которые помогают микроконтроллеру взаимодействовать с внешней системой. Следующие пункты описывают различные категории периферийных устройств и приводят их примеры.
- Преобразователи данных: аналого-цифровой преобразователь, цифро-аналоговый преобразователь, генератор опорного напряжения.
Данный график демонстрирует данные трехосевого акселерометра, оцифрованные с помощью встроенного АЦП микроконтроллера - Генерирование тактовых сигналов: внутренний генератор, схема на кварцевом резонаторе, петля фазовой автоподстройки частоты.
- Расчет времени: таймер общего назначения, часы реального времени, счетчик внешних событий, широтно-импульсная модуляция.
- Обработка аналоговых сигналов: операционный усилитель, аналоговый компаратор.
- Ввод/вывод: цифровые входные и выходные цепи общего назначения, параллельный интерфейс памяти.
- Последовательная связь: UART, SPI, I2C, USB
Вспомогательные цепи
Микроконтроллеры включают в себя множество функциональных блоков, которые не могут быть классифицированы как периферийные устройства, поскольку их основная цель не состоит в управлении, мониторинге или обмене данными с внешними устройствами. Тем не менее, они очень важны – они поддерживают внутреннюю работу устройства, упрощают реализацию и улучшают процесс разработки.
- Схема отладки позволяет разработчику тщательно контролировать микроконтроллер во время выполнения инструкций. Это важный, а иногда и необходимый метод отслеживания ошибок и оптимизации производительности прошивки.
- Прерывания являются чрезвычайно ценным видом работы микроконтроллера. Прерывания генерируются внешними или внутренними аппаратными событиями и заставляют процессор немедленно реагировать на эти события, выполняя определенную группу инструкций.
Программы микроконтроллера, написанные на C, организованы в функции. Прерывание заставляет выполнение программы «переходить» в процедуру обработки прерывания (ISR), и после того, как ISR завершил выполнение своих задач, процессор возвращается к функции, которая выполнялась, когда произошло прерывание. - Модуль генерирования тактового сигнала можно считать периферийным устройством, если он предназначен для генерирования сигналов, которые будут использоваться вне микросхемы. Но во многих случаях основная цель внутреннего генератора микроконтроллера состоит в том, чтобы предоставить тактовый сигнал для центрального процессора и периферийных устройств. Внутренние генераторы часто имеют низкую точность, но в приложениях, которые могут допускать эту низкую точность, они являются удобным и эффективными способом упростить конструкцию и сэкономить место на плате.
- Микроконтроллеры могут включать в себя различные типы схем электропитания. Интегрированные стабилизаторы напряжения позволяют в самой микросхеме генерировать необходимое напряжение питания, модули управления питанием могут использоваться для значительного снижения потребления тока устройством в неактивных состояниях, а модули супервизора могут переводить процессор в состояние сброса, когда напряжение питания недостаточно высоко, чтобы обеспечить надежную работу.
Следующие статьи
В данной статье мы определили микроконтроллер как устройство, которое состоит из небольшого, эффективного процессорного ядра, объединенного с памятью программ, памятью данных, периферийными устройствами и различными типами схем поддержки и отладки.
В следующей статье этой серии «Введение в микроконтроллеры» мы расскажем, как правильно выбрать микроконтроллер. Затем мы перейдем к чтению технического описания на микроконтроллер.
Оригинал статьи:
Теги
MCUВстраиваемые системыМикроконтроллерМикропроцессорПроектирование встраиваемых систем
Сохранить или поделиться
Что такое микроконтроллер 8051 с основами?
Микроконтроллер имеет все необходимые компоненты, которыми обладает микропроцессор, и неизменно включает ПЗУ, ОЗУ, последовательный порт, таймеры, порты ввода-вывода прерываний и схему синхронизации. Микроконтроллер всегда ориентирован на устройство микросхемы, и это более заметно в случае последовательных портов, аналого-цифровых преобразователей, таймеров, счетчиков, постоянной памяти, параллельного ввода, управления прерываниями, памяти с произвольным доступом и портов вывода. Концепция микроконтроллера 8051 возникла отсюда, и здесь мы подробно обсудим различные аспекты, использование, программирование и другие особенности микроконтроллера 8051.
Микроконтроллер 8051 и основы
Что такое микроконтроллер 8051?
О микроконтроллере 8051 было сказано много, и после того, как вы подойдете к концу статьи, вы, возможно, узнаете о различных аспектах микроконтроллера 8051. Этот микроконтроллер был изобретен Intel и работает с 8-битным семейным процессором. Что касается использования, микроконтроллер 8051 находит широкое применение в различных отраслях промышленности, а также в быту.
8051Микроконтроллер
История микроконтроллера 8051
Если мы вернемся к истории, микроконтроллер 8051 был впервые изобретен в 1980 году гигантом микропроцессоров Intel и постепенно получил признание во всем мире, и с каждым днем важность Микроконтроллер 8051 расширяется.Когда он был изобретен Intel, он был разработан с помощью технологии NMOS, но как технология NMOS, но она была не очень эффективной.
История микроконтроллера 8051
Чтобы повысить эффективность и производительность, корпорация Intel модернизировала его, внедрив технологию CMOS, и появилась новая редакция с буквой «C» в названии, чтобы она соответствовала требованиям. спрос и может выполнить на должном уровне. В новой версии микроконтроллера 8051 есть две шины, одна из которых предназначена для программы, а другая — для данных, поэтому он может работать нормально.
В частности, микроконтроллер 8051 представляет собой 8-битное семейство микроконтроллеров и используется во всем мире. «Система на микросхеме» — это еще один синоним, который есть у микроконтроллера 8051, и такие компоненты, как 128 байт ОЗУ, четыре порта на одном кристалле, 2 таймера, 1 последовательный порт и 4 Кбайт ПЗУ, означают синоним.
Поскольку это 8-битный процессор, ЦП может работать очень эффективно и быстро, если данные имеют размер около 8 бит за раз и если данные больше этого, они должны быть фрагментированы для различных ЦП.Фактически, в настоящее время большинство производителей предпочитают использовать ПЗУ размером 4 Кбайт.
Область фокусировки микроконтроллера 8051
Здесь мы обсудим различные важные области фокусировки микроконтроллера 8051.
Управление энергопотреблением: Микроконтроллер 8051 оснащен эффективными системами измерения и помогает микроконтроллеру в значительной степени экономить энергию.
Сенсорный экран: современные дни и будущий микроконтроллер поставляются с функцией сенсорного экрана, а микроконтроллер 8051 также поставляется с функцией сенсорного экрана.Следовательно, он имеет широкое применение в сотовых телефонах, медиаплеерах и игровом секторе.
Автомобильный сектор: Микроконтроллер 8051 нашел широкое применение в автомобильном секторе, в частности, в управлении гибридными транспортными средствами, он оказался феноменальным. В дополнение к этому круиз-контроль и анти-тормозная система — еще одна область, в которой он имеет огромное применение.
Зона фокусировки микроконтроллера 8051 Основы микроконтроллера
Когда дело доходит до основ микроконтроллера, мы должны знать о различных компонентах микроконтроллера, а именно: центральный процессор (ЦП), оперативная память (ОЗУ) постоянное запоминающее устройство (ROM), таймеры портов ввода / вывода, средства управления прерываниями счетчиков, аналого-цифровые преобразователи, цифровые аналоговые преобразователи, порты последовательного интерфейса и колебательные схемы.
Основы микроконтроллера
CPU: он называется мозгом, и его основная функция заключается в извлечении и декодировании инструкций, чтобы другие функции могли выполняться плавно.
Память: Когда дело доходит до памяти микроконтроллера, микропроцессор приходит к изображению, и различные памяти, установленные внутри микроконтроллера, — это RAM и ROM (EEPROM, EPROM и т. Д.) Или флэш-память для хранения исходных кодов программ.
Параллельные порты вывода и ввода: Основная задача этих портов внутри микроконтроллера — управлять различными интерфейсами между подключенными устройствами.
Последовательные порты: Они также являются важной частью микроконтроллера.
Таймер и счетчики: Количество таймеров и счетчиков внутри микроконтроллера варьируется, и в основном они используются для функций блокировки, модуляции, генерации импульсов, измерения частоты и создания колебаний, чтобы задача могла быть выполнена с помощью оговоренный временной интервал.
Аналого-цифровой преобразователь и цифро-аналоговый преобразователь: Это преобразователь, используемый внутри микроконтроллера для преобразования сигнала из аналогового в цифровой и наоборот.
Управление прерываниями: Само название говорит само за себя и помогает выполнять программу без прерывания.
Специальный функциональный блок: Это дополнительное специальное дополнение к микроконтроллеру для выполнения определенных специальных задач.
Проекты микроконтроллеров 8051
Для всех инженеров и дипломированных специалистов проекты микроконтроллеров 8051 имеют большое значение. Честно говоря, проект, связанный с микроконтроллером 8051, очень интересен и в основном он решит проблему реальных требований.
Проекты микроконтроллера 8051
Если вы ищете проект для микроконтроллера 8051, здесь мы поможем вам получить соответствующую подсказку для ваших проектов. Вот названия некоторых интересных и наиболее популярных проектов микроконтроллеров 8051:
- Защищенная беспроводная передача данных (at89s52)
- Генератор случайных чисел с использованием системы посещаемости на основе 8051
- RFID (at89s52 + rf)
- Интерфейс шестнадцатеричной клавиатуры к 8051,
- Цифровые часы с дистанционным управлением и DS1307 и AT89c2051,
- Солнечная система слежения (at89c2051),
- Ультразвуковой дальномер с использованием 8051,
- RFID-система безопасности (at89s52 + rfid),
- Схема алкотестера с использованием 8051,
- SMS через телефон (at89s8252),
- Робот-повторитель линии с использованием микроконтроллера 8051,
- RF на основе дистанционного управления (at89c2051),
- RF на основе автоматического считывания показаний счетчика и многое другое
8051 Программирование микроконтроллера
8051 программирование микроконтроллера, безусловно, очень интересно и чтобы здесь было еще интересно, мы дадим вам инструменты, которые Помогите вам лучше понять программирование микроконтроллера 8051.
8051 Программирование микроконтроллера
Взгляните на инструменты
- Редактор кода — Блокнот с подсветкой синтаксиса
- Программное обеспечение RIDE — моделирование
- A51-Ассемблер
- Proteus — Полностью встроенное программное обеспечение для моделирования
- Симулятор на базе Windows Smart n Small Симулятор
- Keil uVision — 8051 / ARM имитация
- Бод — Калькуляторы значения таймера для различных скоростей передачи
Теперь мы напишем программу в соответствии с программным обеспечением моделирования Keil Uvison4, а программа —
- Установите программное обеспечение в вашу систему
- Щелкните Project -> New Uvision Project
- Сохраните ваш проект
- Выберите целевое устройство (8051 — AT89s51)
- Файл -> New
- Откроется новый текстовый редактор.Здесь вам нужно написать свой код.
В учебном пособии основное внимание уделяется регистрам специальных функций (SFR), регистрам специальных функций, базовым регистрам, сумматору, регистрам «R», регистру B, указателю данных (DPTR), счетчику программы ( ПК), указатель стека (SP), режимы адресации, выполнение программы, низкоуровневая информация, таймеры, работа последовательного порта, прерывания, события, запускающие прерывания, типы памяти, кодовая память, внутренняя RAM, внешняя RAM и многое другое. Интернет наводнен различными учебными пособиями, которые вы можете максимально использовать.
Это все о микроконтроллере 8051. Если вы новичок или опытный, микроконтроллер 8051 требует глубокого изучения, чтобы вы могли понять основы микроконтроллера 8051. Да, 8051 — это не просто число, это что-то означает, и руководство поможет вам понять микроконтроллер 8051. Кроме того, любые вопросы относительно этой статьи, пожалуйста, дайте свои ценные предложения в разделе комментариев ниже. Вот вам вопрос, а какова внутренняя память микроконтроллера 8051?
Что такое микроконтроллер? — Как работают микроконтроллеры
Микроконтроллер — это компьютер.Все компьютеры — будь то персональный настольный компьютер, большой мэйнфрейм или микроконтроллер — имеют несколько общих черт:
- Все компьютеры имеют ЦП (центральный процессор), который выполняет программы. Если вы сидите за настольным компьютером прямо сейчас и читаете эту статью, центральный процессор этого компьютера выполняет программу, реализующую веб-браузер, отображающий эту страницу.
- CPU загружает программу откуда-то.На вашем настольном компьютере программа браузера загружается с жесткого диска.
- В компьютере есть оперативная память (оперативная память), в которой он может хранить «переменные».
- У компьютера есть устройства ввода и вывода, поэтому он может разговаривать с людьми. На настольном компьютере клавиатура и мышь являются устройствами ввода, а монитор и принтер — устройствами вывода. Жесткий диск — это устройство ввода-вывода — он обрабатывает как ввод, так и вывод.
Настольный компьютер, который вы используете, является «компьютером общего назначения», на котором можно запускать любую из тысяч программ.Микроконтроллеры — это «компьютеры специального назначения». Микроконтроллеры хорошо справляются с одной задачей. Есть ряд других общих характеристик, которые определяют микроконтроллеры. Если компьютер соответствует большинству из этих характеристик, вы можете назвать его «микроконтроллером»:
- Микроконтроллеры — это « встроенный » в какое-то другое устройство (часто потребительский продукт), чтобы они могли управлять функциями или действиями продукта. Поэтому другое название микроконтроллера — «встроенный контроллер».«
- Микроконтроллеры предназначены для одной задачи и запускают одну конкретную программу. Программа хранится в ПЗУ (постоянное запоминающее устройство) и обычно не изменяется.
- Микроконтроллеры часто являются маломощными устройствами . Настольный компьютер почти всегда подключается к розетке и может потреблять 50 Вт электроэнергии. Микроконтроллер с батарейным питанием может потреблять 50 милливатт.
- Микроконтроллер имеет специальное устройство ввода и часто (но не всегда) имеет небольшой светодиод или ЖК-дисплей для вывода .Микроконтроллер также принимает входные данные от устройства, которым он управляет, и управляет устройством, отправляя сигналы различным компонентам устройства. Например, микроконтроллер внутри телевизора принимает ввод от пульта дистанционного управления и отображает вывод на экране телевизора. Контроллер управляет переключателем каналов, акустической системой и некоторыми регулировками электроники кинескопа, такими как оттенок и яркость. Контроллер двигателя в автомобиле принимает данные от датчиков, таких как кислородный датчик и датчик детонации, и управляет такими вещами, как состав топлива и синхронизация свечей зажигания.Контроллер микроволновой печи принимает ввод с клавиатуры, отображает выходной сигнал на ЖК-дисплее и управляет реле, которое включает и выключает микроволновый генератор.
- Микроконтроллер часто бывает маленьким и недорогим . Компоненты выбраны так, чтобы минимизировать размер и быть как можно более дешевыми.
- Микроконтроллер часто, но не всегда, в некотором роде защищенный, . Например, микроконтроллер, управляющий двигателем автомобиля, должен работать при экстремальных температурах, с которыми обычный компьютер обычно не может справиться.Микроконтроллер автомобиля на Аляске должен нормально работать при -30 градусов F (-34 C), в то время как тот же микроконтроллер в Неваде может работать при 120 градусах F (49 C). Когда вы добавляете тепло, вырабатываемое двигателем, температура в моторном отсеке может подняться до 150 или 180 градусов F (65-80 C). С другой стороны, микроконтроллер, встроенный в видеомагнитофон, совсем не защищен.
Фактический процессор , используемый для реализации микроконтроллера, может сильно различаться.Например, сотовый телефон, показанный на странице «Внутри цифрового сотового телефона», содержит процессор Z-80. Z-80 — это 8-битный микропроцессор, разработанный в 1970-х годах и первоначально использовавшийся в домашних компьютерах того времени. Мне сказали, что Garmin GPS, показанный в Как работают GPS-приемники, содержит маломощную версию Intel 80386. Изначально 80386 использовался в настольных компьютерах.
Во многих продуктах, например в микроволновых печах, требования к ЦП довольно низкие, и цена является важным фактором.В этих случаях производители обращаются к специализированным микросхемам микроконтроллера — микросхемам, которые изначально были разработаны как недорогие, небольшие, маломощные встроенные процессоры. Motorola 6811 и Intel 8051 — хорошие примеры таких чипов. Существует также линейка популярных контроллеров под названием «микроконтроллеры PIC», созданная компанией Microchip. По сегодняшним меркам эти процессоры невероятно минималистичны; но они чрезвычайно недороги при покупке в больших количествах и часто могут удовлетворить потребности разработчика устройства с помощью всего лишь одного чипа.
Типичная микросхема микроконтроллера младшего уровня может иметь 1000 байтов ПЗУ и 20 байтов ОЗУ на микросхеме, а также восемь контактов ввода / вывода. В больших количествах стоимость этих чипов иногда может составлять всего несколько копеек. Вы, конечно, никогда не собираетесь запускать Microsoft Word на таком чипе — Microsoft Word требует, возможно, 30 мегабайт оперативной памяти и процессора, который может выполнять миллионы инструкций в секунду. Впрочем, для управления микроволновой печью Microsoft Word тоже не нужен. С микроконтроллером у вас есть одна конкретная задача, которую вы пытаетесь выполнить, и важна низкая стоимость с низким энергопотреблением.
Поставщики и ресурсы беспроводной связи RF
О компании RF Wireless World
Веб-сайт RF Wireless World является домом для поставщиков и ресурсов радиочастотной и беспроводной связи.
На сайте представлены статьи, руководства, поставщики, терминология, исходный код (VHDL, Verilog, MATLAB, Labview), тестирование и измерения,
калькуляторы, новости, книги, загрузки и многое другое.
Сайт RF Wireless World охватывает ресурсы по различным темам, таким как RF, беспроводная связь, vsat, спутник, радар, волоконная оптика, микроволновая печь, wimax, wlan, zigbee,
LTE, 5G NR, GSM, GPRS, GPS, WCDMA, UMTS, TDSCDMA, bluetooth, Lightwave RF, z-wave, Интернет вещей (IoT), M2M, Ethernet и т. Д.Эти ресурсы основаны на стандартах IEEE и 3GPP. В них также есть академический раздел, который охватывает колледжи и университеты по инженерным дисциплинам и MBA.
Статьи о системах на основе Интернета вещей
Система обнаружения падений для пожилых людей на основе Интернета вещей : В статье рассматривается архитектура системы обнаружения падений, используемой для пожилых людей.
В нем упоминаются преимущества или преимущества системы обнаружения падений Интернета вещей.
Узнать больше➤
Также обратитесь к другим статьям о системах на основе Интернета вещей следующим образом:
• Система чистоты туалетов самолета.
• Система измерения столкновения
• Система отслеживания скоропортящихся продуктов и овощей
• Система помощи водителю
• Система умной торговли
• Система мониторинга качества воды
• Система Smart Grid
• Система умного освещения на базе Zigbee
• Система интеллектуальной парковки на основе Zigbee.
• Система интеллектуальной парковки на основе LoRaWAN
RF Статьи о беспроводной связи
В этом разделе статей представлены статьи о физическом уровне (PHY), уровне MAC, стеке протоколов и сетевой архитектуре на основе WLAN, WiMAX, zigbee, GSM, GPRS, TD-SCDMA, LTE, 5G NR, VSAT, Gigabit Ethernet на основе IEEE / 3GPP и т. Д. .стандарты.
Он также охватывает статьи, относящиеся к испытаниям и измерениям, по тестированию на соответствие, используемым для испытаний устройств на соответствие RF / PHY. УКАЗАТЕЛЬ СТАТЕЙ >>.
Физический уровень 5G NR : Обработка физического уровня для канала 5G NR PDSCH и канала 5G NR PUSCH рассмотрена поэтапно.
Это описание физического уровня 5G соответствует спецификациям физического уровня 3GPP.
Читать дальше➤
Основы повторителей и типы повторителей :
В нем объясняются функции различных типов ретрансляторов, используемых в беспроводных технологиях.Читать дальше➤
Основы и типы замирания : В этой статье рассматриваются мелкомасштабные замирания, крупномасштабные замирания, медленные, быстрые и т. Д., Используемые в беспроводной связи.
Читать дальше➤
Архитектура сотового телефона 5G : В этой статье рассматривается структурная схема сотового телефона 5G с внутренними модулями 5G
Архитектура сотового телефона.
Читать дальше➤
Основы помех и типы помех: В этой статье рассматриваются помехи в соседнем канале, помехи в одном канале,
ЭМ помехи, ICI, ISI, световые помехи, звуковые помехи и т. Д.Читать дальше➤
5G NR Раздел
В этом разделе рассматриваются функции 5G NR (New Radio), нумерология, диапазоны, архитектура, развертывание, стек протоколов (PHY, MAC, RLC, PDCP, RRC) и т. Д.
5G NR Краткий указатель ссылок >>
• Мини-слот 5G NR
• Часть полосы пропускания 5G NR
• 5G NR CORESET
• Форматы DCI 5G NR
• 5G NR UCI
• Форматы слотов 5G NR
• IE 5G NR RRC
• 5G NR SSB, SS, PBCH
• 5G NR PRACH
• 5G NR PDCCH
• 5G NR PUCCH
• Эталонные сигналы 5G NR
• 5G NR m-последовательность
• Золотая последовательность 5G NR
• 5G NR Zadoff Chu Sequence
• Физический уровень 5G NR
• Уровень MAC 5G NR
• Уровень 5G NR RLC
• Уровень 5G NR PDCP
Руководства по беспроводным технологиям
В этом разделе рассматриваются учебные пособия по радиочастотам и беспроводной связи.Он охватывает учебные пособия по таким темам, как
сотовая связь, WLAN (11ac, 11ad), wimax, bluetooth, zigbee, zwave, LTE, DSP, GSM, GPRS,
GPS, UMTS, CDMA, UWB, RFID, радар, VSAT, спутник, WLAN, волновод, антенна, фемтосота, тестирование и измерения, IoT и т. Д.
См. УКАЗАТЕЛЬ Учебников >>
Учебное пособие по 5G — В этом руководстве по 5G также рассматриваются следующие подтемы по технологии 5G:
Учебное пособие по основам 5G
Полосы частот
руководство по миллиметровым волнам
Волновая рамка 5G мм
Зондирование волнового канала 5G мм
4G против 5G
Тестовое оборудование 5G
Сетевая архитектура 5G
Сетевые интерфейсы 5G NR
канальное зондирование
Типы каналов
5G FDD против TDD
Разделение сети 5G NR
Что такое 5G NR
Режимы развертывания 5G NR
Что такое 5G TF
В этом руководстве GSM рассматриваются основы GSM, сетевая архитектура, сетевые элементы, технические характеристики системы, приложения,
Типы пакетов GSM, структура кадров GSM или иерархия кадров, логические каналы, физические каналы,
Физический уровень GSM или обработка речи, вход в сеть мобильного телефона GSM, установка вызова или процедура включения питания,
MO-вызов, MT-вызов, VAMOS, AMR, MSK, модуляция GMSK, физический уровень, стек протоколов, основы мобильного телефона,
Планирование RF, нисходящая линия связи PS и восходящая линия связи PS
➤Подробнее.
LTE Tutorial , охватывающий архитектуру системы LTE, охватывающий основы LTE EUTRAN и LTE Evolved Packet Core (EPC).
Он обеспечивает связь с обзором системы LTE, радиоинтерфейсом LTE, терминологией LTE, категориями LTE UE, структурой кадра LTE, физическим уровнем LTE,
Стек протоколов LTE, каналы LTE (логические, транспортные, физические), пропускная способность LTE, агрегация несущих LTE, передача голоса по LTE, расширенный LTE,
Поставщики LTE и LTE vs LTE продвинутые.➤Подробнее.
RF Technology Stuff
Эта страница мира беспроводной радиосвязи описывает пошаговое проектирование преобразователя частоты RF на примере преобразователя RF UP диапазона 70 МГц в диапазон C.
для микрополосковой платы с использованием дискретных радиочастотных компонентов, а именно. Смесители, гетеродин, MMIC, синтезатор, опорный генератор OCXO,
колодки аттенюатора. ➤Подробнее.
➤Проектирование и разработка радиочастотных трансиверов
➤Конструкция RF фильтра
➤VSAT Система
➤Типы и основы микрополосковой печати
➤Основы работы с волноводом
Секция испытаний и измерений
В этом разделе рассматриваются контрольно-измерительные ресурсы, испытательное и измерительное оборудование для тестирования DUT на основе
Стандарты WLAN, WiMAX, Zigbee, Bluetooth, GSM, UMTS, LTE.ИНДЕКС испытаний и измерений >>
➤ Система PXI для T&M.
➤ Генерация и анализ сигналов
➤Измерения слоя PHY
➤Тест устройства на соответствие WiMAX
➤ Тест на соответствие Zigbee
➤ Тест на соответствие LTE UE
➤Тест на соответствие TD-SCDMA
Волоконно-оптическая технология
Оптоволоконный компонент , основы, включая детектор, оптический соединитель, изолятор, циркулятор, переключатели, усилитель,
фильтр, эквалайзер, мультиплексор, разъемы, демультиплексор и т. д.Эти компоненты используются в волоконно-оптической связи.
Оптические компоненты INDEX >>
➤Учебник по оптоволоконной связи
➤APS в SDH
➤SONET основы
➤SDH Рамочная конструкция
➤SONET против SDH
Поставщики беспроводных радиочастотных устройств, производители
Сайт RF Wireless World охватывает производителей и поставщиков различных компонентов, систем и подсистем RF для ярких приложений,
см. ИНДЕКС поставщиков >>.
Поставщики радиочастотных компонентов, включая радиочастотный изолятор, радиочастотный циркулятор, радиочастотный смеситель, радиочастотный усилитель, радиочастотный адаптер, радиочастотный разъем, радиочастотный модулятор, радиочастотный трансивер, PLL, VCO, синтезатор, антенну, генератор, делитель мощности, сумматор мощности, фильтр, аттенюатор, диплексор, дуплексер, микросхема резистора, микросхема конденсатора, индуктор микросхемы, ответвитель, оборудование ЭМС, программное обеспечение для проектирования радиочастот, диэлектрический материал, диод и т. д.Производители RF компонентов >>
➤Базовая станция LTE
➤RF Циркулятор
➤RF Изолятор
➤Кристаллический осциллятор
MATLAB, Labview, встроенные исходные коды
Раздел исходного кода RF Wireless World охватывает коды, связанные с языками программирования MATLAB, VHDL, VERILOG и LABVIEW.
Эти коды полезны для новичков в этих языках.
ИНДЕКС ИСХОДНОГО КОДА >>
➤3-8 декодер кода VHDL
➤Код MATLAB для дескремблера
➤32-битный код ALU Verilog
➤T, D, JK, SR коды labview flipflop
* Общая информация о здоровье населения *
Выполните эти пять простых действий, чтобы остановить коронавирус (COVID-19).
СДЕЛАЙТЕ ПЯТЬ
1. РУКИ: Часто мойте их
2. КОЛЕНО: Откашляйтесь
3. ЛИЦО: Не трогай его
4. НОГИ: держитесь на расстоянии более 3 футов (1 м) друг от друга
5. ЧУВСТВОВАТЬ: Болен? Оставайся дома
Используйте технологию отслеживания контактов >>, соблюдайте >> рекомендации по социальному дистанцированию и
установить систему видеонаблюдения >>
чтобы спасти сотни жизней.
Использование концепции телемедицины стало очень популярным в
таким странам, как США и Китай, чтобы остановить распространение COVID-19, поскольку это заразное заболевание.
RF Калькуляторы и преобразователи беспроводной связи
Раздел «Калькуляторы и преобразователи» охватывает ВЧ-калькуляторы, беспроводные калькуляторы, а также преобразователи единиц.
Это касается беспроводных технологий, таких как GSM, UMTS, LTE, 5G NR и т. Д.
СПРАВОЧНЫЕ КАЛЬКУЛЯТОРЫ Указатель >>.
➤ Калькулятор пропускной способности 5G NR
➤5G NR ARFCN против преобразования частоты
➤Калькулятор скорости передачи данных LoRa
➤LTE EARFCN для преобразования частоты
➤ Калькулятор антенны Яги
➤ Калькулятор времени выборки 5G NR
IoT-Интернет вещей Беспроводные технологии
Раздел IoT охватывает беспроводные технологии Интернета вещей, такие как WLAN, WiMAX, Zigbee, Z-wave, UMTS, LTE, GSM, GPRS, THREAD, EnOcean, LoRa, SIGFOX, WHDI, Ethernet,
6LoWPAN, RF4CE, Bluetooth, Bluetooth Low Power (BLE), NFC, RFID, INSTEON, X10, KNX, ANT +, Wavenis, Dash7, HomePlug и другие.Он также охватывает датчики Интернета вещей, компоненты Интернета вещей и компании Интернета вещей.
См. Главную страницу IoT >> и следующие ссылки.
➤ НИТЬ
➤EnOcean
➤Учебник по LoRa
➤Учебник по SIGFOX
➤WHDI
➤6LoWPAN
➤Zigbee RF4CE
➤NFC
➤Lonworks
➤CEBus
➤UPB
СВЯЗАННЫЕ ЗАПИСИ
RF Wireless Учебники
Различные типы датчиков
Поделиться страницей
Перевести страницу
Что такое микроконтроллеры и почему вам это нужно?
Многие люди воспринимают компьютеры как должное.А почему бы и нет? Компьютеры развивались так быстро и с таким экспоненциальным ростом их возможностей, что для большинства людей они просто чудеса.
И все же, поскольку они стали настолько простыми в использовании и столь важными для нашего общества, они являются обычным элементом повседневной жизни даже для самых технологически неграмотных среди нас.
После всего сказанного давайте сегодня познакомимся с одной из технологий, лежащих в основе всех современных вычислений.
Микроконтроллеры — одна из самых основных частей любого компьютера; на самом деле они намного интереснее, чем вы думаете, и они также намного полезнее.
Что такое микроконтроллер?
Источник: Wikimedia Commons
На самом базовом уровне микроконтроллер ЯВЛЯЕТСЯ компьютером. Что, честно говоря, уже сбивает с толку. Но подумайте об этом так: все компьютеры, от гигантских мэйнфреймов до смартфонов, имеют несколько общих черт:
— они содержат ЦП (центральный процессор), который выполняет программы,
— у них есть хранилище, из которого можно загружать эти программы,
— у них есть некоторая RAM (оперативная память), где может храниться временная информация,
— они имеют некоторую форму устройств ввода и вывода.
Ноутбук или смартфон, который вы, скорее всего, используете для чтения этой статьи, является «компьютером общего назначения», что является основным способом сказать, что он может запускать любую из тысяч программ.
С другой стороны, микроконтроллеры — это то, что вы бы назвали «компьютерами специального назначения». Вместо того, чтобы делать сотни разных вещей, микроконтроллеры должны делать только одно, и делать это очень хорошо.
Как и следовало ожидать от этой простоты, микроконтроллеры используются во многих отраслях и приложениях, в том числе дома и на предприятии, в автоматизации зданий, производстве, робототехнике, автомобилестроении, освещении, промышленной автоматизации и даже в коммуникационных технологиях.
Самый простой из этих микроконтроллеров облегчает работу электромеханических систем, используемых в повседневных предметах потребления, таких как печи, мобильные устройства и видеоигры, а также коммерческих машин, с которыми мы взаимодействуем каждый день, таких как интеллектуальные счетчики, банкоматы и системы безопасности.
Более сложные микроконтроллеры, однако, могут выполнять важные функции в самолетах, грузовых кораблях, транспортных средствах, медицинских системах и системах жизнеобеспечения, роботах и даже на международных космических станциях.
Вот и все в двух словах, но большая правда в том, что микроконтроллеры имеют ряд других общих характеристик. Если компьютер соответствует большинству из этих характеристик, вы можете смело называть его «микроконтроллером».
К ним относятся: встраивание в другие продукты для управления определенной функцией более крупной машины, выделение для одной задачи, наличие заданного устройства ввода, которое никогда не меняется, и, конечно же, микро.
Как правило, микроконтроллеры имеют небольшие размеры, потому что весь их смысл в том, чтобы они часто использовались вместе, и никто не хочет таскать с собой большой компьютер, когда у них может быть меньший.
В большинстве случаев это все, что вам действительно нужно знать о том, как работает микроконтроллер, потому что отрасль в целом имеет тенденцию к разработке множества низкоуровневых драйверов, где опыт приходит в разработку приложения на их основе.
Однако, если вы планируете заняться компьютерной областью, изучение тонкостей микроконтроллеров приравнивается к врачу, имеющему базовые знания анатомии.
Зачем вам это нужно:
Источник: Pexels
Хорошо, послушайте, правда в том, что большинству из нас, вероятно, действительно не нужно знать все это.
Прошло 30 лет с тех пор, как кто-либо ожидал, что даже опытный программист знает что-либо о кодах операций, и относительно небольшое количество работ требует больше, чем самый минимум знаний о том, как структурировать исходный файл на языке ассемблера.
Но все же вы должны знать обо всем этом, потому что со временем это обязательно станет более важным.
По мере развития технологий мы быстро подойдем к теоретическому пределу эффективности наших компьютеров.Вскоре станет просто невозможно уменьшить основные компоненты компьютерного чипа.
Когда это произойдет, пока не произойдет какой-то фундаментальный сдвиг в вычислительной технологии, лучшим способом создания новых и лучших компьютеров будет творческое и новаторское сочетание микроконтроллеров.
Если мы хотим продолжать развиваться как общество, нам нужно будет начать заботиться о маленьких чудо-машинах, потому что чем больше людей знают, как на самом деле работает компьютер, тем больше людей найдет способ сделать их лучше .
Путь в будущее…
Источник: YellowCloud
Будущее содержит потенциальных достижений для этой технологии. Давайте взглянем только на два из них.
Bespoke Processors: Большинство микроконтроллеров и связанных с ними процессоров сегодня спроектированы как «универсальные» и предназначены для поддержки широкого спектра приложений.
Это связано с тем, что даже если для определенного приложения в этом нет необходимости, зачастую дешевле приобрести процессор с повышенной мощностью, чем проектировать процессор для конкретного приложения.
Но теперь мы начинаем осознавать цену этой чрезмерной конструкции, не только в размере и материалах, но и в огромных потерях в потреблении энергии.
Исследования показали, что в большинстве универсальных машин менее 60% их процессоров вообще используются. Это может означать, что по мере продвижения вперед мы будем продвигаться к «сделанным на заказ» машинам для конкретных приложений, которые удаляют полностью неиспользуемые схемы.
Это намекает на будущее, в котором мы сможем создавать небольшие процессоры с низким энергопотреблением для конкретных приложений.
Пластиковые микроконтроллеры: Исследователи в некоторых из лучших организаций мира работали над проектом, направленным на создание дешевых одноразовых микроконтроллеров, напечатанных на пластике с точностью до 2 микрон.
Пластиковые микросхемы, хотя и не являются передовым достижением в вычислительном отношении, по оценкам, выиграют от снижения стоимости ИС на 90% по сравнению с кремниевыми.
Пластиковые чипы также могут быть гибкими, тоньше человеческого волоса и не иметь жестких точек соединения.
Это может привести к новым невероятным достижениям, таким как гибкие датчики, одноразовые / перерабатываемые дисплеи, упаковка для пищевых продуктов, которая сообщает вам, когда еда испортилась, или даже бутылки для таблеток, напоминающие вам о приеме лекарства.
В слове микроконтроллеров есть десятки других усовершенствований, которые находятся на пороге переопределения всего поля.
Более того, эти достижения обязательно определят то, как мы думаем о вычислительной мощности в следующем десятилетии, или, по крайней мере, до тех пор, пока кто-нибудь не выяснит совершенно новый способ создания компьютера.
Именно поэтому микроконтроллеры так важны.
МИКРОКОНТРОЛЛЕРЫ И ВСТРОЕННЫЕ ПРОЦЕССОРЫ
Эта глава начинается с обсуждения роли и значения микроконтроллеров в повседневной жизни. В разделе 1.1 мы также обсуждаем критерии, которые следует учитывать при выборе микроконтроллера, а также использование микроконтроллеров на рынке встраиваемых систем. В разделе 1.2 рассматриваются различные члены семейства 8051, такие как 8052 и 8031, а также их особенности. Кроме того, мы обсуждаем различные версии 8051, такие как 8751, AT89C51 и DS5000.
РАЗДЕЛ 1.1: МИКРОКОНТРОЛЛЕРЫ И ВСТРОЕННЫЕ ПРОЦЕССОРЫ
В этом разделе мы обсуждаем потребность в микроконтроллерах и сравниваем их с микропроцессорами общего назначения, такими как Pentium и другие микропроцессоры x86. Мы также смотрим на роль микроконтроллеров на рынке встраиваемых систем. Кроме того, мы приводим некоторые критерии выбора микроконтроллера.
Сравнение микроконтроллера и универсального микропроцессора
В чем разница между микропроцессором и микроконтроллером? Под микропроцессором подразумеваются микропроцессоры общего назначения, такие как семейство Intel x86 (8086, 80286, 80386, 80486 и Pentium) или семейство Motorola 680 × 0 (68000, 68010, 68020, 68030, 68040 и т. Д.)). Эти микропроцессоры не содержат ОЗУ, ПЗУ и портов ввода-вывода на самом чипе. По этой причине их обычно называют микропроцессорами общего назначения .
Рисунок 1-1. Микропроцессорная система в отличие от микроконтроллерной системы
Разработчик системы, использующий микропроцессор общего назначения, такой как Pentium или 68040, должен добавить RAM, ROM, порты ввода-вывода и таймеры извне, чтобы они работали. Хотя добавление внешнего ОЗУ, ПЗУ и портов ввода-вывода делает эти системы более громоздкими и намного более дорогими, они обладают преимуществом универсальности, так что разработчик может выбрать объем ОЗУ, ПЗУ и портов ввода-вывода, необходимых для соответствуют поставленной задаче.С микроконтроллерами дело обстоит иначе. У микроконтроллера есть ЦП (микропроцессор) в дополнение к фиксированному объему ОЗУ, ПЗУ, портам ввода-вывода и таймеру на одном кристалле. Другими словами, процессор, ОЗУ, ПЗУ, порты ввода-вывода и таймер встроены вместе на одном кристалле; поэтому разработчик не может добавить к нему внешнюю память, ввод / вывод или таймер. Фиксированный объем встроенного ПЗУ, ОЗУ и количество портов ввода-вывода в микроконтроллерах делает их идеальными для многих приложений, в которых критичны стоимость и пространство.
Таблица 1-1: Некоторые встроенные продукты, использующие микроконтроллеры
Во многих приложениях, например в пульте дистанционного управления телевизором, нет необходимости в вычислительной мощности микропроцессора 486 или даже 8086. Во многих приложениях занимаемое пространство, потребляемая мощность и цена за единицу гораздо более важны, чем вычислительная мощность. Этим приложениям чаще всего требуются некоторые операции ввода-вывода для чтения сигналов и включения и выключения определенных битов.По этой причине некоторые называют эти процессоры IBP, «малоразрядными процессорами» (см. «Хорошие вещи в маленьких пакетах создают большие возможности для продукта», Рик Грехан, журнал BYTE, сентябрь 1994 г .; www.byte.com, где подробно обсуждается микроконтроллеры).
Интересно отметить, что некоторые производители микроконтроллеров дошли до интеграции АЦП (аналого-цифрового преобразователя) и других периферийных устройств в микроконтроллер.
Микроконтроллеры для встраиваемых систем
В литературе, посвященной микропроцессорам, мы часто встречаем термин встраиваемая система. Микропроцессоры и микроконтроллеры широко используются во встроенных системных продуктах. Встроенный продукт использует микропроцессор (или микроконтроллер) для выполнения одной задачи и только одной задачи. Принтер является примером встроенной системы, поскольку процессор внутри него выполняет только одну задачу; а именно получение данных и их печать. Сравните это с ПК на базе Pentium (или любым компьютером, совместимым с IBM x86). ПК можно использовать для любого количества приложений, таких как текстовый процессор, сервер печати, терминал кассира банка, проигрыватель видеоигр, сетевой сервер или интернет-терминал.Программное обеспечение для различных приложений может быть загружено и запущено. Конечно, причина, по которой ПК может выполнять множество задач, заключается в том, что у него есть оперативная память и операционная система, которая загружает прикладное программное обеспечение в ОЗУ и позволяет ЦП запускать его. Во встроенной системе есть только одно приложение, которое обычно записывается в ПЗУ. Компьютер x86 содержит или подключен к различным встроенным продуктам, таким как клавиатура, принтер, модем, контроллер диска, звуковая карта, драйвер CD-ROM, мышь и т. Д. Каждое из этих периферийных устройств имеет внутри микроконтроллер, который выполняет только одну задачу.Например, внутри каждой мыши есть микроконтроллер, который выполняет задачу определения положения мыши и отправки его на ПК. В таблице 1-1 перечислены некоторые встроенные продукты.
X86 Встроенные приложения ПК
Хотя микроконтроллеры являются предпочтительным выбором для многих встраиваемых систем, бывают случаи, когда микроконтроллер не подходит для этой задачи. По этой причине в последние годы многие производители микропроцессоров общего назначения, такие как Intel, Freescale Semiconductor Inc.(ранее Motorola), AMD (Advanced Micro Devices, Inc.). и Cyrix (ныне подразделение National Semiconductor, Inc.) нацелили свои микропроцессоры на рынок высокопроизводительных встраиваемых систем. В то время как Intel и AMD продвигают свои процессоры x86 как для встраиваемых, так и для настольных ПК, Freescale полна решимости сохранить семейство 68000, ориентируясь в основном на высокопроизводительные встроенные системы, поскольку Apple больше не использует 680 × 0 в своих Macintosh. . В начале 1990-х в компьютерах Apple стали использовать микропроцессоры Power PC (604, 603, 620 и т. Д.).) вместо 680 × 0 для Macintosh. Микропроцессор Power PC является совместным предприятием IBM и Freescale и нацелен на рынок высокопроизводительных встраиваемых систем, а также на рынок ПК. Следует отметить, что когда компания нацелена на универсальный микропроцессор для рынка встраиваемых систем, она оптимизирует процессор, используемый для встраиваемых систем. По этой причине эти процессоры часто называют встроенными процессорами высокого класса. Очень часто термины встроенный процессор и микроконтроллер используются как синонимы.
Одна из важнейших задач встраиваемой системы — уменьшение энергопотребления и уменьшения занимаемого пространства. Это может быть достигнуто за счет интеграции большего количества функций в микросхему ЦП. Все встроенные процессоры на базе x86 и 680 × 0 имеют низкое энергопотребление в дополнение к некоторым формам ввода-вывода, COM-порта и ПЗУ на одном кристалле. В высокопроизводительных встроенных процессорах наблюдается тенденция к интеграции все большего числа функций в микросхему ЦП, позволяя разработчику решать, какие функции он / она хочет использовать.Эта тенденция проникает и в дизайн компьютерных систем. Обычно при проектировании материнской платы ПК нам нужен ЦП плюс набор микросхем, содержащий ввод-вывод, контроллер кэш-памяти, флэш-ПЗУ, содержащее BIOS, и, наконец, вторичная кэш-память. В промышленности появляются новые конструкции. Например, Cyrix объявила, что работает над микросхемой, содержащей весь ПК, за исключением DRAM. Другими словами, мы увидим целый компьютер на кристалле.
В настоящее время из-за стандартизации MS-DOS и Windows во многих встроенных системах используются ПК с архитектурой x86.Во многих случаях использование компьютеров x86 для высокопроизводительных встраиваемых приложений не только экономит деньги, но и сокращает время разработки, поскольку существует обширная библиотека программного обеспечения, уже написанного для платформ DOS и Windows. Тот факт, что Windows является широко используемой и хорошо изученной платформой, означает, что разработка встраиваемого продукта на основе Windows снижает стоимость и значительно сокращает время разработки.
Выбор микроконтроллера Существует четыре основных 8-битных микроконтроллера.Это 6811 от Freescale, 8051 от Intel, Z8 от Zilog и PIC 16X от Microchip Technology. Каждый из этих микроконтроллеров имеет уникальный набор команд и набор регистров; следовательно, они несовместимы друг с другом. Программы, написанные для одного, не будут работать на другом. Также существуют 16-битные и 32-битные микроконтроллеры различных производителей микросхем. Какие критерии учитывают дизайнеры при выборе одного из этих разных микроконтроллеров? Три критерия при выборе микроконтроллеров заключаются в следующем: (1) эффективное и экономичное удовлетворение вычислительных потребностей поставленной задачи, (2) доступность инструментов разработки программного обеспечения, таких как компиляторы, ассемблеры и отладчики, и (3) широкая доступность и надежные источники микроконтроллера.Далее мы подробно рассмотрим каждый из вышеперечисленных критериев.
Критерии выбора микроконтроллера
1. Первым и главным критерием при выборе микроконтроллера является то, что он
должен эффективно и экономично решать поставленную задачу. Анализируя потребности
проекта на основе микроконтроллера, мы должны сначала посмотреть, может ли 8-битный, 16-битный,
или 32-битный микроконтроллер лучше всего справиться с вычислительными потребностями задачи
наиболее эффективно.Среди других соображений в этой категории:
Скорость. Какую максимальную скорость поддерживает микроконтроллер?
Упаковка. Входит ли он в 40-контактный DIP (двухрядный корпус) или QFP
(четырехместный плоский корпус) или какой-либо другой формат упаковки? Это важно для
с точки зрения пространства, сборки и прототипирования конечного продукта.Потребляемая мощность. Это особенно важно для устройств prod
с батарейным питанием.
Объем ОЗУ и ПЗУ на кристалле.
Количество контактов ввода / вывода и таймер на микросхеме.
Насколько легко перейти на более производительные или более низкие версии с суммированием power-con
.Стоимость за единицу. Это важно с точки зрения конечной стоимости продукта
, в котором используется микроконтроллер. Например, есть микроконтроллеры
, которые стоят 50 центов за единицу при покупке 100 000 единиц за раз.
Второй критерий выбора микроконтроллера — насколько легко на его основе разработать
операционных продуктов. Ключевые соображения включают наличие сборщика сборки
, отладчика, компилятора языка C с эффективным кодом, эмулятора, порта технической поддержки
, а также собственных и внешних знаний. Во многих случаях поддержка чипа со стороны Ven
dor (то есть поставщика, отличного от производителя чипа) равна
, если не лучше, чем поддержка со стороны производителя чипа.Третий критерий выбора микроконтроллера — его готовность в
необходимых количествах как сейчас, так и в будущем. Для некоторых дизайнеров это даже на
важнее первых двух критериев. В настоящее время из ведущих 8-битных микроконтроллеров
семейство 8051 имеет наибольшее количество разнообразных поставщиков (с несколькими источниками
). Под поставщиком подразумевается производитель помимо создателя
микроконтроллера. В случае 8051, который был разработан Intel,
несколько компаний также в настоящее время производят (или производили в прошлом)
8051.К этим компаниям относятся: Intel, Atmel, Philips / Signetics, AMD,
Infineon (ранее Siemens), Matra и Dallas Semiconductor. См. Таблицу 1-2.
Таблица 1-2: Некоторые компании, входящие в семейство 8051
Следует отметить, что Freescale, Zilog и Microchip Technology имеют все выделенные огромные ресурсы для обеспечения широкой и своевременной доступности своего продукта, поскольку их продукт является стабильным, зрелым и поставляется из одного источника.В последние годы также начали продавать библиотечные ячейки ASIC микроконтроллера.
Какой микроконтроллер лучший микроконтроллер?
Допустим, вы работаете над проектом, и вам нужен микроконтроллер. Какой чип вам нужен? Вероятно, тот, с которым вы наиболее знакомы, или, по крайней мере, тот, чей программист прячется в углу вашего стола. Выбор микроконтроллера — дело удобства, но не обязательно. Существуют десятки одних только различных ядер ARM, сотни клонов 8051 и более странных вещей, включая Cypress PSoC и MSP430 от TI.Какой лучше? Какой микроконтроллер , который стоит меньше доллара, лучше? Это вопрос, на который [Джей Карлсон] пытался ответить, и это лучшая подборка микроконтроллеров, которую мы когда-либо читали.
[Джей] собрал монстра из обзора дюжины или около того микроконтроллеров, которые стоят не больше доллара. В этот обзор от Atmel включены: ATtiny1616, ATmega168PB и ATSAMD10. От Cypress — PSoC 4000S. От Freescale — модели KE04 и KL03. Holtek HT-66 и Infineon XMC1100.От Microchip — PIC16, PIC24 и PIC32. От Nuvoton, N76 и M051. NXP LPC811, Renesas RL-78, Sanyo LC87 и Silicon Labs EFM8. ST — это STM32F0 и STM8. STCMicro STC8 и, наконец, MSP430 от TI. Если вы ведете счет дома, большинство из них — это ядра в стиле ARM или 8051, но AVR и PIC увеличивают число «проприетарных» ядер.
Этот обзор начинается так же, как и все технические обзоры, с выборки технических характеристик. Все есть, включая объем оперативной памяти до количества каналов ШИМ.[Джей] идет немного дальше в этом обзоре и проверяет среды разработки, компиляторы, инструменты разработки и даже производительность различных ядер в трех областях: мигающие биты, биквадратный фильтр и приемник DMX. Было проделано невероятное количество работы, и на данный момент это лучший ресурс, который мы видели для выбрасывания микроконтроллеров.
Со всеми этими данными и опытом работы с десятком различных платформ микроконтроллеров, что же [Джей] выводит? STM32F0 великолепен, Atmel / Microchip SAM D10 имеет отличную производительность, но вы будете полагаться на некоторые сторонние библиотеки.