Содержание
Введение
Основная часть
.2 Средства разработки программ
Семейство 16-разрядных микроконтроллеров Motorola 68HC12
.1 Структура и функционирование микроконтроллеров HC12
.2 Способы адресации и система команд
.3 Набор периферийных устройств
.4 Порты ввода/вывода
.5 Модуль последовательного интерфейса
.6 Таймерный модуль
.7 Модуль формирования ШИМ-сигналов
.8 Модуль АЦП
.9 Средства отладки и программирования микроконтроллеров 68НС12
Семейство микроконтроллеров Intel
.1 Микроконтроллеры семейства MCS-51
.2 Микроконтроллеры семейства MCS-251
.3 Микроконтроллеры семейства MCS-96
.4 Микроконтроллеры INTEL MCS 196/296
.5 Особенности микроконтроллеров семейства MCS-196 фирмы INTEL
.6 Почему 80C196 быстрее, чем 8051?
.7
Семейство контроллеров Универсальной последовательной шины 8x930
Введение
Микроконтроллер (англ. Micro Controller Unit, MCU) - микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает на одном кристалле функции процессора и периферийных устройств, содержит ОЗУ и (или) ПЗУ. По сути, это однокристальный компьютер, способный выполнять относительно простые задачи. С появлением однокристальных микро-ЭВМ связывают начало эры массового применения компьютерной автоматизации в области управления. По-видимому, это обстоятельство и определило термин «контроллер» (англ. controller - регулятор, управляющее устройство). В связи со спадом отечественного производства и возросшим импортом техники, в том числе вычислительной, термин «микроконтроллер» (МК) вытеснил из употребления ранее использовавшийся термин «однокристальная микро-ЭВМ». Первый патент на однокристальную микро-ЭВМ был выдан в 1971 году инженерам М. Кочрену и Г. Буну, сотрудникам американской Texas Instruments. Именно они предложили на одном кристалле разместить не только процессор, но и память с устройствами ввода-вывода. В 1976 году американская фирма Intel выпускает микроконтроллер i8048. В 1978 году фирма Motorola выпустила свой первый микроконтроллер MC6801, совместимый по системе команд с выпущенным ранее микропроцессором MC6800. Через 4 года, в 1980 году, Intel выпускает следующий микроконтроллер: i8051. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения технологии микроконтроллер i8051 являлся для своего времени очень сложным изделием - в кристалле было использовано 128 тыс. транзисторов, что в 4 раза превышало количество транзисторов в 16-разрядном микропроцессоре i8086. На сегодняшний день (10 октября 2013) существует более 200 модификаций микроконтроллеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, 16-битные MSP430 фирмы TI, а также 32-битные микроконтроллеры, архитектуры ARM, которую разрабатывает фирма ARM Limited и продаёт лицензии другим фирмам для их производства. Несмотря на популярность в России микроконтроллеров упомянутых выше, по данным Gartner Grup от 2009 года мировой рейтинг по объёму продаж выглядит иначе: первое место с большим отрывом занимает Renesas Electronics на втором Freescale, на третьем Samsung, затем идут Microchip и TI, далее все остальные. В СССР велись разработки оригинальных микроконтроллеров, также осваивался выпуск клонов наиболее удачных зарубежных образцов. В 1979 году в СССР НИИ ТТ разработали однокристальную 16-разрядную ЭВМ К1801ВЕ1, микроархитектура которой называлась «Электроника НЦ». При проектировании микроконтроллеров приходится соблюдать баланс между размерами и стоимостью с одной стороны и гибкостью и производительностью с другой. Для разных приложений оптимальное соотношение этих и других параметров может различаться очень сильно. Поэтому существует огромное количество типов микроконтроллеров, отличающихся архитектурой процессорного модуля, размером и типом встроенной памяти, набором периферийных устройств, типом корпуса и т. д. В отличие от обычных компьютерных микропроцессоров, в микроконтроллерах часто используется гарвардская архитектура памяти, то есть раздельное хранение данных и команд в ОЗУ и ПЗУ соответственно. Кроме ОЗУ, микроконтроллер может иметь встроенную энергонезависимую память для хранения программы и данных. Во многих контроллерах вообще нет шин для подключения внешней памяти. Наиболее дешёвые типы памяти допускают лишь однократную запись. Такие устройства подходят для массового производства в тех случаях, когда программа контроллера не будет обновляться. Другие модификации контроллеров обладают возможностью многократной перезаписи энергонезависимой памяти. Ограничения по цене и энергопотреблению сдерживают также рост тактовой частоты контроллеров. Хотя производители стремятся обеспечить работу своих изделий на высоких частотах, они, в то же время, предоставляют заказчикам выбор, выпуская модификации, рассчитанные на разные частоты и напряжения питания. Во многих моделях микроконтроллеров используется статическая память для ОЗУ и внутренних регистров. Это даёт контроллеру возможность работать на меньших частотах и даже не терять данные при полной остановке тактового генератора. Часто предусмотрены различные режимы энергосбережения, в которых отключается часть периферийных устройств и вычислительный модуль. Использование в современном микроконтроллере достаточного мощного вычислительного устройства с широкими возможностями, построенного на одной микросхеме вместо целого набора, значительно снижает размеры, энергопотребление и стоимость построенных на его базе устройств. Используются в управлении различными устройствами и их отдельными блоками. В то время как 8-разрядные процессоры общего назначения полностью вытеснены более производительными моделями, 8-разрядные микроконтроллеры продолжают широко использоваться. Это объясняется тем, что существует большое количество применений, в которых не требуется высокая производительность, но важна низкая стоимость. В то же время, есть микроконтроллеры, обладающие большими вычислительными возможностями, например цифровые сигнальные процессоры, применяющиеся для обработки большого потока данных в реальном времени (например, аудио -, видеопотоков). Программирование микроконтроллеров обычно осуществляется на языке ассемблера или Си, хотя существуют компиляторы для других языков, например, Форта и Бейсика.
Используются также встроенные интерпретаторы Бейсика. Для отладки программ используются программные симуляторы (специальные программы для персональных компьютеров, имитирующие работу микроконтроллера), внутрисхемные эмуляторы (электронные устройства, имитирующие микроконтроллер, которые можно подключить вместо него к разрабатываемому встроенному устройству) и интерфейс JTAG
Цель курсового проекта: закрепить знания по данной теме.
Задача: изучить характеристику микроконтроллера
одного из семейств
1 Основная часть
.1 Семейство XC166
В семейство XC166 входят шестнадцатиразрядные
микроконтроллеры, которые могут совместно выполнять функции встроенного
управляющего устройства и цифрового сигнального процессора (DSP). В состав
семейства входят микроконтроллеры семи типов (апрель 2005г.). Типы
микроконтроллеров перечислены в таблице 1 в порядке возрастания их
функциональной сложности
Таблица 1
|
Тип МК |
Pin |
ExM |
PP |
I/0 |
CAN |
IIC |
SDLM |
CCU |
CCU6 |
ADC |
|
XC164CM |
64 |
|
4 |
47 |
+ |
|
|
10 |
+ |
14 |
|
XC164N |
100 |
+ |
7 |
79 |
|
|
|
12 |
+ |
|
|
XC164D |
100 |
+ |
7 |
79 |
+ |
|
12 |
+ |
|
|
|
XC164S |
100 |
+ |
7 |
79 |
|
|
|
12 |
+ |
14 |
|
XC164CS |
100 |
+ |
7 |
79 |
+ |
|
|
12 |
+ |
14 |
|
XC161CJ |
144 |
+ |
10 |
99 |
+ |
+ |
+ |
32 |
|
12 |
|
XC167CI |
144 |
+ |
10 |
103 |
+ |
+ |
|
32 |
+ |
16 |
В таблице указано число выводов корпуса (Pin), отмечены возможность подключения внешней памяти (ExM) и наличие различных периферийных устройств и приведены их основные характеристики у микроконтроллеров разных типов. Устройства, которые имеются у микроконтроллеров всех типов, в таблице не указаны. Микроконтроллер семейства XC166 имеет процессорное ядро С166S V2. Выборка команд из памяти программ выполняется по принципу двухэтапного конвейера, при этом команды перехода выполняются без затраты специальных тактов в ходе программы (Zero-Cycle Jump Execution). Выполнение команд организовано по принципу пятиэтапного конвейера, при этом расчетное время выполнения команды для определения быстродействия процессора оказывается равным длительности одного периода тактового сигнала. Выпускаются микроконтроллеры, которые могут работать с тактовой частотой до 20 МГц и до 40 МГц. В качестве памяти программ используется запоминающее устройство Flash-типа емкостью 128 КВ или 64 КВ. Микроконтроллеры семейства XC164CS выпускаются в двух модификациях - с памятью типа Flash и типа MaskROM.
Для хранения данных и части программы используются статические оперативные запоминающие устройства суммарной емкостью 6 КВ или 8 КВ. К микроконтроллерам всех типов кроме XC164CM могут подключаться внешние запоминающие устройства общей емкостью до 12 МВ.
Для ввода и вывода данных у микроконтроллеров имеются:
1) четыре, семь или десять параллельных портов (РР) с суммарным числом входов-выходов (I/0) от 47 до 103,
2) два асинхронных канала ASC0 и ASC1, каждый из которых представляет собой универсальный синхронно-асинхронный приемопередатчик (USART),
) два синхронных последовательных канала SSC0 и SSC1, выполняющие обмен данными по интерфейсу SPI (Serial Peripheral Interface).
У микроконтроллеров некоторых типов имеются дополнительные устройства для ввода и вывода данных:
1) модуль, содержащий два блока приема и передачи сообщений в сети, работающей по CAN-протоколу (Twin CAN Module),
2) блок последовательного обмена данными по протоколу IIC (Inter Integrated Circuit),
) модуль SDLM (Serial Data Link Module) для последовательного обмена данными в сети, работающей по протоколу J1850.
Для формирования выходных импульсных сигналов и определения характеристик входных импульсных сигналов у микроконтроллеров имеются один или два блока захвата-сравнения CCU (Capture - Compare Unit) с суммарным числом входов и выходов от 10 до 32 и блок захвата-сравнения CCU6, имеющий 7 выводов. С использованием блока CCU6 может формироваться трехфазный сигнал PWM. У микроконтроллеров некоторых типов имеется аналого-цифровой преобразователь (ADC) с числом входов от 12 до 16, формирующий десятиразрядный или восьмиразрядный двоичный код.
Кроме того, у микроконтроллеров всех типов имеются:
1) пять таймеров общего назначения, входящих в состав блока таймеров общего назначения (GPT),
2) таймер реального времени (RTC),
) сторожевой таймер (WDT),
) сторожевой генератор (OWD).
Для проведения отладки программы у микроконтроллеров всех типов имеется блок OCDS (On-Chip Debug Support). Выводы блока подключаются к внешнему устройству, управляющему отладкой, по интерфейсу JTAG.
У микроконтроллеров типа XC161CJ и XC164CS на
кристалле имеются дополнительные выводы (Emulator interface), с использованием
которых в заводских условиях выполняется соединение кристалла с другим
кристаллом NETCarrier Chip. После соединения оба кристалла помещаются в общий
корпус. Полученное изделие (Emulation Device, ED) устанавливается на плате
вместо обычного микроконтроллера. При этом отладка программы выполняется по
новой эмуляционной технологии (NET). В систему команд микроконтроллеров
семейства XC166 входят все команды системы команд микроконтроллеров семейства
С166 и дополнительные команды, по которым выполняются операции DSP и
дополнительные операции управления ходом программы.
1.2 Средства разработки программ
Для приобретения начальных навыков разработки программ для микроконтроллеров семейства ХС166 фирма Infineon предлагает набор аппаратных и программных средств. В набор входят:
1) отладочная плата (Evaluation board) XC16Board REV200 с установленным на ней микроконтроллером типа XC161CJ или XC164CS или XC167CI,
2) компакт-диск SK-XC16x-V20 фирмы Infineon с техническими описаниями отладочной платы и микроконтроллеров, которые могут быть на ней установлены,
) компакт-диск Ude V1 80 фирмы pls с программной системой UDE (Universal Debug Engine),
) компакт-диск hitex фирмы hitex с программной системой HiTOP,
) компакт-диск Trace 32 - infxc 164 фирмы LAUTERBACH с программной системой TRACE 32.
Все предлагаемые программные системы
предназначены для разработки программ для микроконтроллеров многих типов,
выпускаемых различными фирмами. Все представленные на дисках программные
системы являются демонстрационными версиями соответствующих программных систем.
При разработке программ для микроконтроллеров семейства XC166 также может быть
использован компакт-диск Infineon-10-2005 фирмы ЭФО. На диске представлены
технические описания (User’s Manuals и Data Sheets) микроконтроллеров семейства
XC166 и программная система DAvE фирмы Infineon.
2 Семейство 16-разрядных микроконтроллеров
Motorola 68HC12
В конце 1997 года компания Motorola начала выпуск нового семейства 16-разрядных микроконтроллеров 68HC12. Оно имеет ряд специфических особенностей, заинтересовавших многих производителей электронной аппаратуры различного назначения. К числу особенностей 68HC12 относятся:
1) архитектурная совместимость с широко используемым семейством 8-разрядных микроконтроллеров 68HC11
2) расширенный набор команд и способов адресации, обеспечивающих реализацию управления с использованием 'нечеткой логики', поддержку языков высокого уровня и ряд других дополнительных возможностей;
) улучшенные технические характеристики: высокая производительность, пониженное энергопотребление, расширенный объём адресуемой памяти, введение сложнофункциональных периферийных устройств;
) наличие встроенных средств отладки, существенно упрощающих процесс разработки систем на базе этих микроконтроллеров.
Семейство 68HC12 интенсивно расширяется. В настоящее время в него входят семь моделей микроконтроллеров, отличающихся объёмом внутренней памяти и номенклатурой размещённых на кристалле периферийных устройств (таблица 1).
Микроконтроллеры 68HC12A0, не имеющие внутренней памяти программ, ориентированы на применение в системах, использующих для хранения программ внешнюю память. Модель 68HC12BE32 с масочно-программируемой внутренней памятью ёмкостью 32 Кбайт предназначена для производства изделий массовых серий. Модель 68HC812A4 отличается большим количеством портов ввода/вывода и использованием внутренней электрически-репрограммируемой памяти ёмкостью 4 Кбайт, которая служит обычно для хранения программ или их фрагментов. В последние годы широкое распространение получили модели серии 68HC912, содержащие на кристалле Flash-память ёмкостью от 32 до 128 Кбайт. Все микроконтроллеры содержат на кристалле статическую память SRAM ёмкостью от 1 до 8 Кбайт для хранения данных. Большинство моделей имеют также блок энергонезависимой памяти EEPROM ёмкостью от 768 байт до 4 Кбайт. Для связи с внешними устройствами микроконтроллеры имеют от 8 до 12 параллельных портов и различные виды последовательных интерфейсов.
Микроконтроллеры семейства 68НС12 имеют модульную структуру, которая реализуется из набора отдельных функциональных модулей, взаимодействующих с помощью стандартизованной межмодульной шины. Набор этих модулей включает:
) 8-канальный таймерный модуль;
) модуль формирования ШИМ-сигналов с 2 или 4 выходными каналами;
) модуль последовательного обмена, включающий один или два асинхронных интерфейса (SCI) и синхронный интерфейс (SPI);
) модуль интерфейса CAN-шины;
) модуль интерфейса I2C-шины;
) модуль последовательного обмена по протоколу J1850;
) многоканальный АЦП.
.1 Структура и функционирование
микроконтроллеров HC12
Микроконтроллеры семейства 68HC12 содержат на кристалле 16-разрядный процессор (CPU12), внутреннюю память одного или нескольких типов (ROM, FLASH, EEPROM, SRAM), модуль интеграции (LIM) и некоторый набор периферийных модулей. В качестве примера на рисунке 1 представлена структура микроконтроллера МС68НС812А4.
Рисунок 1
В системах и устройствах
микроконтроллеры могут работать в однокристальном (Single-Chip) или расширенном
(Expanded) режимах. В однокристальном режиме микроконтроллер использует для
хранения программ и данных только внутреннюю память. В расширенном режиме к
микроконтроллеру подключается внешняя память, обмен с которой производится по
8- или 16-разрядной системной шине данных. При этом 8-разрядные порты
ввода/вывода A и B служат для выдачи 16 разрядов адреса ADDR15-0, порты C и D -
для пересылки 16 разрядов данных DATA15-0 (при 8-разрядной системной шине
используется только порт C), порт E - для передачи сигналов управления обменом.
Таким образом, в расширенном режиме количество портов для обмена данными с
внешними устройствами значительно сокращается. Микроконтроллеры 68НС12А0 и
68НС812А4 при работе в расширенном режиме обеспечивают возможность увеличения
адресного пространства до 4 Мб памяти команд и 1 Мб памяти данных. Кроме того,
микроконтроллеры реализуют четыре различных специальных режима, которые
используются на стадиях отладки программы и тестирования кристалла. CPU12 является
высокопроизводительным 16-разрядным процессором, который выполняет обработку
битовых, 8- и 16-разрядных операндов. Регистровая модель CPU12 полностью
аналогична модели процессорного ядра микроконтроллеров 68HC11 и содержит семь
программно-доступных регистров (рисунке 2). Два 8-разрядных
регистра-аккумулятора A и B используются для хранения операндов и результата
операции. При выполнении действий над 16-разрядными операндами эти регистры
объединяются в один 16-разрядный аккумулятор D. Два 16-разрядных индексных
регистра X и Y используются для формирования адреса операнда при выполнении
операций с индексной адресацией. Указатель стека SP содержит 16 разрядов и
может использоваться не только для работы со стеком, но и для реализации
индексной адресации. Программный счётчик PC содержит адрес следующей
выполняемой команды. Этот регистр также служит для формирования адреса операнда
в ряде вариантов индексной адресации. Регистр условий CCR содержит значения
признаков переноса (С), переполнения (V), нуля (Z), отрицательного результата
(N) и переноса между тетрадами (H), устанавливаемых по результатам выполнения
операции. Также CCR содержит биты маскирования прерываний I и X и управляющий
бит S, который при установке значения S = 1 запрещает перевод микроконтроллера
в режим останова по команде STOP