Что такое микроконтроллер и как он работает: Микроконтроллеры
Как я научился работать с микроконтроллерами — опыт новичка / Хабр
Всем привет. В этой статье хотел рассказать о том, как я научился работать с микроконтроллерами
(далее по тексту — МК) и на какие подводные камни налетел. Сразу скажу — статья не претендует на эксклюзивность, так как любой человек работающий с МК проходил через то, что прошёл я. Прошу строго не судить, а прочитать как историю.
Вместо вступления
Впервые интерес к МК у меня возник, когда я учился в 10 классе. На тот момент был 2009 год. Я умел немного программировать на ПК в QBasic и Visual Basic — школьная программа, но так сложилась жизнь, что я особо не разбирался в программировании, да и отсутствие знающих людей по части электроники и МК рядом сделали своё дело — для меня это была новая ниша. Хотя я с детства ковырялся с платами и микросхемами найденными на помойках, но как оно работало я толком не понимал — толком никто не мог объяснить. Как работает транзистор нормально я узнал только спустя пару лет после описанных событий. Когда я выбирал первый МК то смотрел характеристики на сайте ЧИП-ДИП. Скажу честно — для меня это было как иероглифы. Так что не стоит этого бояться. И да, про Arduino тогда никто понятия не имел.
Как всё началось
Начал ковыряться в яндексах и гуглах. Понимал, что сам контроллер — половина дела, нужна ещё и программа. А как сказано во вступлении — с программированием у меня было не очень. В конце концов попал на какой-то сайт. Как стало позднее ясно, я с этим сайтом реально «попал». Создатель сайта написал ещё и учебник по программированию, я на радостях скачал учебник и первое что там увидел — «В качестве образца для работы я использовал PIC16F84A ». Собственно так я и выбрал свой первый МК. Теперь вопрос — почему я именно «попал». А попал я из-за того, что создатель этого учебника и сайта предлагал программировать МК на АССЕМБЛЕРЕ. Его не все практикующие проггеры то знают, а тут новичок… Контроллер я уже заказал, и только потом начал читать учебник, к сожалению.
Как я выходил из положения
После того, как я понял, что ничего не понял, я забросил МК на пару лет, но параллельно всё-таки шарился на форумах типа Схем.нет и прочих, и ко мне постепенно приходило понимание вопроса. Решил учиться кстати на модели PIC16F877A.
Итак, что нужно знать новичку:
Микроконтроллер — это маленький компьютер, в нём есть и Арифметико-логическое устройство — процессор по сути дела, и оперативная память и некое подобие жесткого диска — память программ и данных, но выполнено это всё в одной микросхеме. Соответственно в зависимости от модели и производителя у него следующие характеристики (ориентировочно):
- Рабочие частоты от единиц до ~100 Мгц, я лично использую в своих устройствах как правило частоты 20 Мгц, именно МЕГАгерц, а не ГИГАгерц. Частота задаётся внешним источником тактирования — кварцевым или керамическим резонатором.
- Объём ОЗУ — единицы и десятки Килобайт
- Объём памяти под данные и программу — до нескольких десятков Килобайт. При желании можно расширить память для данных с помощью микросхем памяти. Для того чтобы использовать эти микросхемы для расширения памяти под программу — новичку стоит забыть, не всякий профессионал может это правильно сделать, да и не каждый микроконтроллер позволяет изменять свою прошивку во время работы.
- Рабочее напряжение от 1 до 5 вольт в зависимости от модели и производителя.
Микроконтроллер рассчитан на работу на плате, скажем так, в конкретной «железке», на плате, в устройстве. Так что не стоит думать, что на нём можно поиграть в CS 🙂
Языки программирования
Начал выбирать язык программирования и среду в которой можно программировать. Так как я хоть как-то знал Basic, то и задумался, что было бы хорошо прогать на нём. Да, он не очень совершенный и ещё куча недостатков, но для начала подходил как нельзя кстати. Мне повезло, оказалось, что есть язык PIC-Basic. По нему есть учебник, автор Чак Хелибайк и переведённое на русский руководство, собственно до всего доходил дальше по учебнику и руководству. Среда работает из-под ДОС, но можно прикрутить CodeStudio и всё будет работать из-под Windows.
Программатор
Следующая проблема, стоявшая у меня на пути — чем записать программу в чип. Понятное дело, что нужен программатор, я решил экономить, попробовал собрать несколько схем из этих ваших интернетов. Одной схемы недостаточно, нужна ещё программа которая используя программатор (саму железку) занесёт код в память. Все мои опыты окончились неудачами, по причине малого опыта. Решил я больше не смотреть на то, как от чипов идёт дым и заказал PICKit3, после этого не знал проблем, поигрался пару дней с ним и всё заработало.
- В настоящее время есть адаптированные языки программирования для МК, тот же Бэйсик, СИ и прочие.
- После написания программы она компилируется в машинный код — файлик с расширением HEX, его-то и надо прошивать в память МК.
- Для того, чтобы «прошить МК» — записать в него выполняемый код нужно две вещи:
1) плата-программатор, которая является промежуточным устройством между разъёмом компьютера и самим чипом
2) Программа-программатор, которая будет знать как работать с программатором, собранным по конкретной схеме.
То есть нужно чтобы программа на ПК знала какая схема подключена к ПК чтоб правильно прошить чип. В моём случае это заводское решение — вместе с программатором PicKit идет диск с нужными программами. - Памяти в МК ограниченное количество, это надо учитывать, иногда приходится выкраивать каждый байт прошивки, лишь бы влезть в объём памяти чипа. Так же следует понимать, что в МК нет никакой операционной системы, и Ваша прошивка — единственные данные которые знает МК.
Несколько слов про периферию
Для связи с внешним миром и удобства работы и разработки в МК встраивают различные периферийные схемы, например АЦП — аналогово-цифровой преобразователь, так что можно без лишней обвязки измерять напряжение подаваемое на вывод МК, но оно должно быть не выше чем напряжение питания, иначе чип сгорит. Используя делитель напряжения можно сделать вольтметр, например. Периферия, количество встроенных функций и их характеристики тоже зависят от модели, как правило чем дороже модель — тем богаче комплектация. Так же следует не забывать, что у контроллера ограниченное число ножек, к которым можно подключиться.
Например у PIC16F877А их 40 штук, причем 7 штук вылетают сразу, т.к. используются для подачи питания, подключения резонатора и управления аварийным сбросом. Так же надо внимательно смотреть документацию на чип. Например тот же АЦП — в PIC16F877А он может измерять напряжение только на 8 конкретных ножках чипа, на других он это делать не может. То есть под каждую встроенную функцию отводятся конкретные выводы и поменять их нельзя.
Суть сей басни такова
Освоить МК реально даже самому и с нуля, но есть места где не очень понятно. Если с программированием никогда не сталкивались, то сначала выучите хотя-бы азы программирования и напишите «Hello World» на компьютере. После этого будет проще. Если не хотите особо заморачиваться — Arduino Ваше всё. МК расчитаны на использование в «железках» — блоки управления, платы, контроллеры итд итп, это не полноценный компьютер, а контроллер. И ожидать от него следует соответственно. Благо сейчас полно примеров на ютубе, и я надеюсь, что мой опыт начинания с нуля будет не таким горьким и моя статья кому-нибудь, да поможет.
Как работает микроконтроллер
Микроконтроллер – это интегральная схема, предназначенная для управления различными электронными устройствами или их отдельными функциональными блоками. Большинство микроконтроллеров сочетают в себе функции процессора и периферийных (согласующих) устройств. Он содержит встроенную энергонезависимую память, в которой храниться алгоритм (программа) его работы. По своей сути микроконтроллер – это небольшой компьютер, предназначенный для выполнения несложных задач.
Первыми идею создания микроконтроллера в 1971 году выдвинули сотрудники американской электронной компании Texas Instruments. Именно они предложили собрать на одном кристалле небольшой компьютер, поместив туда процессор, память и устройства ввода/вывода. Через 5 лет эту идею подхватила вездесущая Intel, выпустив первый микроконтроллер i8048.
Основу микроконтроллера составляет так называемое арифметико-логическое устройство. Если говорить проще, то это некий вычислительный модуль, который обрабатывает записанную в памяти программу. Программа пишется обычно на самом простом языке (языке машинных кодов) и может быть переписана под любые функциональные возможности. Редко, когда в микросхеме программа задана жестко и ее нельзя изменить. Это в основном относится к узконаправленным микроконтроллером, которые производятся специально для управления какими-то несложными устройствами, например электродвигателями.
Энергонезависимая память обычно находится внутри контроллера и предназначена для хранения программы. Некоторые контроллеры благодаря достаточно емкой внутренней памяти вообще не имеют контактов для подключения внешнего запоминающего устройства. Внутренняя память очень часто разбивается на две части: память программ и память данных. В первой находится функциональный алгоритм (программа), а во второй – поступающие извне данные. При достаточно сложном алгоритме записанных программ может быть несколько.
Периферийные устройства предназначены для связи арифметико-логического устройства с внешним миром (исполнительными элементами электронных устройств). Обычно в качестве периферийных устройств используются универсальные цифровые порты и интерфейсы ввода/вывода, компараторы, аналого-цифровые и цифро-аналоговые преобразователи, контроллеры двигателей, широтно-импульсные модуляторы, радиочастотные приемники и передатчики. В зависимости от функциональности и сферы применения микроконтроллера, часть вышеперечисленных устройств может отсутствовать.
Без применения микроконтроллеров сейчас не возможна работа материнских (системных) плат компьютера, большинства бытовых электроприборов, промышленных устройств автоматики и систем управления оборудованием. Кстати если вы хотите самостоятельно построить какое-то электронное устройство или сделать модернизацию промышленного, можно использовать многофункциональные микроконтроллеры cortex. Их разнообразие и простота программирования открывают широкие возможности использования в системах управления простых и сложных электроприборов.
< Предыдущая | Следующая > |
---|
Что такое микроконтроллер, семейства и корпуса AVR микроконтроллеров
Попробуем разобраться что же представляет из себя AVR микроконтроллер, что это такое и из чего состоит. Узнаем какие есть семейства микроконтроллеров от фирмы ATMEL и в каких корпусах выпускаются микро-чипы от данного производителя. Сделаем выбор корпуса микросхемы, наиболее пригодного для знакомства с AVR микроконтроллерами.
Содержание:
- Контроллеры и микроконтроллеры
- Что такое AVR микроконтроллер
- Корпуса для AVR микросхем
- Заключение
Контроллеры и микроконтроллеры
Микроконтроллер — это электронное устройство, микросхема которая представляет собою маленький компьютер со своей памятью и вычислительным ядром(микропроцессором), а также с набором дополнительных интерфейсов для подключения самых разных устройств для ввода и вывода различной информации, управления устройствами и измерения различных параметров. Микропроцессор, оперативная память, флешь-память, порты ввода/вывода, таймеры, интерфейсы связи — все это заключено в одном кристалле, одной микросхеме которая и называется микроконтроллером.
Чем отличается микроконтроллер от контроллера? — под контроллером подразумевается определенная схема или плата с различными компонентами для контроля и выполнения поставленных задач, а микроконтроллер — это схема универсального контроллера, которая размещена на маленьком кристаллике микросхемы и которая способна работать по четко заданной программе.
Работа микроконтроллера и его периферии осуществляется по программе, которая записывается во внутреннюю память и способна храниться в такой памяти достаточно длительный срок(несколько десятков лет).
Что такое AVR микроконтроллер
AVR микроконтроллеры, производимые фирмой ATMEL — это семейство 8-битных и более новых 32-битных микроконтроллеров с архитектурой RISC, которые совмещают в себе вычислительное ядро, Flash-память и разнообразную периферию (аналоговые и цифровые входы и выходы, интерфейсы и т.п.) на одном кристале. Это маленькие и очень универсальные по функционалу микросхемки, которые могут выполнять контроль и управлять различными устройствами, взаимодействовать между собою потребляя при этом очень мало энергии.
Данное RISC-ядро было разработано двумя студентами из города Тронхейма (третий по населению город Норвегии, расположен в устье реки Нидельвы) — Альф Боген (Alf-Egil Bogen) и Вегард Воллен (Vegard Wollen). В 1995м году данные персоны сделали предложение корпорации ATMEL на выпуск новых 8-битных микроконтроллеров, с тех пор AVR микроконтроллеры заполучили большую популярность и широкое применение.
Что обозначает аббревиатура AVR? — здесь наиболее вероятны два варианта:
- Advanced Virtual RISC;
- Alf Egil Bogen Vegard Wollan RISC, в честь создателей — Альфа и Вегарда .
Весь класс микроконтроллеров поделен на семейства:
- tinyAVR (например:ATtiny13, ATtiny88б ATtiny167) — начальный класс, миниатюрные чипы, мало памяти и портов, базовая периферия;
- megaAVR (например: ATmega8, ATmega48, ATmega2561) — средний класс, больше памяти и портов, более разнообразная периферия;
- XMEGA AVR (например: ATxmega256A3U, ATxmega256A3B) — старший класс, много ресурсов, хорошая производительность, поддержка USB, улучшенная безопасность;
- 32-bit AVR UC3 (например: AT32UC3L016, ATUC256L4U) — новые высокопроизводительные 32-битные микроконтроллеры поддерживающие много технологий и интерфейсов среди которых USB, Ethernet MAC, SDRAM, NAND Flash и другие.
Микроконтроллеры AVR имеют обширную систему команд, которая насчитывает от 90 до 133 команд в зависимости от модели микроконтроллера. Для сравнения: PIC-микроконтроллеры содержат от 35 до 83 команд, в зависимости от семейства.
Большинство команд хорошо оптимизированы и выполняется за один такт, что позволяет получить хорошую производительность при небольших затратах ресурсов и энергии.
Корпуса для AVR микросхем
Микроконтроллеры AVR выпускаются в корпусах DIP, SOIC, TQFP, PLCC, MLF, CBGA и других. Примеры некоторых корпусов приведены на рисунке ниже.
Рис. 1. Корпуса микросхем для микроконтроллеров AVR — DIP, SOIC, TQFP, PLCC.
Как видим, корпуса для AVR микроконтроллеров есть на любой вкус и потребности. Можно выбрать недорогой чип в корпусе DIP8 и смастерить миниатюрную игрушку или же какое-то простое устройство, а можно купить более функциональный и дорогой микроконтроллер в корпусе TQFP64 и подключить к нему разнообразные датчики, индикаторы и исполнительные устройства для выполнения более серьезных задач.
Для начинающих программистов AVR наиболее удобны микросхемы в корпусе DIP, данные микросхемы удобно паять и они очень просто монтируются на разнообразных монтажных панелях, к примеру на Breadboard и других.
Рис. 2. AVR микроконтроллеры ATmega8 и ATtiny13 в корпусе DIP на макетной панели (Breadboard).
Из рисунка видим что здесь ничего не нужно паять, поместили микроконтроллер в гнезда макетной панели и можем подключать к нему питание, светодиоды с резисторами, различные микросхемки, программатор и разную периферию. Очень просто и удобно!
Заключение
В следующей статье рассмотрим варианты применения AVR микроконтроллеров, где они уже используются и для чего. Постараюсь дать ответ на вопрос «зачем мне изучать программирование AVR микроконтроллеров?».
Начало цикла статей: Программирование AVR микроконтроллеров в Linux на языках Asembler и C.
Выбираем микроконтроллер вместе / Хабр
Прочитав эту статью я заметил большой интерес к выбору микроконтроллера у читателей и решил взглянуть на эту проблему с другой стороны.
Могу предположить, что всех интересует выбор их первого, либо первого 32-х битного МК.
Тем, кто знает, что на фотографии нет ни одного микроконтроллера — прошу в комментарии, дополнить мой рассказ и тем самым поделиться своим опытом с начинающими. Остальным, непременно под кат!
На мой взгляд чем проще будет каждый этап обучения — тем проще будет дойти до самостоятельного плаванья. Поэтому я считаю, что на начальном этапе следует брать все готовое. Ничего не придумывать самому. Представьте:
вы выбрали контроллер,
проглядели даташит,
развели под него плату,
или нашли ее на просторах интернета,
купили все компоненты(или аналоги если советуемых не было),
запаяли все,
написали первый «hello world»,
собрали программатор, прошили контроллер
И… и ничего не происходит! Что-то не работает, и вы не можете понять что: то ли в пайке ошибка, то ли что-то с программой, то ли в интернете кривая схема, то-ли проблемы с софтом.
Новичка такая ситуация ставит в тупик, знаю это по себе.
Чтобы такого не случилось проще всего сделать первые шаги под чьим-то руководством.
Преимущество простого старта отлично показывает платформа Arduino. Посудите сами: возможности контроллеров совсем не велики, цены на платы огромны, зато огромная поддержка сообщества и все уже готова, любые платы расширения, кучи примеров.
За счет этого и живет платформа!
Давайте посмотрим какой у нас вообще есть выбор! На рынке огромное количество производителей и архитектур. Но выбор на самом деле совсем не велик:
я бы сразу отсек все 8-ми и 16-ти битные архитектуры, кроме PIC и AVR, да иногда производители предлагают отладочные платы и контроллеры по очень заманчивой цене
но я не советую их брать потому, что это малораспространенные архитектуры и на них меньше примеров + пересаживаться на другие контроллеры будет сложнее.
По той же самой причине отсек все 32-х разрядные архитектуры кроме ARM + с ними еще начинаются проблемы с примерами, и они постепенно вымирают.
Арм микроконтроллеры делятся на ARM7, ARM9, Cortex M0, 3, 4.
Седьмые и девятые постепенно замещаюся кортексами и вскоре их тоже не будет.
Итого имеем:
AVR
PIC
ARM Cortex
Про пики сказать много не могу, но по-моему AVR их вытесняет из-за распространенности Arduino.
Но я все-же советовал Cortex, их возможности намного шире, к тому же есть выбор между производителями, а это на мой взгляд большой плюс. Да и существует масса упрощающих жизнь библиотек и даже генераторов кода, которые новичкам позволят не сильно вчитываясь в юзер мануал написать первую программу.
Итак, какие производители представлены у нас?
NXP, ST, Freescale, TI, Luminary Micro, Atmel и много других но поменьше распространенных.
Как выбрать из такого большого количества производителей?
надо выбирать не контроллер а отладочную плату, библиотеки, среду разработки и сообщество.
Сам щупал только NXP, ST и Freescale.
Первые 2 производителя наводнили Москву и другие города России дешевыми/бесплатными отладками — это очень хорошо в том смысле, что всегда есть у кого спросить, есть к кому обратиться.
Также не нужны никакие программаторы — все есть на борту!
Для NXP есть альтернатива от Olimex www.chipdip.ru/product/lpc-p1343.aspx
Есть и минусы: когда захочется расширить их возможности придется искать новую.
Больше всего мне понравилась отлатдка от Freescale, с которой столкнулся на работе.
На мой взгляд это лучший вариант для новичка, но у нее есть один огромный минус:
пока довольно сложно найти в продаже и регионам придется заказывать, но оно того стоит:
Первое и самое важно преимущество: стандартные платы расширения (сначала покупаете стандартный набор, потом докупаете вайфай, сенсоры и тп)
Еще большущий плюс это среда разработки: благодаря Processor Expert можно генерировать код, и море примеров с объяснениями.
Итак подведем итоги:
1 купить Arduino Uno c AVR за 1000р на плате практически ничего нет, зато в продаже множество плат расширения и огромное сообщество
2 купить STM32L-DISCOVERY c M3 за 16.22дол c сенсорными кнопками, USB и маленьким LСD-дисплеем и дебагером на борту
3 купить за 1000р LPCEXPRESSO c M3 с просто выведеными контактами и дебагером на борту
4 купить KWIKSTICK с M4 за 30дол+ доставку с большим сегментным LCD, USB, входом под наушники, динамиком, сенсорными кнопками, литиевой батарейкой, микрофоном, ИК портом, слотом под SD-карту + возможность расширения функционала без пайки и больших вложений. Большой набор библиотек, примеров и хорошая IDE.
В итоге я считаю, что надо покупать STM32L-DISCOVERY и начинать с нее,
либо если не лень заморочиться с заказом платы и чуть-чуть побольше заплатить брать KWIKSTICK — с ней старт будет полегче, да и хватит ее на дольше, но для общения с коллегами нужен английский.
Прошу всех, знакомых с МК написать свой выбор отладочных средств для новичка, я с удовольствием дополню статьюю
UPD: stm32l-discovery по таким ценам можно купить в Компэле
Kwikstick на сайте freescale
Simple English Wikipedia, бесплатная энциклопедия
Микроконтроллер (сокращенно MCU или мкКл ) — это компьютерная система на микросхеме, которая выполняет определенную работу. Он содержит встроенный процессор, память (небольшой объем ОЗУ, программной памяти или и то, и другое) и программируемые периферийные устройства ввода / вывода, которые используются для взаимодействия с объектами, подключенными к микросхеме. [1] Микроконтроллер отличается от микропроцессора, который содержит только ЦП (тот, который используется в персональном компьютере). [2]
Впервые выпущенные в 1971 году компанией Intel, микроконтроллеры стали популярными в первые несколько лет своего существования. Затем был выпущен чрезвычайно полезный микропроцессор Intel 8008, но он все еще был непрактичным из-за высокой стоимости каждого чипа. Эти первые микроконтроллеры объединили в одном устройстве разные типы компьютерной памяти. [3] После того, как люди начали понимать, насколько они полезны, микроконтроллеры постоянно обновлялись, и люди пытались найти новые способы сделать их лучше.Стоимость со временем снизилась, и к началу 2000-х годов микроконтроллеры стали широко использоваться во всем мире.
Другие термины для микроконтроллера — это встроенная система и встроенный контроллер, поскольку микроконтроллер и его вспомогательные схемы часто встроены или встроены в один чип. [4]
Помимо обычных арифметических и логических элементов обычного микропроцессора, микроконтроллер также имеет дополнительные элементы, такие как RAM для хранения данных, постоянная память для хранения программ, флэш-память для постоянного хранения данных и другие устройства (периферийные устройства). [5]
Микроконтроллеры часто работают на очень низкой скорости по сравнению с микропроцессорами (с тактовой частотой всего 32 кГц), но это полезно для типичных приложений. Также они потребляют очень мало энергии (милливатты или даже микроватты). [6]
Микроконтроллеры используются в автоматических продуктах и устройствах, таких как системы двигателей автомобилей, пульты дистанционного управления, машины, бытовая техника, электроинструменты и игрушки. Это так называемые встроенные системы. Микроконтроллеры также используются в солнечной энергии и при сборе энергии, в антиблокировочных тормозных системах в автомобилях, а также в медицине. [7]
- ↑ «Словарь встроенных систем» Джека Гэнссла и Майка Барра, стр.173
- ↑ «Как работают микроконтроллеры». Иркутск . 1 апреля 2000 г.
- ↑ «Микроконтроллеры: теория и приложения» Аджай В. Дешмук, стр.6
- ↑ Бил, Ванги. «Что такое микроконтроллер? Определение Webopedia». www.webopedia.com .
- ↑ «Архитектура и программирование микроконтроллеров 8051 (электронная книга) 1.1 «. МикроЭлектроника .
- ↑ Гараж инженеров. «Разница между микропроцессором и микроконтроллером». www.engineersgarage.com .
- ↑ http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/applications.page
.
Что такое микроконтроллеры и почему вам это нужно?
Многие люди воспринимают компьютеры как должное. А почему бы и нет? Компьютеры развивались так быстро и с таким экспоненциальным ростом их возможностей, что для большинства людей они просто чудеса.
И все же, поскольку они стали настолько простыми в использовании и столь важными для нашего общества, они являются обычным элементом повседневной жизни даже для самых технологически неграмотных среди нас.
После всего сказанного давайте сегодня познакомимся с одной из технологий, лежащих в основе всех современных вычислений.
Микроконтроллеры — одна из самых основных частей любого компьютера; на самом деле они намного интереснее, чем вы думаете, и они также намного полезнее.
Что такое микроконтроллер?
Источник: Wikimedia Commons
На самом базовом уровне микроконтроллер ЯВЛЯЕТСЯ компьютером. Что, честно говоря, уже сбивает с толку. Но подумайте об этом так: все компьютеры, от гигантских мэйнфреймов до смартфонов, имеют несколько общих черт:
— они содержат ЦП (центральный процессор), который выполняет программы,
— у них есть репозиторий, из которого можно загружать эти программы,
— у них есть некоторая RAM (оперативная память), в которой может храниться временная информация,
— они имеют некоторые формы устройств ввода и вывода.
Ноутбук или смартфон, который вы, скорее всего, используете для чтения этой статьи, является «компьютером общего назначения», что является основным способом сказать, что он может запускать любую из тысяч программ.
С другой стороны, микроконтроллеры — это то, что вы бы назвали «компьютерами специального назначения». Вместо того, чтобы делать сотни разных вещей, микроконтроллеры должны делать только одно, и делать это очень хорошо.
Как и следовало ожидать от этой простоты, микроконтроллеры используются во многих отраслях и приложениях, в том числе дома и на предприятии, в автоматизации зданий, производстве, робототехнике, автомобилестроении, освещении, промышленной автоматизации и даже в коммуникационных технологиях.
Самый простой из этих микроконтроллеров облегчает работу электромеханических систем, используемых в повседневных предметах потребления, таких как печи, мобильные устройства и видеоигры, а также коммерческих машин, с которыми мы взаимодействуем каждый день, таких как интеллектуальные счетчики, банкоматы и системы безопасности.
Более сложные микроконтроллеры, однако, могут выполнять важные функции в самолетах, грузовых кораблях, транспортных средствах, медицинских системах и системах жизнеобеспечения, роботах и даже на международных космических станциях.
Вот и все вкратце, но большая правда в том, что микроконтроллеры имеют ряд других общих характеристик. Если компьютер соответствует большинству из этих характеристик, вы можете смело называть его «микроконтроллером».
К ним относятся: встраивание в другие продукты для управления определенной функцией более крупной машины, выделение для одной задачи, наличие заданного устройства ввода, которое никогда не меняется, и, конечно же, микро.
Как правило, микроконтроллеры имеют небольшие размеры, потому что весь их смысл в том, чтобы их можно было часто использовать вместе, и никто не хочет таскать с собой компьютер большего размера, когда у них может быть меньший.
В большинстве случаев это все, что вам действительно нужно знать о том, как работает микроконтроллер, потому что отрасль в целом имеет тенденцию к разработке множества низкоуровневых драйверов, где опыт приходит в разработку приложения на их основе.
Однако, если вы планируете заняться компьютерной областью, изучение тонкостей микроконтроллеров приравнивается к врачу, имеющему базовые знания анатомии.
Зачем вам это нужно:
Источник: Pexels
Хорошо, послушайте, правда в том, что большинству из нас, вероятно, действительно не нужно знать все это.
Прошло 30 лет с тех пор, как кто-либо ожидал, что даже опытный программист знает что-либо о кодах операций, и относительно небольшое количество работ требует больше, чем самый минимум знаний о том, как структурировать исходный файл на языке ассемблера.
Но все же вы должны знать обо всем этом, потому что со временем это станет более важным.
По мере развития технологий мы быстро подойдем к теоретическому пределу эффективности наших компьютеров.Вскоре станет просто невозможно уменьшить основные компоненты компьютерного чипа.
Когда это произойдет, пока не произойдет какой-то фундаментальный сдвиг в вычислительной технологии, лучший способ создавать новые и лучшие компьютеры — это творческие и новаторские комбинации микроконтроллеров.
Если мы хотим продолжать развиваться как общество, нам нужно будет начать заботиться о маленьких чудо-машинах, потому что чем больше людей знает, как на самом деле работает компьютер, тем больше людей найдет способ сделать их лучше. .
Путь в будущее…
Источник: YellowCloud
Будущее содержит потенциальных достижений для этой технологии. Давайте взглянем только на два из них.
Bespoke Processors: Большинство микроконтроллеров и связанных с ними процессоров сегодня спроектированы как «универсальные» и предназначены для поддержки широкого спектра приложений.
Это связано с тем, что даже если это не требуется для определенного приложения, зачастую дешевле приобрести процессор с повышенной мощностью, чем проектировать процессор для конкретного приложения.
Но теперь мы начинаем осознавать цену этой чрезмерной конструкции, не только в размере и материалах, но и в огромных потерях в потреблении энергии.
Исследования показали, что в большинстве универсальных машин менее 60% их процессоров вообще используются. Это может означать, что по мере продвижения вперед мы будем продвигаться к «сделанным на заказ» машинам для конкретных приложений, которые удаляют полностью неиспользуемые схемы.
Это намекает на будущее, в котором мы сможем создавать небольшие процессоры с низким энергопотреблением для конкретных приложений.
Пластиковые микроконтроллеры: Исследователи в некоторых из лучших организаций мира работали над проектом, направленным на создание дешевых одноразовых микроконтроллеров, напечатанных на пластике с точностью до 2 микрон.
Пластиковые микросхемы, хотя и не являются передовым достижением в вычислительном отношении, по оценкам, выиграют от снижения стоимости ИС на 90% по сравнению с кремниевыми.
Пластиковые чипы также могут быть гибкими, тоньше человеческого волоса и не иметь жестких точек соединения.
Это может привести к невероятным новым достижениям, таким как гибкие датчики, одноразовые / перерабатываемые дисплеи, упаковка для пищевых продуктов, которая сообщает вам, когда еда испортилась, или даже бутылки для таблеток, напоминающие вам о приеме лекарства.
В слове микроконтроллеров есть десятки других усовершенствований, которые находятся на пороге переопределения всего поля.
Более того, эти достижения обязательно определят то, как мы думаем о вычислительной мощности в следующем десятилетии, или, по крайней мере, до тех пор, пока кто-нибудь не выяснит совершенно новый способ создания компьютера.
Именно поэтому микроконтроллеры так важны.
.
Что такое микроконтроллер? (с рисунками)
Микроконтроллер — это интегрированный чип, который часто является частью встроенной системы. Он включает в себя ЦП, ОЗУ, ПЗУ, порты ввода-вывода и таймеры, как и стандартный компьютер, но поскольку они предназначены для выполнения только одной конкретной задачи по управлению одной системой, они намного меньше и упрощены, так что могут включать все функции, необходимые на одном чипе. В отличие от микропроцессора, который является микросхемой общего назначения, используемой для создания многофункционального компьютера или устройства и требующей нескольких микросхем для выполнения различных задач, это устройство должно быть более автономным и независимым и функционирует как крошечный, специализированный компьютер.
Типичный микроконтроллер.
Большим преимуществом микроконтроллеров по сравнению с более крупными микропроцессорами является то, что количество деталей и затраты на проектирование контролируемого объекта могут быть сведены к минимуму. Как правило, они разрабатываются с использованием технологии комплементарных металлооксидных полупроводников (CMOS), эффективного метода изготовления, который потребляет меньше энергии и более устойчив к скачкам мощности, чем другие методы.Также используется несколько архитектур, но преобладающей архитектурой является компьютер со сложным набором команд (CISC), который позволяет микросхеме содержать несколько команд управления, которые могут выполняться с помощью одной макро-инструкции. Некоторые используют архитектуру компьютера с сокращенным набором команд (RISC), которая реализует меньше инструкций, но обеспечивает большую простоту и меньшее энергопотребление.
Два микроконтроллера встроены в печатную плату (PCB).
Ранние контроллеры обычно строились из логических компонентов и обычно были довольно большими. Позже стали использоваться микропроцессоры, и контроллеры можно было разместить на печатной плате. Теперь микроконтроллеры размещают все необходимые компоненты на одном кристалле. Поскольку они управляют одной функцией, некоторые сложные устройства содержат несколько.
Эти микросхемы получили широкое распространение во многих областях, их можно найти в бытовой технике, компьютерном оборудовании и инструментах. У них также есть много промышленных применений, и они стали центральной частью промышленной робототехники. Поскольку они обычно используются для управления одним процессом и выполнения простых инструкций, они не требуют значительной вычислительной мощности.
Автомобильный рынок был основным драйвером микроконтроллеров, многие из которых были разработаны для автомобильных приложений. Поскольку они должны выдерживать суровые условия окружающей среды, они должны быть очень надежными и долговечными. Тем не менее, как и их аналоги, чипы, используемые в автомобилях, очень недороги и способны предоставлять мощные функции, которые в противном случае было бы невозможно или слишком дорого реализовать.
Микроконтроллеры стали ключевым компонентом промышленной робототехники.
.
новых вопросов о микроконтроллерах — qaru
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
.