Общие сведения о современных микроконтроллерах

Через несколько лет после появления первого микропроцессора разработчики создали еще одно устройство – микроконтроллер. Микроконтроллер (MCU, Micro Controller Unit) – разновидность микропроцессорной системы, ориентированная на реализацию алгоритмов управления техническими устройствами и технологическими процессами (рисунок 1).

Рисунок 1. Схемотехническое изображение поддерживаемых контроллером элементов

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

Микроконтроллеры в целом можно разделить на группы 8, 16 и 32 разрядных по размеру их арифметических и индексных регистров, хотя некоторые разработчики считают, что 8/16/32 разрядную архитектуру определяет разрядность шины. По используемому в настоящее время технологическому процессу микроконтроллеры заняли нишу 32 нанометров (рисунок 2).

Рисунок 2. Классификация контроллеров по разрядности

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

Обращаясь к истории можно сказать, что первый патент на однокристальную ЭВМ был выдан инженерам Texas Instruments М. Кочрену и Г. Буну. Через пять лет фирмой Intel (1976) были выпущены первые микроконтроллеры (восьмиразрядный МК 8048). В настоящее время многие производители выпускают 8-, 16- и 32-разрядные микроконтроллеры с емкостью памяти программ до десятков кБайт, небольшими оперативными запоминающими устройствами данных и набором таких интерфейсных и периферийных схем, как параллельные и последовательные порты ввода/вывода, аналого-цифровые и цифро-аналоговые преобразователи, широтно-импульсные модуляторы и так далее. Образцы выпускаемых промышленностью микроконтроллеров изображены на рисунке 3.

Рисунок 3. Образцы микросхем современных микроконтроллеров

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

5.6.2 Модульный принцип построения микроконтроллеров [5]

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

Рисунок 6. Модульная структура микроконтроллера

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

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

– внутренние шины адреса, данных и управления. Иногда эти шины называют магистралями;

– схему управления режимами работы. Основное назначение этой схемы управление режимами работы микроконтроллера.

В процессе своего функционирования микроконтроллер работает с следующих режимах (рисунок 7):

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

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

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

Рисунок 7. Классификация режимов работы микроконтроллера

Процессорное ядро обозначают именем семейства микроконтроллеров, основой которого оно является. Например, ядро НС08 – процессорное ядро семейства Motorolla МС68НС08, ядро МСS-51 ядро семейства микроконтроллера Intel 8xC51, ядро PIC 16 – процессорное ядро Microchip PIC16.

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

– модули памяти;

– модули периферийных устройств;

– модули встроенных генераторов синхронизации;

– модули контроля за напряжением питания и ходом выполнения программы;

– модули внутрисхемной отладки и программирования.

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

Группа модулей периферийных устройств включает следующие основные типы (рисунок 8):

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

- Таймеры-счетчики, таймеры периодических прерываний, процессоры событий.

- Контроллеры последовательного интерфейса связи нескольких типов (UART, SCI, SPI, I2C, CAN, USB).

UART, Univercal Asynchronous Receiver/Transmitter – универсальный асихронный приемник/передатчик. С помощью этого контроллера осуществляется управление преобразованием данных из принятого микроконтроллером параллельного формата передачи данных в последовательный и наоборот.

- Аналого-цифровые преобразователи;

- Цифро-аналоговые преобразователи;

- Контроллеры жидкокристаллических индикаторов и светодиодные матрицы.

Рисунок 8. Модули переферийных устройств

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

Рисунок 9. Классификация микропроцессовров по элементов синхронизации

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

5.6.2 Процессорное ядро микроконтроллера

Процессорное ядро представляет собой неразрывное единство трех составляющих его технического решения (рисунок 10):

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

2) схемотехнического воплощения архитектуры, которая определяет последовательность перемещения данных по внутренним магистралям микроконтроллера между регистрами, арифметическо-логическими устройствами и ячейками памяти в процессе выполнения каждой команды;

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

Рисунок 10

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

С точки зрения системы команд и способов адресации операндов процессорное ядро современных микроконтроллеров реализует один из двух принципов построения процессоров (рисунок 11) CISC (со сложным набором команд) RISC (с сокращенным набором команд).

К микроконтроллерам с CISC-архитектурой относятся микроконтроллеры фирмы Intel с ядром MCS-51, которые поддерживаются в настоящее время целым рядом производителей, микроконтроллеры семейств НС05, НС08 и НС11 фирмы Motorola и ряд других.

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

Рисунок 11

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

В процессорах с RISC-архитектурой набор исполняемых команд сокращен до минимума. Для реализации более сложных операций приходится комбинировать команды. При этом все команды имеют формат фиксированной длины (например, 12, 14 или 16 бит), выборка команды из памяти и ее исполнение осуществляется за один машинный цикл микроконтроллера, то есть один период – одна команда. Однако и для микроконтроллеров с RISC частота не всегда совпадает с частотой подключаемого кварцевого резонатора.

Рисунок 12. Подключение внешнего кварцевого резонатора к микроконтроллеру

Производительность процессоров и контроллеров принято оценивать числом элементарных операций, которые могут быть выполнены в течении одной секунды. Единица измерения производительности – миллион операций в секунду MIPS (million instructions per second). Для расчета численного значения производительности в MIPS принято использовать время выполнения самой быстрой команды – команды пересылки «регистр-регистр».

где – время выполнения команды.

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

Система команд RISC-процессора предполагает возможность равноправного использования всех регистров процессора. Это обеспечивает дополнительную гибкость при выполнении ряда операций. К микроконтроллерам с RISC-процессором относятся микроконтроллеры AVR фирмы Atmel, микроконтроллер PIC16 и PIC17 фирмы Microchip и другие.

 

 

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

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

Так, например, системой команд микроконтроллера PIC16 предусмотрена возможность пересылки результата операции только в один из двух регистров — регистр-источник операнда f или рабочий регистр W.

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

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

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

5.6.3 Резидентная память микропроцессора

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

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

1 ПЗУ масочного типа – Mask-ROM. Содержимое ячеек ПЗУ этого типа записывается на заводе-изготовителе микроконтроллера с помощью масок и не может быть изменено или допрограммировано в области ранее не использованного сегмента памяти.

Рисунок 13

Масочные ПЗУ имею ограниченное применение из-за специфики записи в них инормации.

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

2 ПЗУ однократно программируемые пользователем – OTPROM (One-Time Programmable ROM

<== предыдущая лекция | следующая лекция ==>
Суперскалярная архитектура. Конвейер команд | Механические характеристики двигателя постоянного тока последовательного возбуждения в двигательном режиме

Дата добавления: 2018-11-26; просмотров: 2235;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.018 сек.