Специализированный микропроцессоры – к
этому классу процессоров обычно относят:
? микроконтроллеры, предназначенные для применения во встроенных системах управления;
? цифровые сигнальные процессоры (
Digital
Signal
Processors
—
DSP
), используемые для обработки цифровых потоков информации в реальном времени. Микроконтроллеры, обладая широкими специализацией и разнообразием функций, находят применение в различных объектах управления (от бытовой техники до сложных роботов). Их ежегодный выпуск составляет миллионы изделий. В этом разделе рассмотрены общие вопросы структурно–функциональной организации микроконтроллеров, а также средства их программирования и отладки, приводится наиболее доступный для понимания материал по
PIC
–контроллерам, излагаются вопросы по микроконтроллерам семейства
MCS
–51, достаточно подробно рассмотрена структурно–функциональная организация и программная модель контроллеров.
В разделе также будут рассмотрены процессоры семейства
ADSP
–21
XX
фирмы
Analog
Devices
. Эти процессоры относятся к классу 16–разрядных процессоров, предназначенных для высокоскоростных вычислений с фиксированной точкой, являются оптимальными по соотношению цена/качество и имеют полный набор программных и аппаратных средств поддержки разработчика.
Аппаратные средства микроконтроллеров
Общие сведения
Введение.
Цифровая техника развивается по нескольким направлениям. Ее возникновение (как и самого термина «цифровая») обусловлено стремлением создания средств автоматического решения задач, требующих многократных и сложных вычислений. Появление микропроцессоров послужило сильным толчком в развитии этого направления и привело к созданию электронно–вычислительных машин (ЭВМ), а затем — персональных компьютеров. Выпустив в 1976 г. первый универсальный 8–разрядный микроконтроллер 8048, фирма
INTEL
открыла новое перспективное направление цифровой техники, связанное с разработкой и применением встраиваемых микроконтроллеров (
Embedded
Microcontrollers
), сфера применения которых оказалась во много раз шире, чем микропроцессоров. По количеству выпускаемых изделий в год микроконтроллеры на порядок превосходят традиционные микропроцессоры.
Новый этап в развитии микроэлектронной техники, наступивший с появлением микроконтроллеров, изменил подход к проектированию и реализации систем управления, потребовал использования новых архитектурных и структурных
решений.
Микроконтроллер (МК), называемый раньше однокристальной микроЭВМ, представляет собой изготовленную на одном кристалле сложную микропроцессорную систему, ориентированную на реализацию алгоритмов цифрового управления различными объектами и процессами. Микроконтроллер содержит центральный процессор, внутреннюю постоянную и оперативную память, набор периферийных устройств (параллельные и последовательные порты ввода–вывода данных, таймеры, аналого–цифровые преобразователи, широтно–импульсные модуляторы и др.). На его основе (при включении минимального количества дополнительных компонентов) можно построить цифровую систему управления с широкими функциональными возможностями.
Сфера применения микроконтроллеров весьма широка — от современной бытовой техники (холодильники, стиральные машины, кухонные комбайны и др.) до сложнейших систем управления и робототехнических комплексов. Они используются также как компоненты в системах управления технологическими процессами, информационно–измерительных и контрольно–диагностических системах. Огромная номенклатура выпускаемых микросхем микроконтроллеров, их широкие функциональные возможности, высокие технические показатели, относительно низкая стоимость позволяют удовлетворить запросы многих разработчиков и производителей разнообразной электронной аппаратуры. Об этом свидетельствует постоянный рост производства и применения микроконтроллеров.
Современные МК обладают такими ресурсами управления в режиме реального времени, для получения которых раньше использовались дорогие многокристальные компоновки в виде отдельных плат микроЭВМ.
Таким образом, микроконтроллер (МК) — это микропроцессорная система обработки информации, предназначенная для управления объектами, выполненная на одной БИС и содержащая все необходимые функциональные блоки и узлы, необходимые для обработки информации: центральный процессор, память и периферийные устройства для ввода и вывода информации.
Последующие статьи этого раздела посвящены 8–разрядным встраиваемым микроконтроллерам, которые имеют незначительную емкость памяти (обычно с физическим и логическим ее разделением на память программ и память данных) и систему команд, ориентированную на выполнение алгоритмов управления. Микроконтроллеры включают в себя все устройства (процессор, ПЗУ, ОЗУ, порты ввода–вывода, систему прерываний, средства обработки битовой информации и др.), необходимые для реализации микропроцессорной системы управления минимальной конфигурации.
Основные области применения 8–разрядных МК:
? встроенные системы управления бытовыми приборами и механизмами;
? средства обеспечения безопасности, системы охранной сигнализации;
? средства связи, измерений, контроля, диагностики, отображения информации;
? системы управления промышленным оборудованием, системами энергопитания.
Современные 8–разрядные МК отвечает таким требованиям как:
? простота схемотехнических решений при большом наборе выполняемых функций;
? малое энергопотребление при высоком быстродействии;
? малые затраты на подготовку производства при подготовке серийного выпуска изделий;
? простота и доступность цены технических средств для разработки и отладки схем.
Поэтому изделия с использованием микроконтроллеров технологичны и надежны, имеют простые технические решения и низкую стоимость, обладают возможностью модификации выполняемых функций. Разработка таких изделий не требует больших капиталовложений и специального оборудования, может быть выполнена достаточно быстро техническим персоналом, не обладающим высоким уровнем подготовки, и принести коммерческий успех.
Особенности микроконтроллерных систем.
При разработке МК–систем управления необходимо создать не только аппаратные средства путем соответствующего подключения однокристального микроконтроллера к внешним узам и устройствам, но и обеспечить выполнение многих системных функций, которые в традиционных микропроцессорных системах возложены на операционную систему и специальные периферийные микросхемы. Поэтому создание системы на основе микроконтроллера связано с оптимизацией ее аппаратной и программной частей для конкретного применения. Широкое многообразие современных микроконтроллеров и средств отладки, выпускаемых промышленностью, позволяет решить эту задачу.
Классификация микроконтроллеров.
Приведем основные классификационные признаки микроконтроллеров.
Разрядность микроконтроллеров.
По этому признаку МК разделяются на три группы: 8–, 16– и 32–разрядные микроконтроллеры.
Расположение памяти.
По расположению и использованию памяти можно выделить два типа микроконтроллеров.
? Микроконтроллеры с внутренней памятью. К ним относятся 8–разрядные встраиваемые микроконтроллеры, в которых память, а также устройства ввода–вывода и другие необходимые ресурсы располагаются на одном кристалле с процессорным ядром. Встраиваемые микроконтроллеры предназначены для реализации комплекса несложных функций таких, как управление объектами, с помощью недорогих средств. Наличие в контроллере вспомогательных устройств позволяет использовать минимальное количество дополнительных компонентов при его включении в создаваемую систему. Для функционирования встраиваемого контроллера достаточно подвести питание и тактовые сигналы.
В состав простейшего микроконтроллера входит процессор, память программ и данных, порты ввода/вывода и блок синхронизации и управления. Более сложные встраиваемые микроконтроллеры могут дополнительно содержать внутренние средства программирования памяти программ, аналогового ввода/вывода, обработки прерываний от различных источников, подключения внешней памяти и другие, что значительно увеличивают гибкость применения микроконтроллеров и облегчает процесс разработки систем на их основе. Все современные микроконтроллеры изготавливаются по
CMOS
–технологии, позволяющей значительно уменьшить размеры кристалла и рассеиваемую мощность. Максимальная частота тактовых сигналов микроконтроллеров ограничивается временем доступа к памяти и составляет 10…50 МГц. Для большинства применений это ограничение не является существенным.
? Микроконтроллеры с внешней памятью. К ним относятся 16– и 32–разрядные микроконтроллеры, использующие только внешнюю память (как память программ, так и некоторый объем памяти данных, требуемый для данного применения).
Микроконтроллеры с внешней памятью предназначены для применений, требующих большого объема памяти (
RAM
) при небольшом количестве устройств (портов) ввода/вывода. Примером такого применения является контроллер жесткого диска с буферной кэш–памятью, который должен обеспечивать промежуточное хранение и распределение больших объемов данных (измеряемых в мегабайтах). Микроконтроллер с внешней памятью работает с более высокой скоростью, чем встраиваемый микроконтроллер.
Архитектура процессоров.
Понятие архитектуры микропроцессора включает в себя комплекс программно–аппаратных средств, определяющих его структурно–функциональную организацию.
С точки зрения форматов используемых команд
различают два вида архитектур микроконтроллеров:
CISC
– и
RISC
–архитектуру. Их сравнительная характеристика дана в табл. 4.1.1.
Как видно и табл. 4.1.1, оба вида архитектур находят применение в различных семействах микроконтроллеров.
По способу организация выборки команд и данных различают
Принстонскую и Гарвардскую архитектуры.
Характерные их особенности приведены в табл. 4.1.2.
Показатели микроконтроллеров.
Микроконтроллер как любой рыночный продукт характеризуется соответствующим набором показателей, отражающих функциональные возможности и качество изделия. Однако в отличие от других микроэлектронных изделий существует ряд причин, в силу которых показателям микроконтроллеров следует уделять особое внимание.
К основным причинам относятся:
? весьма широкая номенклатура (сотни, тысячи различных моделей) выпускаемых изделий, охватывающая области применения от бытовой техники до сложных динамических систем управления и робототехники;
? концепция заказных изделий, впервые реализованная фирмой
Motorola
при изготовлении семейства 8–разрядных микроконтроллеров НС08 для массовых приложений. Архитектура микроконтроллера определяется пользователем и создается на базе набора стандартных модулей, что значительно сокращает сроки изготовления заказного изделия;
? использование микроконтроллеров в качества встраиваемых устройств в объекты управления и влияние их показателей на характеристики всей системы. Рассмотрим основные показатели микроконтроллеров.
Показатели архитектуры.
Это наиболее многочисленная группа показателей, отражающая такие архитектурные особенности микроконтроллеров как:
? вид архитектуры (
RISC
или
CISC
, Гарвардская и Принстонская архитектура);
? организация памяти (тип памяти, карты памяти программ и данных; набор программно–доступных регистров; назначение отдельных бит регистров и др.);
? показатели процессорного ядра и периферии (аппаратный состав и функции); система команд (количество команд, формат команды, циклы выполнения, особенности выборки и др.);
? способы адресации (прямая, непосредственная, косвенная адресация и др.);
? способы обработки данных (обмен, прерывания, прямой доступ к памяти и др.);
? другие показатели (возможность выбора типа генератора тактирования; наличие специальных таймеров; режим пониженного потребления; защита кода от считывания; биты идентификации и др.).
Электрические показатели.
В эту группу показателей входят:
? рабочие и максимально допустимые значения электрических параметров (напряжений, токов, потребляемых мощностей, рабочих температур и др.);
? временные диаграммы и параметры. С их помощью задаются требования к форме сигналов и параметрам (длительность, частота) для генераторов, таймеров, портов и других устройств;
? электрические характеристики, представляющие собой зависимость показателей от выбранного параметра, например, зависимость частоты генератора от температуры или зависимость потребляемого тока от напряжения питания.
Конструкционно–технологические показатели.
К ним относятся:
? используемый тип корпусов и их маркировка;
? количество выводов и их назначение;
? система обозначений МК;
? технологические особенности. Например, КМОП технология; полностью статическое устройство; широкий диапазон напряжения питания; коммерческий и промышленный температурный диапазон; низкое энергопотребление.
Поддержка разработок.
Использование микроконтроллеров во встраиваемых системах управления помимо разработки аппаратных средств и программного обеспечения включает отладку отдельных частей и всей системы в реальных условиях. Поэтому важную роль в процессе создания приложений играет обеспеченность микроконтроллера средствами программирования и отладки, что не только существенно облегчает процесс разработки конкретного устройства, но и позволяет получить требуемые характеристики и параметры.
Современные микроконтроллеры поддерживаются полным набором программных и аппаратных средств разработки, включающих:
? макроассемблер,
предоставляющий такие возможности как создание макрокоманд, условное ассемблирование, разные форматы исходного текста и листинга. Для поддержки средств разработчика он может генерировать код в разных форматах и осуществлять символьную отладку при использовании эмулятора;
? компилятор
(
Compiler
) — программа, транслирующая исходную программу (
Source
Program
) на языке высокого уровня в объектный код перед ее выполнением. Объектный код (
Object
Code
) — исполнительный машинный код или некоторый его вариант;
? симулятор
(Simulator
— модель, имитатор), который представляет собой программу или устройство для моделирования функционирования микроконтроллера с помощью инструментального компьютера. Программный симулятор позволяет пользователю симулировать микроконтроллеры на уровне команд. При выполнении любой команды пользователь может проверить и изменить данные, а также подать внешний сигнал на любой вывод. Выполнение программы может происходить непрерывно, пошагово, до точки останова или в режиме трассировки. Некоторые симуляторы поддерживают символьную отладку кодов;
? эмулятор
(Emulator)
— аппаратное или (микро)программное средство, позволяющее инструментальному компьютеру имитировать работу микроконтроллера. Эмуляторы используются для отладки устройства в реальном времени;
? программатор
(Programmer)
— автономный или управляемый от компьютера прибор для записи (программирования) содержимого в микросхемы
PROM, EPROM
и флэш–памяти. Для аппаратной поддержки режима программирования микросхем имеются различные типы программаторов, подключаемых к компьютерам типа IBM PC. Существуют типы программаторов, которые можно подключать непосредственно к рабочей плате контроллера, что значительно ускоряет отладку. Режим программирования задается путем установки соответствующего напряжения;
? демонстрационная плата — это средство, предназначенное для демонстрации возможностей микроконтроллеров. Она содержит необходимое аппаратное и программное обеспечение для запуска основных демонстрационных программ. Демонстрационные платы позволяют программировать микроконтроллеры, подсоединить эмулятор для тестирования программного обеспечения.
Производительность микроконтроллера.
Этот показатель является одним из важнейших при управлении объектами в реальном времени.
Наиболее распространенной единицей измерения производительности контроллеров (как и процессоров) является
MIPS
(
Million
Instruction
Per
Second
) — число элементарных операций, которые могут быть выполнены в течение одной секунды. При расчетах в качестве элементарной операции используют инструкцию пересылки регистр–регистр с минимальным временем выполнения. Такая инструкция имеется в системе команд любого микроконтроллера. По своей сути
MIPS
представляет собой частоту в мегагерцах (МГц). Поэтому мерой косвенной оценки производительности МК может служить предельная частота тактирования (
fXCLK
), которая обычно приводится в справочных данных 8–разрядных МК. Однако в большинстве случаев для непосредственной оценки она не используется по следующей причине. Время выполнения команды зависит от длительности машинного цикла центрального процессора, которая определяется частотой обмена (
fBUS
) по внутренним магистралям адреса и данных. Соотношение
fXCLK
/
fBUS
для разных семейств микроконтроллеров имеет различное значение, например:
?
fXCLK
/
fBUS
=
12 для семейства
MSC–51
фирмы
Intel;
? fXCLK/fBUS = 4
для
семейства
PIC 16
фирмы
Microchip;
? fXCLK/fBUS = 1
для
семейства
AVR
фирмы
Amtel;
?
fXCLK
/
fBUS
< 1 для семейства НС08МК фирмы
Motorola
, поскольку тактирование осуществляется с использованием умножителя частоты и
fXCLK
>
fBUS
. По указанной причине при сравнении производительности различных контроллеров следует сопоставлять максимальную частоту тактирования межмодульных магистралей
fBUS
с приведенной в паспортных данных частотой
fXCLK
.
Микроконтроллеры с
RISC
–архитектурой выполняют каждую команду за один машинный цикл, длительность которого составляет 1/
fBUS
, следовательно, их производительность (в
MIPS
) равна
fBUS
(в МГц): например, производительность
PIC16
составляет 5
MIPS,
а контроллеров
AVR
— 20
MIPS
.
Микроконтроллеры с
CISC
–архитектурой имеют более низкую производительность, так как на выполнение операции регистр–регистр затрачивают от 1 до 3 циклов.
Однако рассмотренная оценка производительности не учитывает особенностей алгоритмов управления, используемых в конкретных областях применения. Алгоритмы управления (или функционирования) позволяют выявить наиболее узкие места по быстродействию системы управления, например:
? в быстродействующих регуляторах основное внимание следует уделять времени выполнения операций умножения и деления, которые требуются при реализации уравнений различных передаточных функций;
? в системе лифтов следует оценивать время выполнения только логических функций, которые используются при опросе кнопочной клавиатуры и при оптимизации перемещения между этажами сразу нескольких кабин лифта;
? в устройствах силовой электроники на первый план выходит реализация быстрого перебора больших таблиц данных.
Поэтому при высоких требованиях к быстродействию производительность следует оценивать с учетом операций алгоритма управления, ограничивающих временя выполнения программы.
Отметим, что помимо алгоритма весьма важным фактором, влияющим на оценку производительности МК, является время перехода на подпрограмму прерывания по запросу внешнего устройства или периферийного модуля. Суммарное время перехода на подпрограмму прерывания, определяемое архитектурой процессорного ядра МК и частотой его тактирования, включает в себя время:
? распознавания запроса на прерывание;
? ожидания завершения выполнения текущей команды;
? сохранения содержимого программного счетчика и некоторых регистров в стеке;
? загрузки вектора прерывания в процессор МК; выполнения некоторых вспомогательные команд.
Принципы построения современных контроллеров.
Микроконтроллеры (МК) находят широкое и разнообразное применение, их разработкой и производством занимается большое количество фирм. Каждая фирма выпускает собственные семейства контроллеров, представляющие собой набор моделей с различными характеристиками и параметрами. Для создания широкого разнообразия моделей МК, сокращения сроков разработки, производства и выпуска на рынок новых моделей используется модульный принцип построения МК, при котором все модели одного семейства содержат в себе два блока (рис. 4.1.1).
Процессорное ядро
представляет собой базовый, неизменный функциональный блок контроллера, предназначенный для использования во всех моделях семейства. Обозначение имени семейства МК ассоциируется с названием процессорного ядра, основой которого оно является. Например, семейство НС05 контроллеров фирмы
Motorola
имеет процессорное ядро НС05, основанное на архитектуре популярного микропроцессора 6800. В состав процессорного ядра входят:
? центральный процессор;
? формирователь многофазной импульсной последовательности для тактирования центрального процессора и межмодульных магистралей;
? устройство управления режимами работы МК (активным режимом, в котором МК выполняет прикладную программу; режимами пониженного энергопотребления, начального запуска и прерываний);
? внутренние шины адреса, данных и управления.
Функциональный блок
с изменяемой структурой определяет отличительные черты характеристик и параметров отдельных моделей (версий) семейства. Этот блок включает в себя различные модули постоянной и оперативной памяти, периферийных устройств, генераторов синхронизации, а также дополнительные модули специальных режимов работы контроллера. Каждый модуль имеет выводы для подключения его к шинам процессорного ядра, что позволяет при проектировании новой модели МК вводить те или иные модули, создавая, таким образом, разнообразные по структуре МК в пределах одного семейства. Все модули размещают на одном полупроводниковом кристалле.
Библиотека периферийных модулей.
Совокупность модулей, разработанных для конкретного процессорного ядра, называют библиотекой периферийных модулей. В библиотеку семейств МК входят:
? модули памяти. Память типа
FLASH
и
EEPROM
, используемая в современных контроллерах, позволяет реализовать режимы стирания и программирования под управлением прикладной программы, поэтому снабжена дополнительными средствами управления такими режимами работы;
? модули периферийных устройств, включающие:
• параллельные порты ввода/вывода;
• контроллеры последовательного интерфейса
(UART, SCI, SPI,
l
2
C
,
CAN
,
USB
);
• таймеры–счетчики, таймеры периодических прерываний, процессоры событии,
• аналого–цифровые и цифроаналоговые преобразователи;
• контроллеры ЖК–индикаторов и светодиодной матрицы;
• другие типы модулей, например, модуль прямого доступа к памяти, модуль управления ключами силовых инверторов напряжения, модуль генератора для тонального набора номера в телефонии;
? модули встроенных генераторов синхронизации. Генераторы синхронизации 8–разрядных МК в настоящее время разделились на два класса: собственно генераторы синхронизации и формирователи многофазной последовательности импульсов для тактирования центрального процессора и межмодульных шин.
Расширился круг схемотехнических решений генераторов синхронизации. В качестве времязадающего элемента помимо кварца широко используются керамический резонатор и
RC
–цепь. Для повышения частоты тактирования центрального процессора и межмодульных магистралей в генератор синхронизации вводится умножитель частоты с программно настраиваемым коэффициентом, который выполняется по схеме синтезатора с контуром фазовой автоподстройки. Цепи синтезатора частоты и регистры специальных функций для управления режимами его работы объединены в один из модулей генератора синхронизации;
? модули контроля питающего напряжением и хода выполнения программы,
осуществляющие диагностику некоторых подсистем МК и позволяющие восстановить работоспособность устройства на основе МК при нарушениях программного характера, сбоях в системе синхронизации, снижении напряжения питания;
? модули внутрисхемной отладки и программирования,
позволяющие отлаживать прикладную программу и заносить коды программы в энергонезависимую память МК прямо на плате изготовленного изделия, без использования дополнительных аппаратных средств отладки и программирования.
Использование в 8–разрядных контроллерах внутренних шин адреса, данных и управления лишает разработчика изделия на МК возможности подключения внешних запоминающих устройств (из–за отсутствия внешних выводов). Поэтому в состав каждого семейства МК входит ряд модификаций с одним и тем же набором периферийных модулей, отличающихся только объемом резидентной (встроенной) памяти программ и данных. Это позволяет разработчику изделия выбрать МК с требуемым объемом памяти внутреннего ПЗУ.