~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ E544595178ED7797835E035701A5D3A2__1716691080 ✰
Заголовок документа оригинал.:
✰ Microcontroller - Wikipedia ✰
Заголовок документа перевод.:
✰ Микроконтроллер — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Microcontroller ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/e5/a2/e544595178ed7797835e035701a5d3a2.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/e5/a2/e544595178ed7797835e035701a5d3a2__translat.html ✰
Дата и время сохранения документа:
✰ 16.06.2024 08:44:42 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 26 May 2024, at 05:38 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Микроконтроллер — Википедия Jump to content

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

Из Википедии, бесплатной энциклопедии
Кристалл . Intel работающий битный микроконтроллер, который включает в себя , на частоте 12 МГц, 128 байт ОЗУ 8742, 8 - , 2048 байт EPROM процессор и устройства ввода-вывода в одном чипе
Два микроконтроллера ATmega.

Микроконтроллер MC ( UC , μC или ) или микроконтроллерный блок ( MCU ) представляет собой небольшой компьютер на одной интегральной схеме . Микроконтроллер содержит один или несколько процессоров ( процессорных ядер ), а также память и программируемые периферийные устройства ввода/вывода . Программная память в виде NOR-флэш-памяти , OTP-ROM или сегнетоэлектрического ОЗУ также часто включается в состав микросхемы, а также небольшой объем ОЗУ . Микроконтроллеры предназначены для встроенных приложений, в отличие от микропроцессоров , используемых в персональных компьютерах или других приложениях общего назначения, состоящих из различных дискретных микросхем.

В современной терминологии микроконтроллер похож на систему на кристалле (SoC), но менее сложен. SoC может включать микроконтроллер в качестве одного из своих компонентов, но обычно интегрирует его с расширенными периферийными устройствами, такими как графический процессор (GPU), модуль Wi-Fi или один или несколько сопроцессоров .

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

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

История [ править ]

Предыстория [ править ]

Первые многокристальные микропроцессоры Four-Phase Systems AL1 в 1969 году и Garrett AiResearch MP944 в 1970 году были разработаны с использованием нескольких микросхем MOS LSI. Первым однокристальным микропроцессором был Intel 4004 , выпущенный на одном чипе MOS LSI в 1971 году. Он был разработан Федерико Фаггином с использованием его технологии MOS с кремниевым затвором совместно с Intel инженерами Марсианом Хоффом и Стэном Мазором , а также Busicom инженером Масатоши. Шима . [1] За ним последовали 4-битный Intel 4040 , 8-битный Intel 8008 и 8-битный Intel 8080 . Всем этим процессорам для реализации работающей системы требовалось несколько внешних микросхем, включая микросхемы памяти и периферийных интерфейсов. В результате общая стоимость системы составила несколько сотен долларов (1970-х годов), что сделало невозможной экономичную компьютеризацию мелкой бытовой техники.

В 1975 году MOS Technology представила свои микропроцессоры стоимостью менее 100 долларов — 6501 и 6502 . Их главной целью было снизить этот ценовой барьер, но эти микропроцессоры по-прежнему требовали внешней поддержки, памяти и периферийных микросхем, из-за чего общая стоимость системы оставалась на уровне сотен долларов.

Развитие [ править ]

В одной из книг инженерам TI Гэри Буну и Майклу Кокрану приписывается успешное создание первого микроконтроллера в 1971 году. Результатом их работы стал TMS 1000 , который стал коммерчески доступным в 1974 году. Он сочетал в себе память только для чтения, память для чтения/записи, процессор и тактовая частота были на одном кристалле и были ориентированы на встраиваемые системы. [2]

В начале-середине 1970-х годов японские производители электроники начали производить микроконтроллеры для автомобилей, в том числе 4-битные микроконтроллеры для автомобильных развлечений , автоматических дворников, электронных замков и приборной панели, а также 8-битные микроконтроллеры для управления двигателем. [3]

Частично в ответ на существование одночипового TMS 1000, [4] Intel разработала компьютерную систему на базе чипа, оптимизированного для приложений управления, Intel 8048 , первые коммерческие компоненты которой поступили в продажу в 1977 году. [4] Он объединил ОЗУ и ПЗУ на одном чипе с микропроцессором. Среди многочисленных приложений этот чип в конечном итоге нашел применение в более чем миллиарде клавиатур ПК. В то время президент Intel Люк Дж. Валентер заявил, что микроконтроллер был одним из самых успешных продуктов в истории компании, и увеличил бюджет подразделения микроконтроллеров более чем на 25%.

Большинство микроконтроллеров того времени имели параллельные варианты. У одного была программная память EPROM с прозрачным кварцевым окном в крышке упаковки, позволяющим стирать ее под воздействием ультрафиолетового света. Эти стираемые чипы часто использовались для прототипирования. Другой вариант представлял собой либо ПЗУ, программируемое по маске, либо вариант ПРОМ , который можно было программировать только один раз. Для последнего иногда использовалось обозначение OTP , что означает «одноразовый программируемый». В микроконтроллере OTP PROM обычно была того же типа, что и EPROM, но корпус микросхемы не имел кварцевого окна; поскольку не было возможности подвергнуть EPROM воздействию ультрафиолета, его нельзя было стереть. Поскольку для стираемых версий требовались керамические корпуса с кварцевыми окнами, они были значительно дороже, чем версии OTP, которые можно было изготавливать в более дешевых непрозрачных пластиковых упаковках. Для стираемых вариантов вместо менее дорогого стекла требовался кварц из-за его прозрачности для ультрафиолетового света, для которого стекло в значительной степени непрозрачно, но основным отличием в стоимости была сама керамическая упаковка.

В 1993 году появление памяти EEPROM позволило микроконтроллерам (начиная с микрочипа PIC16C84 ) [5] быстро стираться электрическим способом без дорогостоящего пакета, как это требуется для EPROM , что позволяет как быстро создавать прототипы, так и внутрисистемное программирование . (Технология EEPROM была доступна и до этого времени, [6] но более ранняя EEPROM была более дорогой и менее долговечной, что делало ее непригодной для недорогих микроконтроллеров массового производства.) В том же году Atmel представила первый микроконтроллер, использующий Flash-память , особый тип EEPROM. [7] Другие компании быстро последовали этому примеру, выпустив оба типа памяти.

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

Объем и стоимость [ править ]

В 2002 году около 55% всех процессоров составляли 8-битные микроконтроллеры и микропроцессоры. проданных в мире [8]

В 1997 году было продано более двух миллиардов 8-битных микроконтроллеров. [9] По данным Semico, в 2006 году было продано более четырех миллиардов 8-битных микроконтроллеров. [10] Совсем недавно Semico заявила, что рынок микроконтроллеров вырос на 36,5% в 2010 году и на 12% в 2011 году. [11]

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

Исторически сложилось так, что 8-битный сегмент доминировал на рынке микроконтроллеров [..] 16-битные микроконтроллеры стали крупнейшей по объему категорией микроконтроллеров в 2011 году, впервые в этом году обогнав 8-битные устройства [..] IC Insights считает, что состав Рынок микроконтроллеров претерпит существенные изменения в ближайшие пять лет: 32-битные устройства будут постепенно захватывать все большую долю продаж и объемов продаж. Ожидается, что к 2017 году на 32-битные микроконтроллеры будет приходиться 55% продаж микроконтроллеров. 34% от общего числа, а 4-/8-битные конструкции, по прогнозам, составят 28% единиц, проданных в этом году. Ожидается, что рынок 32-битных микроконтроллеров будет быстро расти из-за растущего спроса на более высокий уровень точности во встроенных системах обработки данных и роста возможностей подключения через Интернет. [..] Ожидается, что в ближайшие несколько лет на сложные 32-битные микроконтроллеры будет приходиться более 25% вычислительной мощности транспортных средств.

IC Insights, Рынок микроконтроллеров на пути перехода на 32-битные устройства и устройства на базе ARM [12]

Стоимость производства может составлять менее 0,10 доллара США за единицу.

Стоимость со временем резко упала: самые дешевые 8-битные микроконтроллеры можно было купить менее чем за 0,03 доллара США . в 2018 году [13] и некоторые 32-битные микроконтроллеры по цене около 1 доллара США за аналогичные количества.

В 2012 году, после глобального кризиса — худшего за всю историю годового падения и восстановления продаж, а также среднегодовой цены продаж, упавшей на 17% — самого большого снижения с 1980-х годов — средняя цена на микроконтроллер составила 0,88 доллара США ( 0,69 доллара США за 4 -/8-бит, 0,59 доллара США за 16-битную версию, 1,76 доллара США за 32-битную версию). [12]

В 2012 году мировые продажи 8-битных микроконтроллеров составили около 4 миллиардов долларов США , при этом продажи 4-битных микроконтроллеров также были значительными. [14]

В 2015 году 8-битные микроконтроллеры можно было купить за 0,311 доллара США (1000 штук). [15] 16-битная за 0,385 доллара США (1000 единиц), [16] и 32-битная версия за 0,378 доллара США (1000 единиц, но по цене 0,35 доллара США за 5000). [17]

В 2018 году 8-битные микроконтроллеры можно было купить за 0,03 доллара США . [13] 16-битный за 0,393 доллара США (1000 единиц, но по цене 0,563 доллара США за 100 или 0,349 доллара США за полную катушку из 2000), [18] и 32-битная версия за 0,503 доллара США (1000 единиц, но по цене 0,466 доллара США за 5000). [19]

В 2018 году все недорогие микроконтроллеры, указанные выше по сравнению с 2015 годом, были дороже (с учетом инфляции, рассчитанной между ценами на эти конкретные единицы в 2018 и 2015 годах): 8-битный микроконтроллер можно было купить за 0,319 доллара США (1000 единиц) или на 2,6% выше. , [15] 16-битный — за 0,464 доллара США (1000 единиц) или на 21% выше, [16] а 32-битный — за 0,503 доллара США (1000 единиц, но по цене 0,466 доллара США за 5000) или на 33% выше. [17]

Микроконтроллер PIC 18F8720 в 80-выводном TQFP. корпусе

Самый маленький компьютер [ править ]

объявил о создании «самого маленького компьютера в мире» 21 июня 2018 года Мичиганский университет . Устройство представляет собой « 0,04 мм. 3 16 нВт Беспроводная безбатарейная сенсорная система мощностью со встроенным процессором Cortex-M0+ и оптической связью для измерения температуры на клеточном уровне». Ее «размер составляет всего 0,3 мм в сторону, что ничтожно мало для рисового зернышка. [...] Помимо оперативной памяти и фотоэлектрических элементов , новые вычислительные устройства имеют процессоры, а также беспроводные передатчики и приемники . Поскольку они слишком малы для использования обычных радиоантенн, они принимают и передают данные в видимом свете. Базовая станция обеспечивает свет для питания и программирования, а также получает данные». [20] Устройство 1 10 -го размера компьютера IBM, ранее заявленного как мировой рекорд по размеру, установленного несколько месяцев назад в марте 2018 года, [21] что «меньше, чем крупинка соли», [22] имеет миллион транзисторов, стоимость составляет менее 0,10 доллара США производства и в сочетании с технологией блокчейна предназначен для логистики и «крипто-якорей» — приложений для цифровых отпечатков пальцев . [23]

Встроенный дизайн [ править ]

Микроконтроллер можно рассматривать как автономную систему с процессором, памятью и периферийными устройствами и использовать как встроенную систему . [24] Большинство микроконтроллеров, используемых сегодня, встроены в другие машины, такие как автомобили, телефоны, бытовая техника и периферийные устройства для компьютерных систем.

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

Прерывания [ править ]

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

Программы [ править ]

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

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

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

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

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

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

Другие возможности микроконтроллера [ править ]

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

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

Помимо преобразователей, многие встроенные микропроцессоры также включают в себя различные таймеры. Одним из наиболее распространенных типов таймеров является программируемый интервальный таймер (ПИТ). PIT может вести обратный отсчет от некоторого значения до нуля или до емкости регистра счета, переполняя его до нуля. Как только он достигает нуля, он отправляет процессору прерывание, указывая, что он закончил подсчет. Это полезно для таких устройств, как термостаты, которые периодически проверяют температуру вокруг себя, чтобы определить, нужно ли им включать/выключать кондиционер, включать/выключать обогреватель и т. д.

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

Универсальный асинхронный блок приемо-передатчика (UART) позволяет принимать и передавать данные по последовательной линии с очень небольшой нагрузкой на ЦП. Выделенное встроенное оборудование также часто включает в себя возможности связи с другими устройствами (чипами) в цифровых форматах, таких как межинтегральная схема ( I²C ), последовательный периферийный интерфейс ( SPI ), универсальная последовательная шина ( USB ) и Ethernet . [25]

Высшая интеграция [ править ]

Кристалл PIC12C508, EEPROM / EPROM / ROM -микроконтроллера на основе 8-битного, полностью статического, CMOS изготовленного компанией Microchip Technology с использованием 1200- нанометрового процесса.
Кристалл микроконтроллера STM32F100C4T6B ARM Cortex-M 3 с 16 килобайт флэш-памятью 24 МГц , центральным процессором (ЦП) , функциями управления двигателем и управления бытовой электроникой (CEC). Производитель STMicroelectronics .

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

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

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

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

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

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

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

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

Исторически микроконтроллеры не имели математических сопроцессоров , поэтому арифметика с плавающей запятой выполнялась программным обеспечением. Однако некоторые недавние разработки включают в себя FPU и функции, оптимизированные для DSP. Примером может служить линия Microchip на базе PIC32 MIPS.

Среды программирования [ править ]

Первоначально микроконтроллеры программировались только на языке ассемблера , но различные языки программирования высокого уровня , такие как C , Python и JavaScript широко используются теперь для микроконтроллеров и встроенных систем . [27] Компиляторы для языков общего назначения обычно имеют некоторые ограничения, а также улучшения для лучшей поддержки уникальных характеристик микроконтроллеров. Некоторые микроконтроллеры имеют среды, помогающие разрабатывать определенные типы приложений. Поставщики микроконтроллеров часто предоставляют бесплатные инструменты, облегчающие внедрение их оборудования.

Микроконтроллерам со специальным оборудованием могут потребоваться собственные нестандартные диалекты C, такие как SDCC для 8051 , которые не позволяют использовать стандартные инструменты (такие как библиотеки кода или инструменты статического анализа) даже для кода, не связанного с аппаратными функциями. Интерпретаторы также могут содержать нестандартные функции, такие как MicroPython , хотя его ответвление, CircuitPython , стремилось переместить аппаратные зависимости в библиотеки и обеспечить соответствие языка большему стандарту CPython .

Для некоторых микроконтроллеров также доступна прошивка интерпретатора. Например, BASIC на раннем микроконтроллере Intel 8052 ; [28] BASIC и FORTH на Zilog Z8 [29] а также некоторые современные устройства. Обычно эти интерпретаторы поддерживают интерактивное программирование .

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

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

Типы [ править ]

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

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

Задержка прерывания [ править ]

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

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

Другие факторы, влияющие на задержку прерывания, включают:

  • Циклы, необходимые для завершения текущей деятельности ЦП. Чтобы минимизировать эти затраты, микроконтроллеры, как правило, имеют короткие конвейеры (часто три инструкции или меньше), небольшие буферы записи и обеспечивают возможность продолжения или перезапуска более длинных инструкций. Принципы проектирования RISC гарантируют, что большинство инструкций выполняются одинаковое количество циклов, помогая избежать необходимости в большей части такой логики продолжения/перезапуска.
  • Длина любой критической секции , которую необходимо прервать. Вход в критический раздел ограничивает одновременный доступ к структуре данных. Когда обработчик прерывания должен получить доступ к структуре данных, критическая секция должна заблокировать это прерывание. Соответственно, задержка прерывания увеличивается на время блокировки прерывания. Когда существуют жесткие внешние ограничения на задержку системы, разработчикам часто нужны инструменты для измерения задержек прерываний и отслеживания того, какие критические участки вызывают замедление.
    • Один распространенный метод просто блокирует все прерывания на время критической секции. Это легко реализовать, но иногда критические разделы становятся неудобно длинными.
    • Более сложный метод просто блокирует прерывания, которые могут вызвать доступ к этой структуре данных. Это часто основано на приоритетах прерываний, которые, как правило, плохо соответствуют соответствующим структурам данных системы. Соответственно, этот метод используется в основном в очень стесненных условиях.
    • Процессоры могут иметь аппаратную поддержку некоторых критических разделов. Примеры включают поддержку атомарного доступа к битам или байтам в слове или других примитивов атомарного доступа, таких как примитивы эксклюзивного доступа LDREX/STREX, представленные в архитектуре ARMv6 .
  • Прерывание вложения. Некоторые микроконтроллеры позволяют прерываниям с более высоким приоритетом прерывать прерывания с более низким приоритетом. Это позволяет программному обеспечению управлять задержкой, давая критичным ко времени прерываниям более высокий приоритет (и, следовательно, меньшую и более предсказуемую задержку), чем менее критичным.
  • Скорость триггера. Когда прерывания происходят последовательно, микроконтроллеры могут избежать дополнительного цикла сохранения/восстановления контекста с помощью оптимизации хвостового вызова .

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

Технология памяти [ править ]

В микроконтроллерах обычно используются два разных типа памяти: энергонезависимая память для хранения встроенного ПО и память для чтения и записи для временных данных.

Данные [ править ]

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

В дополнение к SRAM некоторые микроконтроллеры также имеют внутреннюю EEPROM и/или NVRAM для хранения данных; а те, у которых ее нет (например, BASIC Stamp ) или у которых недостаточно внутренней памяти, часто подключаются к внешней EEPROM или микросхеме флэш-памяти.

Некоторые микроконтроллеры, выпущенные начиная с 2003 года, имеют «самопрограммируемую» флэш-память. [7]

Прошивка [ править ]

Самые ранние микроконтроллеры использовали ПЗУ маски для хранения прошивки . Более поздние микроконтроллеры (такие как ранние версии Freescale 68HC11 и ранние микроконтроллеры PIC ) имели память EPROM , в которой использовалось полупрозрачное окно для стирания с помощью ультрафиолетового света, в то время как серийные версии не имели такого окна, поскольку были OTP (одноразово программируемые). . Обновления прошивки были эквивалентны замене самого микроконтроллера, поэтому многие продукты не подлежали обновлению.

Моторола MC68HC805 [6] был первым микроконтроллером, который использовал EEPROM для хранения прошивки. Микроконтроллеры EEPROM стали более популярными в 1993 году, когда Microchip представила PIC16C84. [5] и Atmel представила микроконтроллер с 8051 ядром, который первым использовал флэш-память NOR для хранения прошивки. [7] Почти все современные микроконтроллеры используют флэш-память, некоторые модели используют FRAM, а некоторые сверхнизкие детали по-прежнему используют OTP или Mask ROM.

См. также [ править ]

Ссылки [ править ]

  1. ^ «1971: Микропроцессор объединяет функции ЦП в одном кристалле» . Кремниевый двигатель . Музей истории компьютеров . Проверено 22 июля 2019 г.
  2. ^ Аугартен, Стэн (1983). Самый широко используемый компьютер на кристалле: TMS 1000 . Нью-Хейвен и Нью-Йорк: Тикнор и Филдс. ISBN  978-0-89919-195-9 . Проверено 23 декабря 2009 г. {{cite book}}: |work= игнорируется ( помогите )
  3. ^ «Тенденции полупроводниковой промышленности» . Музей истории полупроводников Японии . Архивировано из оригинала 27 июня 2019 г. Проверено 27 июня 2019 г.
  4. ^ Перейти обратно: а б «Секция устной истории разработки и продвижения микроконтроллера Intel 8048» (PDF) . Музей компьютерной истории «Устная история», 2008 . п. 4 . Проверено 4 апреля 2016 г.
  5. ^ Перейти обратно: а б «Зал славы чипов: Микроконтроллер PIC 16C84» . IEEE. 30 июня 2017 г. Проверено 16 сентября 2018 г.
  6. ^ Перейти обратно: а б Моторола. Предварительная информация, 8-разрядные микрокомпьютеры MC68HC05B6, MC68HC05B4, MC68HC805B6, документ Motorola EADI0054RI . ООО «Моторола», 1988 г.
  7. ^ Перейти обратно: а б с «Самопрограммируемые флэш-микроконтроллеры Atmel» (PDF) . 24 января 2012 г. Проверено 25 октября 2008 г. Одд Йостейн Свендсли, 2003 г.
  8. ^ Терли, Джим (2002). «Двухпроцентное решение» . Встроенный . Проверено 11 июля 2018 г.
  9. ^ Кантрелл, Том (1998). «Микрочип на марше» . Цепь подвала . Архивировано из оригинала 27 сентября 2007 г. Проверено 11 июля 2018 г.
  10. ^ «Семико Исследования» .
  11. ^ «Импульс приближает микроконтроллеры к 2011 году | Semico Research» . Semico.com . Проверено 11 июля 2018 г.
  12. ^ Перейти обратно: а б «Рынок микроконтроллеров на пути перехода на 32-битные устройства и устройства на базе ARM» . 25 апреля 2013 г. Обычно требуется глобальная экономическая рецессия, чтобы расстроить разнообразный рынок микроконтроллеров, и это именно то, что произошло в 2009 году, когда бизнес микроконтроллеров пережил худшее за всю историю годовое падение продаж на 22% до 11,1 миллиарда долларов.
  13. ^ Перейти обратно: а б «Действительно недорогие микроконтроллеры» . www.additude.se . Проверено 16 января 2019 г.
  14. ^ Билл Джовино. «Zilog покупает линейку микроконтроллеров у Samsung» . 2013.
  15. ^ Перейти обратно: а б "EFM8BB10F2G-A-QFN20 Silicon Labs | Mouser" .
  16. ^ Перейти обратно: а б «MSP430G2001IPW14R Texas Instruments | Mouser» .
  17. ^ Перейти обратно: а б "CY8C4013SXI-400 Cypress Semiconductor | Mouser" . Маузер Электроникс . Архивировано из оригинала 18 февраля 2015 г.
  18. ^ «MSP430FR2000IPW16R Texas Instruments | Mouser» .
  19. ^ "CY8C4013SXI-400 Cypress Semiconductor | Mouser" . Маузер Электроникс . Проверено 11 июля 2018 г.
  20. ^ Исследователи UM создают самый маленький в мире «компьютер» , Мичиганский университет , 21 июня 2018 г.
  21. ^ Мичиганский университет превзошел IBM с самым маленьким «компьютером» в мире , CNET , 22 июня 2018 г.
  22. ^ IBM борется с фальшивомонетчиками с помощью самого маленького в мире компьютера , CNET , 19 марта 2018 г.
  23. ^ IBM создала компьютер размером с крупинку соли. Вот для чего это нужно. , Фортуна , 19.03.2018
  24. ^ Хит, Стив (2003). Проектирование встраиваемых систем . Серия ЭДН для инженеров-конструкторов (2-е изд.). Ньюнес. стр. 11–12 . ISBN  9780750655460 .
  25. ^ Дэвид Харрис и Сара Харрис (2012). Цифровой дизайн и компьютерная архитектура, второе издание , с. 515. Морган Кауфманн. ISBN   0123944244 .
  26. ^ Простой способ создания проекта микроконтроллера.
  27. ^ Маццеи, Даниэле; Монтелискиани, Габриэле; Бальди, Джакомо; Фантони, Гуальтьеро (2015). «Изменение парадигмы программирования для встраиваемых систем в области Интернета вещей». 2-й Всемирный форум IEEE по Интернету вещей (WF-IoT) , 2015 г. Интернет вещей (WF-IoT), 2-й Всемирный форум IEEE 2015 г. Милан: IEEE. стр. 239–244. дои : 10.1109/WF-IoT.2015.7389059 . ISBN  978-1-5090-0366-2 .
  28. ^ "8052-Базовые микроконтроллеры" Яна Аксельсона, 1994 г.
  29. ^ Эдвардс, Роберт (1987). «Оптимизация микроконтроллера Zilog Z8 Forth для быстрого прототипирования» (PDF) . Мартин Мариетта: 3 . Проверено 9 декабря 2012 года . {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  30. ^ www.infineon.com/mcu

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: E544595178ED7797835E035701A5D3A2__1716691080
URL1:https://en.wikipedia.org/wiki/Microcontroller
Заголовок, (Title) документа по адресу, URL1:
Microcontroller - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)