stringtranslate.com

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

Кристалл Intel 8742, 8-битного микроконтроллера, который включает в себя процессор , работающий на частоте 12 МГц, 128 байт ОЗУ , 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 представила первый микроконтроллер, использующий флэш-память . , особый тип 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 доллара США за единицу.

Стоимость со временем резко упала: в 2018 году самые дешевые 8-битные микроконтроллеры были доступны по цене менее 0,03 доллара США [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 мм в сторону — затмевается рисовым зернышком. [...] Помимо оперативной памяти и фотоэлектрических элементов , новые вычислительные устройства имеют процессоры, а также беспроводные передатчики и приемники . Поскольку они слишком малы для использования обычных радиоантенн, они принимают и передают данные в видимом свете. Базовая станция обеспечивает свет для питания и программирования , а также получает данные » . «меньше, чем крупинка соли», [22] имеет миллион транзисторов, стоимость производства составляет менее 0,10 доллара США и в сочетании с технологией блокчейна предназначена для логистики и «крипто-якорей» — приложений для цифровых отпечатков пальцев . [23]

Встроенный дизайн

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

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

Прерывания

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

Программы

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

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

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

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

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

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

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

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

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

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

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

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

Высшая интеграция

Кристалл 8-битного, полностью статического CMOS- микроконтроллера на базе EEPROM / EPROM / ROM PIC12C508 , изготовленного компанией 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 не требует использования некоторых регистров, он может просто оставить их в покое, а не сохранять и восстанавливать их, так что в этом случае эти регистры не участвуют в задержке.) Способы уменьшения такой задержки контекста/восстановления включают наличие относительно мало регистров в их центральных процессорах (нежелательно, поскольку это существенно замедляет большую часть непрерывной обработки) или, по крайней мере, если аппаратное обеспечение не сохраняет их все (это не удается, если программному обеспечению затем необходимо компенсировать это, сохраняя остальное «вручную») . Другой метод предполагает использование кремниевых вентилей в «теневых регистрах»: один или несколько дублирующих регистров, используемых только программным обеспечением прерываний и, возможно, поддерживающих выделенный стек.

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

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

Технология памяти

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

Данные

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

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

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

Прошивка

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

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

Смотрите также

Рекомендации

  1. ^ «1971: Микропроцессор объединяет функции ЦП в одном чипе» . Кремниевый двигатель . Музей истории компьютеров . Проверено 22 июля 2019 г.
  2. ^ Аугартен, Стэн (1983). Самый широко используемый компьютер на кристалле: TMS 1000. Нью-Хейвен и Нью-Йорк: Ticknor & Fields. ISBN 978-0-89919-195-9. Проверено 23 декабря 2009 г. {{cite book}}: |work=игнорируется ( помощь )
  3. ^ «Тенденции в полупроводниковой промышленности». Музей истории полупроводников Японии . Архивировано из оригинала 27 июня 2019 г. Проверено 27 июня 2019 г.
  4. ^ ab «Группа устной истории разработки и продвижения микроконтроллера Intel 8048» (PDF) . Музей компьютерной истории «Устная история», 2008 . п. 4 . Проверено 4 апреля 2016 г.
  5. ^ ab «Зал славы чипов: Микроконтроллер PIC 16C84» . IEEE. 30 июня 2017 г. Проверено 16 сентября 2018 г.
  6. ^ АБ Моторола. Предварительная информация, 8-битные микрокомпьютеры MC68HC05B6, MC68HC05B4, MC68HC805B6, документ Motorola EADI0054RI . ООО «Моторола», 1988 г.
  7. ^ abc «Самопрограммируемые флэш-микроконтроллеры Atmel» (PDF) . 24 января 2012 г. Проверено 25 октября 2008 г.Одд Йостейн Свендсли, 2003 г.
  8. ^ Терли, Джим (2002). «Двухпроцентное решение». Встроенный . Проверено 11 июля 2018 г.
  9. ^ Кантрелл, Том (1998). «Микрочип на марше». Цепь подвала . Архивировано из оригинала 27 сентября 2007 г. Проверено 11 июля 2018 г.
  10. ^ "Исследование Semico".
  11. ^ «Импульс переносит микроконтроллеры в 2011 год | Semico Research» . Semico.com . Проверено 11 июля 2018 г.
  12. ^ ab «Рынок MCU на пути перехода на 32-битные устройства и устройства на базе ARM». 25 апреля 2013 г. Обычно требуется глобальная экономическая рецессия, чтобы расстроить разнообразный рынок микроконтроллеров, и именно это произошло в 2009 году, когда бизнес микроконтроллеров пережил худшее за всю историю годовое падение продаж на 22% до 11,1 миллиарда долларов.
  13. ^ ab «Действительно недорогие микроконтроллеры». www.additude.se . Проверено 16 января 2019 г.
  14. ^ Билл Джовино. «Zilog покупает линейку микроконтроллеров у Samsung». 2013.
  15. ^ ab "EFM8BB10F2G-A-QFN20 Silicon Labs | Mouser" .
  16. ^ ab "MSP430G2001IPW14R Texas Instruments | Mouser" .
  17. ^ ab "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 построила компьютер размером с крупицу соли. Вот для чего это нужно., Fortune , 19 марта 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 г., 2015 г. Милан: IEEE. стр. 239–244. doi : 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

Внешние ссылки