Состав и назначение семейства PIC-контроллеров
Министерство образования Республики Беларусь
Учреждение образования
«Гродненский государственный университет имени Янки Купалы»
физико-технический факультет
курсовой проект
по специализации
на тему: «Состав и назначение семейства PIC-контроллеров»
Специальность: 1 – 36 04 02 Промышленная электроника
Специализация: 1 – 36 04 02-01 Микропроцессорные и микроэлектронные управляющие и информационные устройства
Студент:
3 курса, 1 группы, вечернего отделения
Специальности Промышленная электроника _________ ______ Бутя О. А.
Подпись Дата ФИО
руководитель:
_______ ___________ ______ Волчок В.А
Оценка Подпись Дата ФИО
Гродно, 2015
CОДЕРЖАНИЕ
ВВЕДЕНИЕ
- Общие сведения о микроконтроллерах и микропроцессорах ……...…...4
- Понятие микропроцессора………………………………………
….....4 - Структурная схема микропроцессора………………………..……….
6 - Понятие микроконтроллера ..............................
.............................. .....7 - Структурная схема микроконтроллера……………………………….8
- Отличие микроконтроллера от микропроцессора……..…………….9
- Классификация и структура микроконтроллеров………………………..10
- Обзор микроконтроллеров фирмы Intel …………………………………13
- Микроконтроллеры семейства MCS-51……………………………...13
- Архитектура микроконтроллеров MCS-51 …………………….….…14
- Система команд микроконтроллеров MCS-51……………………....19
- Перспективы развития фирмы Intel ..……………………………..…21
Заключение …………………………………………………………………….25
Литература……………………………………………………
Введение
Микроконтроллеры семейств PIC (Peripheral Interface Controller) компании Microchip объединяют все передовые технологии микроконтроллеров: электрически программируемые пользователем ППЗУ, минимальное энергопотребление, высокую производительность, хорошо развитую RISC-архитектуру, функциональную законченность и минимальные размеры. Широкая номенклатура изделий обеспечивает использование микроконтроллеров и устройствах, предназначенных для разнообразных сфер применения.
Первые микроконтроллеры компании Microchip PIC16C5x появились в конце 1980-х годов и благодаря своей высокой производительности и низкой стоимости составили серьезную конкуренцию производившимся в то время 8-разрядным МК с CISC-архитектурой.
В настоящее время компания Microchip выпускает пять основных семейств 8-разрядных RISC-микроконтроллеров.
- Понятия микропроцессора и микроконтроллера
- Понятие микропроцессора.
Микропроцессор — это центральный блок персонального компьютера, предназначенный для управления работой всех остальных блоков и выполнения арифметических и логических операций над информацией.
Микропроцессор выполняет следующие основные функции:
чтение и дешифрацию команд из основной памяти;
чтение данных из основной памяти и регистров адаптеров внешних устройств;
прием и обработку запросов и команд от адаптеров на обслуживание внешних устройств;
обработку данных и их запись в основную память и регистры адаптеров внешних устройств;
выработку управляющих сигналов для всех прочих узлов и блоков компьютера.
В состав микропроцессора входят следующие устройства.
1. Арифметико-логическое
2. Устройство управления
формирует и подает во все блоки машины в нужные моменты времени определенные сигналы управления (управляющие импульсы), обусловленные спецификой выполнения различных операций;
формирует адреса ячеек памяти, используемых выполняемой операцией, и передает эти адреса в соответствующие блоки компьютера;
получает от генератора тактовых импульсов обратную последовательность импульсов.
3. Микропроцессорная память
4. Интерфейсная система
внутренний интерфейс микропроцессора;
буферные запоминающие регистры;
схемы управления портами ввода-вывода и системной шиной. (Порт ввода-вывода — это аппаратура сопряжения, позволяющая подключить к микропроцессору , другое устройство.)
К микропроцессору и системной шине наряду с типовыми внешними устройствами могут быть подключены и дополнительные платы с интегральными микросхемами, расширяющие и улучшающие функциональные возможности микропроцессора. К ним относятся математический сопроцессор, контроллер прямого доступа к памяти, сопроцессор ввода-вывода, контроллер прерываний и др.
Математический сопроцессор используется для ускорения выполнения операций над двоичными числами с плавающей запятой, над двоично-кодированными десятичными числами, для вычисления тригонометрических функций. Математический сопроцессор имеет свою систему команд и работает параллельно с основным микропроцессором, но под управлением последнего. В результате происходит ускорение выполнения операций в десятки раз. Модели микропроцессора, начиная с МП 80486 DX, включают математический сопроцессор в свою структуру.
Контроллер прямого доступа к памяти освобождает микропроцессор от прямого управления накопителями на магнитных дисках, что существенно повышает эффективное быстродействие компьютера.
Сопроцессор ввода-вывода за счет параллельной работы с микропроцессором значительно ускоряет выполнение процедур ввода-вывода при обслуживании нескольких внешних устройств, освобождает микропроцессор от обработки процедур ввода-вывода, в том числе реализует режим прямого доступа к памяти.
Прерывание — это временный останов выполнения одной программы в целях оперативного выполнения другой, в данный момент более важной. Контроллер прерываний обслуживает процедуры прерывания, принимает запрос на прерывание от внешних устройств, определяет уровень приоритета этого запроса и выдает сигнал прерывания в микропроцессор.
Все микропроцессоры можно разделить на группы:
микропроцессоры типа CISC с полным набором системы команд;
микропроцессоры типа RISC с усеченным набором системы команд;
микропроцессоры типа VLIW со сверхбольшим командным словом;
микропроцессоры типа MISC с минимальным набором системы команд и весьма высоким быстродействием и др.
Важнейшими характеристиками ми
тактовая частота. Характеризует быстродействие компьютера. Режим работы процессора задается микросхемой, называемой генератором тактовых импульсов. На выполнение процессором каждой операции отводится определенное количество тактов. Тактовая частота указывает, сколько элементарных операций выполняет микропроцессор за одну секунду. Тактовая частота измеряется в МГц;
разрядность процессора — это максимальное количество разрядов двоичного числа, над которым одновременно может выполняться машинная операция. Чем больше разрядность процессора, тем больше информации он может обрабатывать в единицу времени и тем больше, при прочих равных условиях, производительность компьютера;
Системы на основе микропроцессоров строят примерно следующим образом: рис. 1.
Рисунок 1. Система, основанная на микропроцессоре
Как видно на рис.1, микропроцессор в этой системе имеет множество вспомогательных устройств, таких как постоянное запоминающее устройство, оперативная память, последовательный интерфейс, таймер, порты ввода/вывода и т.д. Все эти устройства обмениваются командами и данными с микропроцессором через системную шину. Все вспомогательные устройства в микропроцессорной системе являются внешними. Системная шина, в свою очередь, состоит из адресной шины, шины данных и шины управления [1].
- Структурная схема микропроцессора
Структурная схема микропроцессора (МП) рис.2, включает в себя три основных узла: арифметико-логическое устройство (АЛУ) , устройство управления (УУ) и узел регистров. Для осуществления связи между этими узлами используется внутренняя шина данных. Она состоит из восьми (для восьми разрядных МП) линий, по которым передаются 8-разрядеые слова (байты) и командная информация. Передача слов по внутренней шине данных между узлами МП осуществляется в обоих направлениях, но в разные непересекающиеся временные интервалы.
Рисунок 2 Структурная схема микропроцессора
- Понятие микроконтроллера
Микроконтроллер – это микросхема, которая представляет собой мини-компьютер, предназначенный для выполнения различных функций. Данная микросхема работает в соответствии с заложенной в нее программой. Микроконтроллер может в себе содержать различное количество так называемых периферийных модулей, которые определяю его возможности. К периферии микроконтроллера относятся, например: АЦП (аналого-цифровой преобразователь), различные таймеры, аналоговый компаратор, UART (по простому говоря COM-порт), USB, CANи т.д. Как правило, любой микроконтроллер содержит следующие основные узлы:
- Арифметико-логическое устройство (АЛУ);
- Оперативная память (ОЗУ);
- Постоянная память (ПЗУ);
- Генератор тактовой частоты;
- Порты ввода/вывода;
- Память программ;
- Аналоговый компаратор;
- SCI интерфейс;
- Аналого-цифровой преобразователь (АЦП)
- Таймеры.
Ниже представлена блок-схема микроконтроллера рис.3. Все опорные устройства, такие как постоянное запоминающее устройство, оперативная память, таймер, последовательный интерфейс, порты ввода/вывода являются встроенными. Поэтому не возникает необходимости создавать интерфейсы с этими вспомогательными устройствами, и это экономит много времени для разработчика системы.
Микроконтроллер не что иное, как микропроцессорная система со всеми опорными устройствами, интегрированными в одном чипе. Ядро микроконтроллера (центральный процессор), как правило строится на основе RISC-архитектуры.
Программа, записанная в память микроконтроллера может быть защищена от возможности ее последующего чтения/записи, что обеспечивает защиту от ее несанкционированного использования. [п.1]
Рисунок 3. Блок-схема микроконтроллера
- Структурная схема микроконтроллера
Микроконтроллер характеризуется большим числом параметров, поскольку он одновременно является сложным программно-управляемым устройством и электронным прибором (микросхемой). Приставка "микро" в названии микроконтроллера означает, что выполняется он по микроэлектронной технологии.
В ходе работы микроконтроллер считывает команды из памяти или порта ввода и исполняет их. Что означает каждая команда, определяется системой команд микроконтроллера. Система команд заложена в архитектуре микроконтроллера и выполнение кода команды выражается в проведении внутренними элементами микросхемы определенных микроопераций.
Микроконтроллер может в себе содержать различное количество так называемых периферийных модулей, которые определяю его возможности, а также стоимость. К периферии микроконтроллера относятся, например: АЦП (аналого-цифровой преобразователь), различные таймеры, аналоговый компаратор, UART (по простому говоря COM-порт), USB, CANи т.д. Но, как правило, любой микроконтроллер содержит следующие основные узлы:
- Арифметико-логическое устройство (АЛУ или ALU);
- Оперативная память (ОЗУ);
- Постоянная память (ПЗУ);
- Генератор тактовой частоты;
- Порты ввода/вывода;
- Таймеры;
Структурная схема показана на рис.4. [п.2.]
Рисунок 4. Структурная схема микроконтроллера
- Отличие микроконтроллера от микропроцессора
Вспомогательные устройства в микропроцессорной системе являются внешними, а в микроконтроллерной — внутренними. В микроконтроллерах обеспечивается защита программного кода, в то время как в микропроцессорной системе не предлагается системы защиты. То есть, в микроконтроллерах можно «заблокировать» внутреннюю память программ для предотвращения ее считывания с помощью внешней схемы. Поскольку в микропроцессорной системе требуется внешнее взаимодействие с вспомогательными устройствами, то время на создание схемы будет затрачено больше, размер устройства будет больше, а также возрастет энергопотребление по сравнению с микроконтроллерной системой.
2. Классификация и структура микроконтроллеров.
В настоящее время выпускается целый ряд типов МК. Эти приборы можно условно разделить на три основных класса:
- 8-разрядные
МК для встраиваемых
- 16- и 32-разрядные МК;
- цифровые сигнальные процессоры (DSP).
Наиболее распространенным представителем семейства МК являются 8-разрядные приборы, широко используемые в промышленности, бытовой и компьютерной технике, выпускаемые известными фирмами - Motorola, Microchip, Intel, Zilog, Atmel и многими другими.
Современные 8-разрядные МК имеют отличительные признаки:
- модульная организация, при которой на базе одного процессорного ядра (центрального процессора) проектируется ряд (линейка) МК, различающихся объемом и типом памяти программ, объемом памяти данных, набором периферийных модулей, частотой синхронизации;
- использование
закрытой архитектуры МК, характеризующейся
отсутствием линий магистралей
адреса и данных на выводах
корпуса; МК представляет собой
законченную систему обработки
данных, наращивание возможностей
которой с использованием
- использование
типовых функциональных
-расширение
числа режимов работы
При модульном принципе построения все МК одного семейства содержат процессорное ядро, одинаковое для всех МК данного семейства, и изменяемый функциональный блок, который отличает МК разных моделей. Структура модульного МК приведена на рис. 5.
Процессорное ядро включает в себя:
- центральный процессор;
- внутреннюю контроллерную магистраль (ВКМ) в составе шин адреса, данных и управления;
- схему синхронизации МК;
- схему
управления режимами работы МК,
включая поддержку режимов
Рисунок 5. Структура модульного микроконтроллера
Изменяемый функциональный блок включает модули памяти различного типа и объема, порты ввода/вывода, модули тактовых генераторов (Г), таймеры. В простых МК модуль обработки прерываний входит в состав процессорного ядра. В более сложных МК он представляет собой отдельный модуль. В состав изменяемого функционального блока могут входить дополнительные модули: компараторы напряжения, аналого-цифровые преобразователи (АЦП) и другие.
Структура процессорного ядра микроконтроллера.
Основными характеристиками определяющими производительность процессорного ядра МК являются:
- набор регистров для хранения промежуточных данных;
- система команд процессора;
- способы адресации операндов в пространстве памяти;
- организация процессов выборки и исполнения команды.
С точки зрения системы команд и способов адресации операндов процессорное ядро современных 8-разрядных МК реализует один из двух принципов построения процессоров:
- процессоры с CISC-архитектурой
реализующие так называемую
- процессоры с RISC-архитектурой
реализующие сокращенную
CISC-процессоры выполняют
В применении к 8-разрядным МК процессор с CISC-архитектурой может иметь однобайтовый двухбайтовый и трехбайтовый (редко четырехбайтовый) формат команд. Время выполнения команды может составлять от 1 до 12 циклов. К МК с CISC-архитектурой относятся МК фирмы Intel с ядром MCS-51 которые поддерживаются в настоящее время целым рядом производителей МК семейств НС05 НС08 и НС11 фирмы Motorola и ряд других.
В процессорах с RISC-архитектурой набор исполняемых команд сокращен до минимума. Для реализации более сложных операций приходится комбинировать команды. При этом все команды имеют формат фиксированной длины (например 12 14 или 16 бит) выборка команды из памяти и ее исполнение осуществляется за один цикл (такт) синхронизации.
Система команд RISC-процессора предполагает возможность равноправного использования всех регистров процессора. Это обеспечивает дополнительную гибкость при выполнении ряда операций. К микроконтроллерам с RISC-процессором относятся микроконтроллеры AVR фирмы Atmel МК PIC16 и PIC17 фирмы Microchip и другие.
На первый взгляд МК с RISC-процессором должны иметь более высокую производительность по сравнению с CISC МК при одной и той же тактовой частоте внутренней магистрали. Однако на практике вопрос о производительности более сложен и неоднозначен.
С точки зрения организации процессов выборки и исполнения команды в современных 8-разрядных МК применяется одна из двух уже упоминавшихся архитектур МПС: фон-неймановская (принстонская) или гарвардская.
Основное преимущество архитектуры Фон-Неймана – упрощение устройства МПС так как реализуется обращение только к одной общей памяти. Кроме того использование единой области памяти позволяло оперативно перераспределять ресурсы между областями программ и данных что существенно повышало гибкость МПС с точки зрения разработчика программного обеспечения. Размещение стека в общей памяти облегчало доступ к его содержимому. Неслучайно поэтому фон-неймановская архитектура стала основной архитектурой универсальных компьютеров включая персональные компьютеры. [п. 3.]
3. Состав и зазначение семейства PIC контроллеров
- Общие сведения.
РIC- контроллеры (Peripheral Interface Controller – контроллеры периферийных интерфейсов) выпускаются фирмой MicroChip и являются типичными представителями RISC- процессоров. Система команд включает 33…35 команд, каждая команда занимает в памяти одно слово. Разрядность ПЗУ – от 12 до 16 (MicroChip анонсирует это значение как разрядность микроконтроллера). Время выполнения каждой команды (кроме команд разветвления) – один машинный цикл, занимающий 4 такта. Т.е. при частоте генератора 4 МГц время выполнения одной команды 1 мкс. Стек реализован аппаратно и имеет глубину 2, 8 или 16 ячеек. Ряд PIC- контроллеров содержит встроенные АЦП, иногда ЦАП или компаратор. Контроллеры имеют от одного до трех таймеров, сторожевой таймер, внутренний тактовый генератор, способный работать в различных режимах. Сторожевой таймер имеет независимый встроенный RC- генератор; номинальная выдержка сторожевого таймера (без предделителя 1/128) составляет 18 мс, с предделителем – около 2,3 с. Поддерживается режим низкого энергопотребления – SLEEP.
Микроконтроллеры PIC построены по гарвардской архитектуре с раздельными шинами и областями памяти и программ. Это увеличивает скорость обмена по сравнению с принстонской архитектурой, где команды и данные передаются по одной и той же шине. Разделение шин команд и данных позволяет увеличить разрядность команд по сравнению с разрядностью данных. Это обеспечивает простую, но эффективную систему однословных команд, с возможностью перекрытия по времени выборок команд и циклов выполнения (см. схемы работы микроконтроллера и выполнения микрокоманды).
Микроконтроллер использует прямую и косвенную адресацию всех регистров и ячеек памяти. Все специальные регистры также адресуются как память данных. Симметричная система команд позволяет выполнять любую операцию с любым регистром или ячейкой памяти, используя любой способ адресации.
Каждая команда представляет собой 14- разрядное слово. Система команд образована группами:
- Команды работы с байтами – арифметические, логические, пересылки
- Команды работы с битами
– сброс/установка бита в
- Команды работы с константами
- Команды передачи управления
Для выполнения всех команд АЛУ использует рабочий регистр W (Work), который не может быть прямо адресован.
Дополнительно PIC- контроллеры могут содержать АЦП, модуль ШИМ, модуль синхронного последовательного порта с интерфейсами SPI, I2C, USB. Микроконтроллер PIC поддерживает внутрисистемное программирование. PIC- контроллеры старших семейств имеют встроенный аппаратный умножитель, в них предусмотрена возможность выполнять программу из внешнего ПЗУ.
С точки зрения пользователя, необходимыми компонентами
микроконтроллера являются:
- центральный процессор ;
- память данных и память программ;
- порты ввода/вывода
- схема сброса
Можно также назвать компоненты, от которых отказались в первых микроконтроллерах PIC:
- схема прерываний;
- аппаратные модули, работающие без участия центрального процессора
Архитектура и принцип функционирования
Рисунок 1. Структурная схема микроконтроллера PIC
Архитектура и принцип функционирования
Архитектура:
- Память данных и память программ функционирования. Особенностью микроконтроллеров PIC является то, что память программ и память данных разделены (Гарвадская архитектура). Эта архитектура – основа большинство других особенностей принципа функционирования.
Присутствует шина данных, которая во всех PIC микроконтроллерах имеет разрядность 8 бит и разделена с шиной адреса, которая соединяет центральный процессор с памятью программ. В результате процессор в состоянии одновременно выполнять доступ к данным и к словам команд.
- Каждая команда имеет разрядность слова (за исключением PIC18). Гарвадская архитектура допускает, чтобы разрядность ячеек и памяти программ не зависела от разрядности ячеек в памяти данных. Вследствие этого возможно выбрать ячейки памяти программ такого размера, чтобы для каждой команды требовалось только одно обращение к шине адреса. В одном слове команды содержится совокупная информация о коде команды и аргументах.
Для этого необходим хорошо продуманный, сокращенный набор команд. В результате микроконтроллеры PIC становятся очень быстродействующими и простыми в обслуживании, хотя существуют также ограничения и недостатки.
- Конвейер команд. Гарвадская архитектура, наряду с применением команд в одно слово, позволяет воспользоваться особым “трюком” под названием “конвейеризация”. Одновременно с выполнением команды центральный процессор выбирает из памяти программ следующую команду. Этим обработка ускоряется почти в два раза при той же тактовой частоте.
Только в том случае, когда обрабатываемая в данный момент команда является командой перехода, подготовленная команда отбрасывается и выбирается команда по новому адреса перехода. Таким образом, длительность команд перехода больше на один командный цикл (для команд условного перехода – только если переход выполняется).
Разрядность команд: 12, 14 и 16 бит. Разрядность памяти программ в первом поколении микроконтроллеров PIC составляет 12 бит. Эти устройства, называемые компанией Microchip “базовой серией” (Base-line), - быстрые, хотя, с современной точки зрения, довоьно “спартанские”. Впрочем они с успехом используются и по сей день
В последнее время на рынке появились новые интересные представители базовой серии. Само собой разумеется, они поддерживают технологию Flash (например, крошечные PIC10F2xx с шестью или больше PIC16F59 с 40 выводами).
Среднее подсемейство (Mid-range) с разрядностью памяти программ 14 бит предоставляют уже заметно больше комфорта. Удлинение слова команды используется преимущественно в пользу расширения диапазона адресов, поэтому сам набор команд в сравнении с базовой серией микроконтроллеров PIC не изменился. Большой объем адресуемой памяти данных – основа для модулей аппаратного обеспечения среднего подсемейства PIC.
Наиболее современное старшее подсемейство (Enhanced) имеет 16-разрядные слова команд, которые используются не только для дальнейшего расширения адресного пространства, но также и для увеличения набора команд. В системе команд этого подсемейства PIC присутствует также несколько команд длиной в два слова, однако, благодаря ухищренной кодировке, их обработка, по сути, не меняется.
Структура команды
Каждая команда состоит из двух компонентов: кода операции и аргументов. Код операции определяет, какую операцию необходимо выполнять. Аргументы могут быть константами, адресами или прочими параметрами. Оба компонента заключены в одном слове команды, разряды которого используются оптимально, поскольку отсутствует выделение строго определенного количества разрядов под код операции и аргумента. Так, в некоторых командах аргументах очень длинные, в то время как в других командах их вообще нет. В некоторых случаях даже тяжело сказать, какие разряды относятся к коду операции, а какие – к аргументу.