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

редактировать
Матрица из Intel 8742, 8-битного микроконтроллера, который включает CPU, работающий на частотах 12 МГц, 128 байтов RAM, 2048 байтов EPROM и I / O в той же микросхеме Два микроконтроллера ATmega

A микроконтроллер (MCU для микроконтроллерного блока) - это небольшой компьютер на одном металл-оксид-полупроводник (MOS) интегральная схема (IC) чип. В современной терминологии это похоже на систему на кристалле (SoC), но менее сложна; SoC может входить микроконтроллер в качестве одного из своих компонентов. Микроконтроллер содержит один или несколько ЦП (процессорных ядер ) вместе с памятью и программируемыми периферийными устройствами ввода / вывода. Программная память в виде сегнетоэлектрического RAM, NOR flash или OTP ROM также часто включается в микросхему, а также небольшой объем RAM. Микроконтроллеры предназначены для встроенных приложений, в отличие от микропроцессоров, используемых в личных компьютерах или других приложений общего назначения, состоящих из различных дискретных микросхем.

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

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

Содержание
  • 1 История
    • 1.1 Предпосылки
    • 1.2 Разработка
    • 1.3 Объем и стоимость
    • 1.4 Самый маленький компьютер
  • 2 Встроенный дизайн
    • 2.1 Прерывания
    • 2.2 Программы
    • 2.3 Другие особенности микроконтроллера
  • 3 Более высокая степень интеграции
  • 4 Среда программирования
  • 5 Типы
  • 6 Задержка прерывания
  • 7 Технология памяти
    • 7.1 Данные
    • 7.2 Прошивка
  • 8 См.
  • 9 Ссылки
  • 10 Внешние ссылки
История

Предпосылки

Истоки как микропроцессора, так и микроконтроллера можно проследить до изобретения полевого транзистора MOSFET (металл-оксид-полупроводник), также известный как MOS-транзистор. Он был изобретен Мохамедом М. Аталлой и Давоном Кангом в Bell Labs в 1959 году и впервые действан в 1960 году. В том же году Аталла представляет концепцию МОП-интегральная схема, которая была интегральной схемой микросхемой , изготовленной из полевых МОП-транзисторов. К 1964 году MOS-чипы достигли более высокой плотности транзисторов и более низких производственных затрат, чем биполярные микросхемы. Микросхемы МОП усложняются со скоростью, предсказанной законом Мура, что приводит к крупномасштабной интеграции (БИС) с сотнями транзисторов на одном кристалле МОП. к концу 1960-х гг. Применение микросхем MOS LSI для вычислений стало для первых микропроцессоров, поскольку инженеры начали осознавать, что полный компьютерный процессор может содержаться на одной микросхеме MOS LSI.

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

Разработка

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

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

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

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

В 1993 году введение памяти EEPROM допускает микроконтроллерам (начиная с Microchip PIC16C84 ) быстро электрически стирать без дорогостоящего пакета, как требуется для СППЗУ, позволяющее как прототипирование, так и внутрисистемное программирование. (Технология EEPROM была доступна до этого времени, но более ранняя EEPROM была более дорогой и менее долговечной, что делало ее непригодной для недорогих микроконтроллеров массового производства.) В том же году Atmel представила первый микроконтроллер, использующий флэш-память ., особый тип EEPROM. Другие компании быстро последовали их пример с обоими типами памяти.

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

Объем и стоимость

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

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

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

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

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

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

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

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

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

В 2015 году 8-битные микроконтроллеры можно было купить за 0,311 доллара (1000 штук), 16-битные за 0,385 доллара (1000 штук) и 32-битные за 0,378 доллара. (1000 штук, но по 0,35 доллара за 5000).

В 2018 году 8-битные микроконтроллеры можно купить за 0,03 доллара, 16-битные - за 0,393 доллара (1000 штук, но по 0,563 доллара за 100 или 0,349 доллара за полную катушку). 2000), и 32-битный за 0,503 доллара (1000 единиц, но по 0,466 доллара за 5000). Более дешевый 32-битный микроконтроллер, в единицах по одному, можно купить за 0,891 доллара.

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

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

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

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

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

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

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

Прерывания

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

Программы

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

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

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

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

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

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

Другие особенности микроконтроллера

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

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

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

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

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

Более высокая степень интеграции
кристалл 8-битного PIC12C508, полностью статический, EEPROM / Микроконтроллер на базе СППЗУ / ПЗУ КМОП, произведенный Microchip Technology с использованием процесса 1200 нанометров Die микроконтроллера STM32F100C4T6B ARM Cortex-M 3 с 16 килобайтами флэш-памятью, 24 MHz центральным процессором (CPU), управление двигателем и Consumer Electronics Control (CEC). Изготовленные STMicroelectronics.

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

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

Микроконтроллер - это единственная интегральная схема, обычно со своими характеристиками:

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

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

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

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

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

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

Среда программирования

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

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

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

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

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

Типы

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

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

Задержка прерывания

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

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

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

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

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

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

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

Данные

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

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

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

Прошивка

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

Motorola MC68HC805 был первым микроконтроллером, который использовал EEPROM для хранения прошивки. Микроконтроллеры EEPROM стали более популярными в 1993 году, когда Microchip представила PIC16C84, а Atmel представила микроконтроллер 8051-core, который первым использовал NOR Flash memory для хранения прошивки.. Сегодняшние микроконтроллеры почти используют флеш-память, в некоторых моделях используется FRAM, а в некоторых сверхдорогих компонентах все еще используется OTP или Mask-ROM.

См. Также
  • значок Портал электроники
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-30 10:02:30
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте