Для чего нужны микроконтроллеры: Области применения AVR микроконтроллеров, для чего использовать микроконтроллер

Содержание

Для чего нужен микроконтроллер?

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

Для чего нужен микроконтроллер?

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

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

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

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

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

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

  1. Арифметико-логическое устройство служит для производства логических и арифметических операций, выполняет работу процессора совместно с регистрами общего назначения.
  2. Оперативно запоминающее устройство служит для временного хранения информации во время функционирования микроконтроллера.
  3. Память программ является одним из основных структурных элементов. Она основана на постоянном запоминающем устройстве с возможностью перепрограммирования, и служит для сохранения микропрограммы управления работой микроконтроллером. Она называется прошивкой. Ее пишет сам разработчик устройства. Изначально в памяти программ завод изготовитель ничего не закладывает, и там нет никаких данных. Прошивку с помощью программатора разработчик устройства записывает внутрь.
  4. Память данных используется в некоторых моделях микроконтроллеров для записи различных постоянных величин, табличных данных и т.д. Эта память имеется не во всех микроконтроллерах.
  5. Для связи с внешними устройствами существуют порты ввода-вывода. Их также используют для подключения внешней памяти, различных датчиков, исполнительных устройств, светодиодов, индикаторов. Интерфейсы портов ввода-вывода разнообразны: параллельные, последовательные, оборудованные USB выходами, WI FI. Это расширяет возможности применения микроконтроллеров для различных сфер управления.
  6. Аналого-цифровой преобразователь требуется для введения аналогового сигнала на вход микроконтроллера. Его задачей является преобразование сигнала из аналогового вида в цифровой.
  7. Аналоговый компаратор служит для выполнения сравнения двух сигналов аналогового вида на входах.
  8. Таймеры используются для выполнения установки диапазонов и задержки времени в функционировании микроконтроллера.
  9. Цифро-аналоговый преобразователь исполняет обратную работу по преобразованию из цифрового сигнала в аналоговый.
  10. Действие микроконтроллера синхронизируется с генератором тактовыми импульсами при помощью блока синхронизации, который работает совместно с микропрограммой. Генератор тактовых импульсов может быть как внутренним, так и внешним, то есть, тактовые импульсы могут подаваться с постороннего устройства.

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

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

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

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

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

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

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

Основными факторами подбора микроконтроллера являются:

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

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

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

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

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

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

Смотрите также:
  • Советы автомобилистам в зимнее время
  • Фольксваген Пассат 2021: обзор автомобиля
  • Особенности покупки авто через автосалоны
  • Замена топливного насоса на Mitsubishi Outlander
  • Выбор зимних шин для внедорожника
  • Можно ли поставить автолюльку на переднее сиденье в автомобиле
  • Зачем и как мы учим программировать микроконтроллеры.

    Как?

    Учить программированию можно по-разному. У себя в 169-ой мы пришли к тому, что один из наиболее продуктивных подходов — программирование микроконтроллеров на примере создания компьютерных игр. Почему так? Зачем вообще нужны какие-то микроконтроллеры? Давайте разбираться.
    Для начала полезно будет вспомнить, зачем мы в принципе учим детей программированию. Только лишь для решения прикладных задач? Призываю всех перечитать ещё раз Сеймура Пейперта, «Переворот в сознании: Дети, компьютеры и плодотворные идеи».


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

    Иными словами, с точки зрения обучения важно то, что компьютер способен стать средством имитации, моделирования  физической реальности. А программирование — это инструмент, позволяющий самим детям заниматься компьютерным моделированием физической реальности, и свободно экспериментируя, глубоко осваивать ее законы.
    Давайте вспомним и о том, что любая компьютерная игра, воссоздающая реальное поведение объектов, включает соответствующую физическую модель. Чтобы предметы падали, нужно научить их падать. Чтобы предметы сталкивались, нужно научить их сталкиваться.
    Создавая компьютерную игру, дети создают физические модели, то есть занимаются компьютерным моделированием физической реальности. Именно это и является самым главным с точки зрения обучения. Кроме того, создание игр вызывает у детей живой интерес.
    Оправдано ли использовать игры в учебном процессе? Думаю, вряд ли мне следует сильно агитировать за геймификацию, но всё-таки выскажусь: как бы мы не относились к играм, они во все времена были и во все времена будут именно той деятельностью, которой занимаются дети, и биологическая функция игры у людей и прочих животных — именно обучение!
    Только есть одна загвоздка… Игры — это как атомная энергия. Чтобы использовать её в мирных целях, ею необходимо очень и очень хорошо управлять. Но человек (уж мы с вами точно!), в отличие от прочих животных, в большей степени способен осознанно контролировать происходящее. И несмотря на существование такого феномена как «компьютерная зависимость» (ru.wikipedia.org/wiki/Компьютерная_зависимость) и «зависимость от компьютерных игр» (ru.wikipedia.org/wiki/Зависимость_от_компьютерных_игр), мы всё-таки храбро будем продолжать программировать игры на занятиях.
    Какую роль играют микроконтроллеры в свете всего вышеописанного? Это тот самый «мостик», который связывает два мира, физический и виртуальный, не дает «увязнуть» в иллюзорности. 
    Использование микроконтроллеров позволяет продемонстрировать детям применимость созданных компьютерных моделей для решения практических задач,  в том числе для управления реальными объектами. Пример — проект «Умный домик» из книги «Scratch и Arduino для юных программистов и конструкторов». В зависимости от реального уровня освещенности не только меняется изображение на экране, но и щелкает вполне реальный модуль реле, включая и выключая вполне реальную лампочку.


    Пример проекта продвинутого уровня из нашей новой книги «Игровая робототехника для юных программистов и конструкторов: mBot и mBlock». Робот сканирует пространство вокруг себя, с использованием показаний дальномера на экране компьютера рисуется «карта» препятствий, в результате можно управлять перемещениями компьютерного персонажа так, чтобы он объехал метки препятствий, а робот воспроизводит траекторию перемещения компьютерного персонажа на местности.
    http://www.instagram.com/p/BjWtpOBAtvQ/?taken-by=projectlab169


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


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


    Хотите узнать на практике, как всё это выглядит? Давайте создадим очень простой, первоначальный вариант несложной игры. Управление будет осуществляться одной кнопкой. Можно использовать готовый контроллер mCore робота mBot с уже встроенной кнопкой и готовым блоком «кнопка нажата» в визуальной среде mBlock. Но не надо забывать, что нажатие и отпускание кнопки это всего лишь замыкание и размыкание контакта, появление и исчезновение электрического напряжения на «ноге» (pin) микроконтроллера. Поэтому с тем же самым успехом можно использовать распространенную и доступную плату Arduino в сочетании с кнопочным модулем или платой расширения «Joystick Shield», а также базовый блок чтения состояния порта «digitalRead» (на русский переведено в mBlock как «читать цифровой pin»).


    Сюжет: голодная рыбка плавает влево-вправо, разворачиваясь у края экрана, кроме того, ее можно развернуть в произвольный момент, нажав на кнопку игрового пульта. Сверху периодически опускаются съедобные предметы, которые вовремя надо суметь подобрать.
    Итак, первым делом скачиваем и устанавливаем mBlock for PC версии 3.4.11 (mBlock5 использовать пока не будем, о нем поговорим позже) с сайта разработчиков (www. mblock.cc).
    Проверяем настройки: «Language» — «Русский», «Boards» — «Arduino Uno», «Extensions» — «Arduino».
    Подключаем игровой пульт на базе Arduino Uno и Joystick Shield к компьютеру при помощи кабеля USB. Устанавливаем соединение через последовательный порт. «Соединить» — «Serial Port» — «COM3» (предположим). Загружаем прошивку: «Соединить» — «Обновить прошивку». Проверяем наличие соединения, щелкаем мышью по блоку «читать аналоговый pin (A) 0» из группы «Робот» на палитре блоков. Мы должны увидеть какое-то значение, отличное от нуля.
    Удаляем спрайт «M-Panda» (базовые навыки работы в Scratch у всех есть?), добавляем спрайт «Fish4» из библиотеки. Далее собираем для этого спрайта следующий набор скриптов (необходимо будет создать переменную «датчик»). Кнопку будем использовать нижнюю, связанную с пином 4.


    Добавляем из библиотеки спрайт «Apple», создаем для него скрипт.


    Дублируем спрайт «Apple» один или несколько раз, при желании заменяем костюм. Пробуем!
    Ваша программа работает? Есть ли ошибки, всё ли происходит именно так, как вам хотелось бы? «Ошибки приносят нам пользу, поскольку они заставляют нас разобраться в том, что произошло, понять, где мы пошли по ложному пути, и через такое понимание исправить их. Опыт программирования на компьютере эффективнее любой другой деятельности заставляет уверовать в отладку» (Сеймур Пейперт).
    Функционирующий проект — это «лакмусовая бумажка», заменяющая оценку учителя и наглядно демонстрирующая ребенку, что он добился результата, достиг поставленной цели. И это тот самый путь, идя по которому, ребенок в конце концов перестанет лишь пассивно усваивать информацию, сможет заняться самообучением, осознанно формулируя персональные задачи и выбирая методы, позволяющие их решить. 
    P.S. Процесс создания и отладки проекта «Голодная рыбка» подробно описан в книге «Scratch и Arduino для юных программистов и конструкторов».

     

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

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

    1. Многие начинающие электронщики не знают с чего начать, поэтому спрашивают совета. Большинство бывалых радиолюбителей ответят, что начни собирать какую нибудь схему. Естественно в голове любого начинающего сразу мелькает LCD дисплей с jpeg картинками, какой нибудь mp3 плеер или часы, без малейшей мысли о том, что не имея базовых знаний это неподъемная задача.

    Я категорически против такого подхода. Обычно это все заканчивается — либо ничем, либо забитые форумы с мольбами помочь. Даже если кому то помогают, то в 90% он больше никогда не всплывет на сайтах по электронике. В остальных 10% он так и продолжает заливать форумы мольбами, его будут сначала пинать, затем поливать грязью. Из этих 10% отсеивается еще 9%. Далее два варианта: либо таки до глупой головы доходит и все же происходит goto к началу, либо в особо запущенных вариантах, его удел копировать чужие конструкции, без единой мысли о том как это работает. Из последних зачастую рождаются ардуинщики.

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

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

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

    2. Перед решением задачи, дробите ее до абсурда вплоть до «припаять резистор», это помогает, проверено. Мелкие задачи решать куда проще. Когда большая задача разбита на кучу мелких действий, то все что остается — это выполнить их. Могу привести еще один годный совет, хоть он вам и покажется бредовым — заведите блокнотик и пишите в него все что собираетесь сделать. Вы думаете, итак запомню, но нет. Допустим сегодня у меня хорошее настроение и думаю о том, как собрать плату. Запиши план действий: сходить купить резистор, подготовить провода, сделать крепление дисплея. Потом все забудешь, откроешь блокнотик и смотришь — ага сегодня настроение попилить и построгать, сделаю крепление. Или собираешь ты плату и уже осталось допаять последний компонент, но не тут то было резисторы кончились, вот записал бы перед тем как паять, то вспомнил.

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

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

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

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

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

    Очень многие начинающие брезгуют изучением языка, поэтому если вы не будете как все, то сразу станете на две ступени выше остальных новичков. Так же не никакой разницы, где изучать язык. На мой взгляд, микроконтроллер для этого не очень подходит. Гораздо проще поставить какую нибудь Visual studio или Qt Creator и порешать задачки в командной строке.

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

    5. Изучение ассемблера? Бояться его не нужно, равно как и боготворить. Не нужно думать, что умея написать программу на ассемблере, вы сразу станете гуру микроконтроллеров, почему то это частое заблуждение. В первую очередь это инструмент. Даже если вы не планируете использовать его, то все равно я бы настоятельно рекомендовал написать хотя бы пару программ. Это сильно упростит понимание работы микроконтроллера и внутреннего устройства программ.

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

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

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

    Мною был проведен эксперимент: в наличии был студент, даташит и гугл переводчик. Эксперимент №1: студенту вручен даташит и дано задание самостоятельно найти нужные значения, результат — «да как я смогу», «да я не знаю английский», «я ничего не нашел/я не понял» типичные фразы, говорящие о том, что он даже не пытался. Эксперимент №2: тому же студенту, вручен все тот же даташит и тоже задание, с той разницей, что я сел рядом. Результат — через 5 минут он сам нашел все нужные значения, абсолютно без моего участия, без знания английского.

    8. Изобретайте велосипед. Например, изучаете какую то новую штуку, допустим транзистор, дядька Хоровиц со страниц своей книги авторитетно заявляет, что транзистор усиливает, всегда говорите — НЕ ВЕРЮ. Берем в руки транзистор включаем его в схему и убеждаемся что это действительно так. Есть целый пласт проблем и тонкостей, которые не описываются в книгах. Прочувствовать их можно только, когда возьмешь в руки и попробуешь собрать. При этом получаем кучу попутных знаний, узнаем тонкости. Кроме того, любая теория без практики забудется намного быстрее.

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

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

    9. А как бы я сделал это, если бы находился на месте разработчиков? Могу ли я сделать лучше? Каждый раз задавайте себе эти вопросы, это очень хорошо помогает продвигаться в обучении. Например, изучите интерфейсы 1wire, i2c, spi, uart, а потом подумайте чем они отличаются, можно ли было сделать лучше, это поможет осознать почему все именно так, а не иначе. Так же вы будете осознавать, когда и какой лучше применить.

    10. Не ограничивайтесь в технологиях. Важно что этот совет имеет очень тонкую грань. Был этап в жизни, когда из каждой подворотни доносилось «надо бы знать ПЛИС», «а вот на ПЛИС то можно сделать». Формально у меня не было целей изучать ПЛИСины, но и пройти мимо было никак нельзя. Этому вопросу было выделено немного времени на ознакомление. Время не прошло зря, у меня был целый ряд вопросов, касаемых внутреннего устройства микроконтроллеров, именно после общения с плисинами я получил ответы на них. Подобных примеров много, все знания, которые я приобретал в том или ином виде, рано или поздно пригодились. У меня нет ни единого бесполезного примера.

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

    11. Если спросить начинающего радиолюбителя, что ему больше нравится программирование или схемотехника, то с вероятностью 99% ответ будет программирование. При этом большую часть времени эти программисты тратят на изготовление плат ЛУТом/фоторезистом. Причины в общем то понятны, но довольно часто это переходит в некий маразм, который состоит в изготовлении плат ради изготовления плат.

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

    12. Следующий совет, особенно болезненный, мне очень не хочется его обсуждать, но надо. Часто мне пишут, мол ххх руб за ууу дорого, где бы подешевле достать. Вроде бы обычный вопрос, но обычно я сразу напрягаюсь от него, так как зачастую он переходит в бесконечные жалобы на отсутствие денег. У меня всегда возникает вопрос: почему бы не оторвать пятую точку и не пойти работать? Хоть в тот же макдак, хоть на стройку, потерпеть месяц, зато потом можно приобрести парочку плат, которых хватит на ближайший год. Да я знаю, что маленьких городах и селах сложно найти работу, переезжайте в большой город. Работайте на удаленке, в общем нужно крутиться. Просто жаловаться нет смысла, выход из ситуации есть, кто ищет его тот находит.

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

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

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

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

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

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

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

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

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

    16. Поздно ли начинать программировать в 20, 30, 40, 50 лет? Практика других людей показывает, что возраст вообще не помеха. Многие почему то не учитывают то, что есть целый пласт работы, которую молодые в силу своих амбиций не хотят делать. Поэтому работодатели предпочитают брать тех, кто будет ее тащить. Это ваш шанс зацепиться, а дальше все зависит только от вас.

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

    Зачем нужны микроконтроллеры.

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

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

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

    —-

    Микроконтроллер это конечно не процессор, но он ещё и не персональный компьютер!

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

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

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

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

    → Купить ДРОССЕЛИ можно через интернет магазин.

    Зачем микроконтроллерам нужны часы

    Короткий ответ: менеджеры хотят простой, проверяемой, ДОКАЗАТЕЛЬНОЙ функции, прежде чем тратить миллионы (или более) долларов на дизайн. Текущие инструменты, просто не дают асинхронным проектам такие ответы.

    Микрокомпьютеры и микроконтроллеры обычно используют схему синхронизации для обеспечения контроля времени. Все технологические углы должны поддерживать синхронизацию всех влияний напряжения, температуры, процесса и т. Д. На скорость распространения сигнала. Там нет ни одного тока логических вентилей изменяются мгновенно: каждые ворота переключаются в зависимости от напряжения она поставляется, привод он получает, нагрузку он управляет, и размер устройств, которые используются , чтобы сделать это, (и, конечно , узел процесса (размер устройства), в котором он сделан, и насколько быстро этот процесс выполняется на самом деле — ЭТО ПРОХОД через ФАБ). Чтобы перейти к «мгновенному» переключению, вы должны использовать квантовую логику, и это предполагает, что квантовые устройства могут переключаться мгновенно; (Я не уверен).

    Тактовая логика подтверждает, что синхронизация по всему процессору работает в зависимости от ожидаемого напряжения, температуры и переменных обработки. Есть много доступных программных инструментов, которые помогают измерить это время, и сетевой процесс называется «закрытием времени». Синхронизация может (и, по моему опыту, делает ) потреблять от 1/3 до 1/2 мощности, используемой в микропроцессоре.

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

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

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

    Это можно сделать? Конечно, даже на миллиарде транзисторов. Это сложнее? Да, но только потому, что доказать, что он работает на всем чипе (или даже системе), гораздо сложнее. Получение сроков на бумаге достаточно прямолинейно для любого блока или подсистемы. Управлять этим временем в автоматизированном месте и системе маршрутов гораздо сложнее, потому что инструмент НЕ настроен для обработки гораздо большего потенциального набора временных ограничений.

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

    Достижение механизма «блокировки» «первым прибывшим» является проблемой проектирования схемы, и существуют известные способы решения этой проблемы. Расовые условия являются признаком 1). плохая практика проектирования; или 2). внешние сигналы, поступающие в процессор. Синхронизация фактически вводит состояние гонки сигнал-тактовая частота, которое связано с нарушениями «установки» и «удержания».

    Лично я не понимаю, как асинхронный проект мог зайти в тупик или в любое другое состояние гонки. Это вполне может быть моим ограничением, но если это не произойдет при вводе данных в процессор, это НИКОГДА не должно быть возможным в хорошо спроектированной логической системе, и даже тогда, так как это может произойти при поступлении сигналов, вы решаете с ними справиться.

    (Надеюсь, это поможет).

    Все, что сказал, если у вас есть деньги …

    Урок 2. Регистры микроконтроллера. Порты ввода/вывода

    Как известно из первого урока, каждый микроконтроллер имеет регистры общего назначения, которые представляю собой оперативную память, хранящую числа, обрабатываемые арифметико-логическим устройством (АЛУ).  Причем, по ходу исполнения программы, эти  числа могут изменяться: увеличиваться, уменьшаться, сбрасываться, снова загружаться и т. д. Вся память разбита на ячейки. Размер ячейки зависит от разрядности процессора 8, 16 или 32 бита. Каждой ячейке памяти соответствует свой адрес, используя который в нее можно записать число.

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

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

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

    Итак, регистрам в программе на Си присваиваются имена. Когда создается какая-либо переменная, то она автоматически связывается с адресом свободной ячейки памяти.

    Например:

                unsigned char my_variable;

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

                unsigned char var1, var2, sum;

    Затем произвести арифметическую операцию сложения:

                sum = var1 + var2;

    Значение из регистров, которые связаны с переменными var1 и var2, поступят на обработку АЛУ. Затем АЛУ выдаст результат операции (в данном случае сложения) в ячейку памяти, связанную с переменной sum.

    Помимо регистров общего назначения, в микроконтроллере есть регистры специального назначения, которые играют очень важную роль. Без них микроконтроллер был бы бессмысленной «железкой». С помощью регистров специального назначения выполняется управление функциями ядра и периферийными модулями  микроконтроллера (таймеры, АЦП, аналоговые компараторы, UART, USB и т.д.), а также портами ввода-вывода. В отличие от регистров общего назначения, регистрам специального назначения строго присвоены свои адреса. Меняя значения регистров специального назначения можно управлять работой всех модулей микроконтроллера. Для примера рассмотрим карту памяти микроконтроллера PIC12F675.

    Ячейки, обозначенные серым цветом – не используемая область памяти. Как видно, данный микроконтроллер имеет 64 байта ОЗУ (General Purpose Registers– регистры общего назначения) и два банка памяти. Если необходимо писать программу на ассемблере, то всегда нужно помнить в каком банке памяти находится необходимый регистр и на протяжении всей программы нужно постоянно переключаться между банками памяти. Написание программы на языке Си избавляет программиста от этой головной боли.

    Итак, рассмотрим для примера регистр специального назначения GPIO. GPIO — 8-разрядный регистр порта ввода/вывода. С помощью этого регистра мы можем установить на определенных цифровых выходах микроконтроллера логическую 1 или 0. Данный регистр обычно настраивается совместно с регистром TRISIO. Регистр TRISIO определяет направление работы порта. Как было сказано в предыдущем уроке, порты микроконтроллера можно настроить для работы в качестве выходов или входов.

    Микроконтроллер PIC12F675 представляет собой 8-выводную микросхему, у которой есть только 6 цифровых входов/выходов:

    Рассмотрим более детально описание регистров GPIO и TRISIO:

    Если записать в программе следующие строки

                TRISIO = 0b00010100;

                GPIO = 0b00100011;

    то это означает, что пины 7,6,4 и 2 будут работать на выход. Пины 7,6 и 2 будут установлены в 1, а пин 4 будет иметь низкий уровень – 0. Биты 6 и 7, обозначенные серым цветом,  в регистрах не используются и то, что будет в них записано не имеет никакого смысла. 0b00100011 – буква b данной записи обозначает двоичное представление числа.

    Бывают также десятичное (привычное для нас), восьмеричное и шестнадцатеричное представление числа. В начале шестнадцатеричного числа записывается 0x, восьмеричного – цифра 0. Подробнее о системах счисления можно почитать здесь.

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

    Программирование микроконтроллеров arduino. | Знаток Статьи

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

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

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

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

    Фактически все модернизированные электронные устройства, считая конструкторы управляются микроконтроллерами. Благодаря чему устанавливается их кооперация по совместным протоколам. И взаимосвязь с программистами. Платы Arduino организованы на модулях из часто используемых типов контроллеров, к примеру, таких как AVR ATMEGA8.

    Код программирования плат Ардуино базируется на C/C++. Этот язык, как правило понятен в усвоении и содержит специфичную встроенную среду разработки. Такой принцип дает возможность создать интересные проекты тем, кто имеет самыми начальными возможностями программирования.

    В наши дни многие старшие школьники с интересом изучают основные принципы разработки программ, и микроконтроллеры. Cегодня и у ребят 4-5 классов есть шанс почерпнуть востребованные в дальнейшем знания. Повсюду открываются группы и школы изучения языков программирования и робототехники для ребят. В этих кружках дети учатся открывать компьютер как инструмент интеллектуального воспитания, самим делать сайты, заниматься с вымышленной реальностью, делать начального уровня компьютерные игрушки, а также разрабатывать другого уровня роботизированные конструкции. Подростки различного возраста c начальных классов получают шанс сориентироваться с подбором направления в ИТ и оcознать нужно ли им улучшать обучение в подобной области. Более того, такие семинары обучают ребят быстро аккумулировать решения, быть в компании и суметь найти ответ из неординарных положений.

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

    типов и применения микроконтроллеров — EIT | Инженерный технологический институт: EIT

    Введение в микроконтроллер:
    Микроконтроллер (микроконтроллер или микроконтроллер) — это микрокомпьютер на одной микросхеме, изготовленный на базе СБИС. Микроконтроллер также известен как встроенный контроллер. Сегодня на рынке доступны различные типы микроконтроллеров с разной длиной слова, такие как 4-битные, 8-битные, 64-битные и 128-битные микроконтроллеры. Микроконтроллер — это сжатый микрокомпьютер, предназначенный для управления функциями встроенных систем в офисных машинах, роботах, бытовой технике, автомобилях и ряде других устройств.Микроконтроллер состоит из таких компонентов, как память, периферийные устройства и, самое главное, процессор. Микроконтроллеры в основном используются в устройствах, которым требуется определенная степень контроля со стороны пользователя устройства.

    Основы микроконтроллера:
    Любое электрическое устройство, которое хранит, измеряет, отображает информацию или вычисляет, состоит из микросхемы микроконтроллера
    внутри себя. Базовая структура микроконтроллера состоит из: —
    1. ЦП — Мозг микроконтроллера называется ЦП.ЦП — это устройство, которое используется для получения данных, их декодирования и успешного завершения поставленной задачи. С помощью центрального процессора все компоненты микроконтроллера объединены в единую систему. Выборка
    команд, созданная программируемой памятью, декодируется ЦП.
    2. Память — В микроконтроллере микросхема памяти работает так же, как микропроцессор. Чип памяти хранит все программы и данные. Микроконтроллеры построены с определенным объемом ПЗУ или ОЗУ (EPROM, EEPROM и т. Д.) Или флэш-памятью для хранения исходных кодов программ.
    3. Порты ввода / вывода — порты ввода / вывода в основном используются для взаимодействия или управления различными устройствами, такими как — принтеры, ЖК-дисплеи, светодиоды и т. Д.

    4. Последовательные порты — эти порты предоставляют последовательные интерфейсы между микроконтроллером и различными другими периферийными устройствами. например, параллельный порт.
    5. Таймеры — микроконтроллер может быть встроен с одним или несколькими таймером или счетчиками. Таймеры и счетчики контролируют все операции подсчета и синхронизации в микроконтроллере. Таймеры используются для подсчета внешних импульсов.Основными операциями, выполняемыми таймерами, являются генерация импульсов, функции часов, измерение частоты, модуляция, создание колебаний и т. Д.
    6.ADC (аналого-цифровой преобразователь) –ADC используется для преобразования аналоговых сигналов в цифровые. Входные сигналы должны быть аналоговыми для АЦП. Производство цифровых сигналов можно использовать в различных цифровых приложениях (например, в измерительных устройствах).

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

    Типы микроконтроллеров:
    Микроконтроллеры делятся на категории в соответствии с их памятью, архитектурой, битами и наборами команд
    . Итак, давайте обсудим типы микроконтроллеров:

    бит:
    8-битный микроконтроллер выполняет логические и арифметические операции. Примером 8-битного микроконтроллера является Intel 8031/8051.
    16-битный микроконтроллер работает с большей точностью и производительностью по сравнению с 8-битным.
    Примером 16-битного микроконтроллера является Intel 8096.

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

    Память:

    • Микроконтроллер с внешней памятью — когда встроенная структура построена с микроконтроллером, который не включает все функционирующие блоки, существующие на микросхеме, он называется микроконтроллером внешней памяти.Для иллюстрации — микроконтроллер 8031 ​​не имеет памяти программ на микросхеме.
    • Микроконтроллер со встроенной памятью — когда встроенная структура построена с микроконтроллером, который состоит из всех функциональных блоков, существующих на микросхеме, он называется микроконтроллером встроенной памяти. Для иллюстрации — микроконтроллер 8051 имеет всю память программ и данных, счетчики и таймеры, прерывания, порты ввода / вывода и, следовательно, свой микроконтроллер встроенной памяти.

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

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

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

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

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

    • 8052-Этот микроконтроллер имеет 3 таймера и 256 байт ОЗУ. Кроме того, он имеет все функции традиционного микроконтроллера 8051. Микроконтроллер 8051 является частью микроконтроллера 8052.
    • 8031 ​​- Этот микроконтроллер меньше ПЗУ, за исключением того, что он имеет все функции традиционного микроконтроллера 8051. Для выполнения в его микросхему можно добавить внешнее ПЗУ размером 64 Кбайт.
    Микроконтроллер

    8051 задействует 2 различных типа памяти, таких как NV-RAM, UV-EPROM и Flash.

    8051 Архитектура микроконтроллера:
    Микроконтроллер 8051 — это восьмиразрядный микроконтроллер, выпущенный в 1981 году корпорацией Intel. Он доступен в 40-контактном DIP-корпусе (двухрядный корпус). Он имеет 4 КБ ПЗУ (программируемое пространство на кристалле) и 128 байтов встроенного ОЗУ, при желании 64 КБ внешней памяти могут быть связаны с микроконтроллером.Есть четыре параллельных 8-битных порта, которые легко программируются, а также адресуются. Встроенный кварцевый генератор интегрирован в микроконтроллер с тактовой частотой 12 МГц. В микроконтроллере есть последовательный порт ввода / вывода, который имеет 2 контакта. В него также встроены два таймера по 16 бит; эти таймеры могут использоваться как таймеры для внутреннего функционирования, а также как счетчики для внешнего функционирования. Микроконтроллер состоит из 5 источников прерываний, а именно: прерывание от последовательного порта
    , прерывание от таймера 1, внешнее прерывание 0, прерывание от таймера 0, внешнее прерывание 1.Режим программирования этого контроллера micro-
    включает в себя GPR (регистры общего назначения), SFR (регистры специальных функций) и SPR (регистры специального назначения).

    Микроконтроллер PIC:
    Контроллер периферийного интерфейса (PIC), предоставленный Micro-chip Technology для классификации своих микроконтроллеров с одиночным чипом. Эти устройства оказались чрезвычайно успешными в 8-битных микроконтроллерах. Основная причина этого заключается в том, что Micro-Chip Technology постоянно модернизирует архитектуру устройства и включает в микроконтроллер столь необходимые периферийные устройства, чтобы удовлетворить потребности клиентов.Микроконтроллеры PIC очень популярны среди любителей и промышленников; это единственная причина широкой доступности, низкой стоимости, большой базы пользователей и возможности последовательного программирования.

    Архитектура микроконтроллера PIC:
    Архитектура 8-битных микроконтроллеров PIC может быть классифицирована следующим образом:
    1. Архитектура базовой линии — В базовую архитектуру микроконтроллеры PIC семейства PIC10F включены, кроме этой части PIC12 и PIC16 семьи также включены. Эти устройства используют 12-битную архитектуру программного слова с альтернативами от шести до двадцати восьми выводов.
    Кратко определенный набор атрибутов базовой архитектуры позволяет создавать наиболее прибыльные продуктовые решения. Эта архитектура идеально подходит для гаджетов с батарейным питанием. Серия PIC10F200 — еще один недорогой 8-битный микроконтроллер флэш-памяти с 6-контактным корпусом.

    2. Архитектура среднего диапазона — в эту среднюю линию добавлены семейства PIC12 и PIC16, которые атрибутируют 14-битную архитектуру программного слова. Гаджеты среднего уровня PIC16 предлагают широкий спектр альтернативных пакетов (от 8 до 64 пакетов) с низким и высоким уровнем включения периферийных устройств
    .Это устройство PIC16 поддерживает различные аналоговые, цифровые и последовательные периферийные устройства, такие как SPI, USART, I2C, USB, ЖК-дисплеи и аналого-цифровые преобразователи. Микроконтроллеры PIC16 среднего уровня обладают функцией приостановки управления с восьмиуровневой аппаратной нагрузкой.
    3. Высокопроизводительная архитектура. Высокопроизводительная архитектура включала семейство устройств PIC18. Эти микроконтроллеры используют 16-битную архитектуру программного слова вместе с альтернативами от 18 до 100 выводов.Устройства PIC18 представляют собой высокопроизводительные микроконтроллеры со встроенными аналого-цифровыми преобразователями. Все микроконтроллеры PIC18 объединяют высокоразвитую архитектуру RISC, которая поддерживает флеш-устройства. PIC18 имеет улучшенные атрибуты фундамента, 32 уровня глубокой нагрузки и несколько внутренних и внешних прерываний.

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

    AVR:
    AVR, также известный как Advanced Virtual RISC, представляет собой 8-битный микроконтроллер с одиночным чипом RISC с 8-разрядной архитектурой Гарварда. Он был изобретен Атмелем в 1966 году.Архитектура Гарварда означает, что программа и данные накапливаются в разных местах и ​​используются одновременно. Это было одно из передовых семейств микроконтроллеров, в которых встроенная флэш-память использовалась в основном для хранения программ, в отличие от одноразовых программируемых EPROM, EEPROM или ROM, используемых другими микроконтроллерами одновременно. Флэш-память — это энергонезависимая (постоянная при отключении питания) программируемая память. Архитектура микроконтроллера AVR: Архитектура микроконтроллера
    AVR была разработана Альф-Эгилем Богеном и Вегардом Волланом.Название AVR происходит от имен разработчиков архитектуры микроконтроллера. AT90S8515 был передовым микроконтроллером, основанным на архитектуре AVR; с другой стороны, первым микроконтроллером, который поразил коммерческий рынок, был AT90S1200, который был запущен в 1997 году.

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

    Микроконтроллер AMR:
    AMR — это название компании, которая разрабатывает архитектуру микропроцессоров. Он также занимается лицензированием их для производителей, которые производят настоящие чипы. На самом деле AMR — это настоящая 32-битная архитектура RISC.Первоначально он был разработан в 1980 году компанией Acorn Computers Ltd. Этот базовый микропроцессор AMR не имеет встроенной флэш-памяти. ARM специально разработан для устройств с микроконтроллерами, его легко обучить и использовать, но он достаточно мощный для самых сложных встраиваемых устройств.

    Архитектура микроконтроллера AMR:
    Архитектура AMR представляет собой 32-битный RISC-процессор, разработанный ARM Ltd. Благодаря своим характеристикам энергосбережения центральные процессоры ARM преобладают на рынке мобильной электроники, где меньшее энергопотребление является жизненно важной целью проектирования. .Архитектура ARM состоит из нижележащих элементов RISC: —

    • Максимальное функционирование за один цикл
    • Постоянный регистровый файл размером 16 × 32 бита.
    • Загрузить или сохранить архитектуру.
    • Предварительно установленная ширина команды 32 бита для упрощения конвейерной обработки и декодирования при минимальной плотности кода.
    • Для несогласованного доступа к памяти нет поддержки
    Применение микроконтроллера

    : Микроконтроллеры
    предназначены для встроенных устройств, по сравнению с микропроцессорами, которые используются в ПК или других универсальных устройствах
    .Микроконтроллеры используются в автоматически управляемых изобретениях и устройствах, таких как электроинструменты, имплантируемые медицинские устройства, системы управления автомобильными двигателями, офисные машины, устройства дистанционного управления, игрушки и многие другие встроенные системы
    . Уменьшая размер и затраты по сравнению с конструкцией, в которой используются другой микропроцессор, устройства ввода / вывода и память, микроконтроллеры делают недорогой цифровой контроль все большего числа устройств и операций.Контроллеры Micro-
    смешанного сигнала являются общими; Сборка аналоговых компонентов требовала управления нецифровыми электронными структурами.

    Применение микроконтроллера в повседневных устройствах:

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


    Применение микроконтроллера в промышленных устройствах управления:

    • Промышленные контрольно-измерительные приборы
    • Устройства управления технологическими процессами


    Применение микроконтроллера в измерительных приборах:

    • Вольтметр
    • Измерение вращающихся объектов
    • Счетчик тока
    • Переносные измерительные системы

    Источник: www. electronicshub.org/microcontrollers/

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

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

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

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

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

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

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

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

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

    • Процессор (CPU) — Процессор можно рассматривать как мозг устройства. Он обрабатывает и реагирует на различные инструкции, управляющие работой микроконтроллера.Это включает в себя выполнение основных арифметических, логических операций и операций ввода-вывода. Он также выполняет операции передачи данных, которые передают команды другим компонентам в более крупной встроенной системе.
    • Память — память микроконтроллера используется для хранения данных, которые процессор получает и использует для ответа на инструкции, которые он запрограммировал выполнять. Микроконтроллер имеет два основных типа памяти:
      1. Программная память, в которой хранится долгосрочная информация об инструкциях, выполняемых ЦП.Программная память — это энергонезависимая память, то есть она хранит информацию с течением времени без использования источника питания.
      2. Память данных, которая требуется для временного хранения данных во время выполнения инструкций. Память данных является энергозависимой, то есть данные, которые она хранит, являются временными и поддерживаются только в том случае, если устройство подключено к источнику питания.
    • Периферийные устройства ввода / вывода — устройства ввода и вывода являются интерфейсом для процессора с внешним миром.Порты ввода получают информацию и отправляют ее процессору в виде двоичных данных. Процессор получает эти данные и отправляет необходимые инструкции устройствам вывода, которые выполняют задачи, внешние по отношению к микроконтроллеру.

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

    Прочие вспомогательные элементы микроконтроллера включают:

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

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

    Процессор микроконтроллера зависит от приложения. Варианты варьируются от простых 4-битных, 8-битных или 16-битных процессоров до более сложных 32-битных или 64-битных процессоров. Микроконтроллеры могут использовать энергозависимые типы памяти, такие как оперативная память (RAM) и энергонезависимые типы памяти — сюда входят флэш-память, стираемая программируемая постоянная память (EPROM) и электрически стираемая программируемая постоянная память (EEPROM).

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

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

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

    Процессоры микроконтроллеров

    могут быть основаны на вычислениях со сложным набором команд (CISC) или на вычислениях с сокращенным набором команд (RISC). CISC обычно имеет около 80 инструкций, в то время как RISC имеет около 30, а также больше режимов адресации, 12-24 по сравнению с RISC 3-5. Хотя CISC может быть проще в реализации и более эффективно использует память, он может иметь снижение производительности из-за большего количества тактовых циклов, необходимых для выполнения инструкций.RISC, который уделяет больше внимания программному обеспечению, часто обеспечивает лучшую производительность, чем процессоры CISC, которые уделяют больше внимания аппаратному обеспечению из-за упрощенного набора инструкций и, следовательно, повышенной простоты конструкции, но из-за упора на программное обеспечение, программное обеспечение может быть более сложным. Какой ISC используется, зависит от приложения.

    Когда они впервые стали доступны, микроконтроллеры использовали исключительно язык ассемблера. Сегодня популярным вариантом является язык программирования C.Другие распространенные языки микропроцессоров включают Python и JavaScript.

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

    оснащены входными и выходными контактами для реализации периферийных функций. К таким функциям относятся аналого-цифровые преобразователи, контроллеры жидкокристаллических дисплеев (LCD), часы реального времени (RTC), универсальный синхронный / асинхронный приемный передатчик (USART), таймеры, универсальный асинхронный приемный передатчик (UART) и универсальная последовательная шина ( USB) возможность подключения. Датчики, собирающие данные, связанные, в частности, с влажностью и температурой, также часто присоединяются к микроконтроллерам.

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

    включают Intel MCS-51, часто называемый микроконтроллером 8051, который был впервые разработан в 1985 году; микроконтроллер AVR, разработанный Atmel в 1996 году; контроллер программируемого интерфейса (PIC) от Microchip Technology; и различные лицензированные микроконтроллеры Advanced RISC Machines (ARM).

    Ряд компаний производят и продают микроконтроллеры, включая NXP Semiconductors, Renesas Electronics, Silicon Labs и Texas Instruments.

    Приложения микроконтроллера Микроконтроллеры

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

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

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

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

    Сравнение микроконтроллеров и микропроцессоров

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

    Микроконтроллер Microchip Technology ATtiny817. Микроконтроллеры

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

    Выбор подходящего микроконтроллера

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

    Помимо стоимости, важно учитывать максимальную скорость, объем RAM или ROM, количество или типы контактов ввода-вывода на MCU, а также энергопотребление, ограничения и поддержку разработки.Обязательно задавайте такие вопросы, как:

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

    Что такое микроконтроллер? Определяющие характеристики и архитектура общего компонента

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

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

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

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

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

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

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

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

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

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

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

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

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

    Схема ниже иллюстрирует эту концепцию.

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

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

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

    Элементы микроконтроллера

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

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

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

    Память

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

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

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

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

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

    На этом графике показаны данные трехосного акселерометра, которые я оцифровал с помощью встроенного АЦП микроконтроллера.

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

    Мой коллега Марк Хьюз разработал эту сенсорную подсистему на основе 16-разрядного микроконтроллера.
    Опорная схема
    Микроконтроллеры

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

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

    Программы микроконтроллера, написанные на языке C, сгруппированы по функциям.Прерывание приводит к тому, что выполнение программы «переносится» в подпрограмму обслуживания прерывания (ISR), и после того, как ISR завершает свои задачи, процессор возвращается к функции, которая выполнялась, когда произошло прерывание.

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

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

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

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

    Если у вас есть какие-либо темы, которые вы хотели бы осветить в будущих статьях, сообщите нам об этом в комментариях ниже.

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

    Вы можете перейти к оставшейся части серии «Введение в микроконтроллеры» здесь:

    Дополнительные ресурсы

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

    Что такое микроконтроллер? — Как работают микроконтроллеры

    Микроконтроллер — это компьютер. Все компьютеры — будь то персональный настольный компьютер, большой мэйнфрейм или микроконтроллер — имеют несколько общих черт:

    • Все компьютеры имеют ЦП (центральный процессор), который выполняет программы.Если вы сейчас сидите за настольным компьютером и читаете эту статью, центральный процессор этого компьютера выполняет программу, реализующую веб-браузер, отображающий эту страницу.
    • CPU загружает программу откуда-то. На вашем настольном компьютере программа браузера загружается с жесткого диска.
    • Компьютер имеет некоторую RAM (оперативную память), где он может хранить «переменные».
    • У компьютера есть устройства ввода и вывода, поэтому он может разговаривать с людьми. На вашем настольном компьютере клавиатура и мышь являются устройствами ввода, а монитор и принтер — устройствами вывода.Жесткий диск — это устройство ввода-вывода — он обрабатывает как ввод, так и вывод.

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

    • Микроконтроллеры — это « встроенный » в какое-то другое устройство (часто потребительский продукт), так что они могут управлять функциями или действиями продукт.Поэтому другое название микроконтроллера — «встроенный контроллер».
    • Микроконтроллеры предназначены для выполнения одной задачи и запускают одну конкретную программу. Программа хранится в ПЗУ (постоянное запоминающее устройство) и обычно не изменяется.
    • Микроконтроллеры часто представляют собой маломощных устройств . Настольный компьютер почти всегда подключен к розетке и может потреблять 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 тоже не нужен. С микроконтроллером у вас есть одна конкретная задача, которую вы пытаетесь выполнить, и важна низкая стоимость с низким энергопотреблением.

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

    микроконтроллеров повсюду

    Микроконтроллеры везде…..более здесь

    Используется во всем, от простейшего контроллера полива газона до очень сложные спутниковые системы, микроконтроллер стал вездесущий и невидимый. В среднем в домохозяйстве США около 60 встроенных микроконтроллеры. 1 BMW 7-й серии 1999 года выпуска имеет 65 микроконтроллеров. 2 Ежегодно сюда добавляется более 5 миллиардов микроконтроллеров. Хотя микроконтроллеры в ПК наиболее заметны, они составляют всего 6% от рынок микроконтроллеров. 3

    Где используются микроконтроллеры

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

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

    Микроконтроллеры — это законченные компьютерные системы на микросхеме, обычно объединяет арифметико-логический блок (ALU), память, таймер / счетчики, последовательный порт, порты ввода / вывода (I / O) и тактовый генератор.

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

    Другой пример — микроволновая печь. Давайте посмотрим, как микроконтроллер функционирует при приготовлении пакета попкорна в микроволновой печи.

    Вы открываете дверь и кладете внутрь пакет с попкорном.Ты близко дверь и нажмите кнопку с надписью «Попкорн». Через несколько минут прозвучал тон объявляет, что попкорн готов. Что произошло за кулисами?

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

    Это простой пример приложения микроконтроллера. Доступны микроконтроллеры с дополнительными функциями, такими как аналого-цифровой. преобразователи (АЦП), широтно-импульсная модуляция (ШИМ), сторожевые таймеры, контроллер вычислительная сеть (CAN) и функции безопасности.

    Как работают микроконтроллеры — IntervalZero

    16 августа 2018 г. по

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

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

    Загрузите нашу историю успеха микроконтроллеров с ZF

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

    RAM

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

    ПЗУ

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

    Загрузить Как превратить Windows в программный микроконтроллер реального времени Технический документ

    Счетчик программ

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

    Входы и выходы

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

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

    Подпишитесь на пробную версию микроконтроллера реального времени
    Поделиться статьей:
    • Твиттер
    • Facebook
    • Электронная почта
    • Подробнее

    Что такое микроконтроллер MCU для встраиваемых систем »Электроника

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


    Встроенные системы Включает:
    Основы встроенных систем Микроконтроллер, MCU


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

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

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

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

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

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

    Поскольку микроконтроллеры часто предназначены для приложений с низким энергопотреблением и низким уровнем обработки, некоторые микроконтроллеры могут использовать только 4-битные слова, а также могут работать с очень низкими тактовыми частотами — около 10 кГц и меньше для экономии энергии.Это означает, что некоторые микроконтроллеры могут потреблять только милливатт или около того, и они также могут иметь уровни потребления сна в несколько нановатт. С другой стороны, некоторым микроконтроллерам может потребоваться гораздо более высокий уровень производительности и они могут иметь гораздо более высокие тактовые частоты и энергопотребление.

    Автор: alexxlab

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

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