Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЭВМ II семестр

.pdf
Скачиваний:
22
Добавлен:
08.05.2015
Размер:
972.22 Кб
Скачать

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

Маскирование прерывания используется в вычислительных машинах с мощными процессорами. Маска прерывания представляет двоичный код, разряды которого поставлены в соответствие запросам или классам прерываний (рис. 28).

ЗП1

ЗП2

ЗПk

 

 

1

2

k

РгЗП

 

&

 

 

Схема

ОСП

 

 

выделения

 

 

 

 

&

 

незамаски-

 

 

 

рованных

 

 

 

&

запросов

 

 

 

макс. при-

Код приоритетного

 

 

 

оритета

 

 

 

запроса

 

 

 

 

1

2

k

РгМ

 

Код маски

ЗП запрос на прерывание;

РгЗП регистр запросов прерываний;

РгМ регистр маски; ОСП общий сигнал прерывания

Рис. 28. Схема реализации управления приоритетами с помощью маски прерывания

Маска загружается командой программы в регистр маски контроллера. Состояние 1 в данном разряде маски разрешает, а 0 запрещает (маскирует) прерывание текущей программы соответствующим запросом. Таким образом, программа, меняя маску, может устанавливать произвольные приоритетные соотношения между прерывающими программами без перекоммутаций линии запроса прерываний. Каждая прерывающая программа может устанавливать свою маску. При формировании маски «1» устанавливается в разряды, соответствующие запросам (прерывающей программе) с более высоким, чем у данной программы, приоритетом. Элементы И выделяют незамаскированные запросы прерываний, из которых специальная схема, аналогичная дейзи-цепочке, выделяет наиболее приоритетный и формирует код его номера.

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

41

Микропроцессоры и микроконтроллеры

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

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

Микроконтроллер (MCU) – микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает в себе функции процессора и периферийных устройств, может содержать ОЗУ и ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи. Использование одной микросхемы, вместо целого набора, как в случае обычных микропроцессоров, применяемых в персональных компьютерах, значительно снижает размеры, энергопотребление и стоимость устройств, построенных на базе микроконтроллеров.

Идея размещения на одном кристалле микропроцессора и периферийных устройств принадлежит инженерам М. Кочрену и Г. Буну, сотрудникам Texas Instruments. Первым микроконтроллером был 4-х разрядный TMS1000 от Texas Instruments, который содержал ОЗУ (32 байта), ПЗУ (1 кбайт), часы и поддержку ввода-вывода. Выпущенный в 1972 году, он имел новую по тем временам возможность – добавление новых инструкций.

В1976 году (через 5 лет после создания первого микропроцессора) на свет появился первый микроконтроллер фирмы Intel, получивший имя 8048.

Помимо центрального процессора, на кристалле находились 1 килобайт памяти программ, 64 байта памяти данных, два восьмибитных таймера, генератор часов и 27 линий портов ввода-вывода. Микроконтроллеры семейства 8048 использовались в игровых консольных приставках Magnavox Odyssey, в клавиатурах первых IBM PC и в ряде других устройств.

Следующий микроконтроллер Intel 8051, выпущенный в 1980 году, стал поистине классическим образцом устройств данного класса. Этот 8-битный чип положил начало целому семейству микроконтроллеров, которые господствовали на рынке вплоть до недавнего времени.

Большинство фирм производителей микроконтроллеров выпускают устройства, основанные на этой архитектуре. Среди них Philips, Microchip, Atmel, Dallas, OKI, Siemens и другие.

Микропроцессорная система (МПС) представляет собой функционально законченное изделие, состоящее из одного или нескольких устройств, главным образом микропроцессорных: микропроцессора и/или микроконтроллера.

Микропроцессорное устройство (МПУ) представляет собой функционально

иконструктивно законченное изделие, в состав которого входит микропроцессор или микроконтроллер; оно предназначено для выполнения определенного набора

42

функций: получение, обработка, передача, преобразование информации и управление.

Основные преимущества микропроцессорных систем по сравнению с цифровыми системами на «жесткой логике».

Многофункциональность: большее количество функций может быть реализовано на одной элементной базе.

Гибкость: возможность исправления и модификации программы микропроцессора для реализации различных режимов работы системы.

Компактность: миниатюрные габариты микросхем и уменьшения их количества по сравнению с реализацией на «жесткой логике» позволяют уменьшить габариты устройств.

Повышение помехоустойчивости: меньшее количество соединительных проводников способствует повышению надежности устройств.

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

Защита информации: возможность защитить программу микропроцессора от

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

два этапа:

схемотехническая реализация устройства;

программирование микропроцессора или микроконтроллера.

По функциональному признаку выделяются два класса: микропроцессоры общего назначения и специализированные микропроцессоры. Среди специализированных микропроцессоров наиболее широкое распространение получили микроконтроллеры, предназначенные для выполнения функций управления различными объектами, и цифровые сигнальные процессоры (DSP – Digital Signal Processor), которые ориентированы на реализацию процедур, обеспечивающих необходимое преобразование аналоговых сигналов, представленных в цифровой форме (рис. 29).

 

 

Микропроцессоры

 

 

 

 

 

 

 

 

 

 

 

Микропроцессоры

 

 

Специализированные

общего назначения

 

 

микропроцессоры

 

 

 

 

 

 

 

 

 

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

 

 

Цифровые

 

 

 

 

 

 

 

процессоры сигналов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8-разрядные

 

16-разрядные

 

32-разрядные

 

С фиксированной

 

 

С плавающей точкой

 

 

 

 

 

 

 

точкой (16, 24 разряда)

 

 

(32 разряда)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 29. Классификация микропроцессоров

43

Микропроцессоры общего назначения предназначены для решения широкого круга задач обработки разнообразной информации. Их основной областью использования являются персональные компьютеры, рабочие станции, серверы и другие цифровые системы массового применения. Расширение области применения таких микропроцессоров достигается, главным образом, путем повышения производительности, благодаря чему увеличивается круг задач, который можно решать с их использованием. Обычно это 32-, 64или 128разрядные микропроцессоры, которые изготавливаются по самой современной промышленной технологии, обеспечивающей максимальную частоту функционирования.

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

Характерной особенностью структуры микроконтроллеров (однокристальных микро-ЭВМ) является размещение на одном кристалле с центральным процессором внутренней памяти и большого набора периферийных устройств.

Неполный список периферии, которая может присутствовать в микроконтроллерах, включает в себя:

порты ввода-вывода;

различные интерфейсы ввода-вывода, такие как USART, I²C, SPI, CAN, USB, ETHERNET;

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

аналоговые и цифровые компараторы;

широтно-импульсные модуляторы;

таймеры-счетчики;

генератор тактовой частоты;

контроллеры дисплеев и клавиатур;

массивы встроенной флэш-памяти.

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

44

8-разрядные микроконтроллеры имеют относительно низкую производительность, которая вполне достаточна для решения несложных задач управления различными объектами. Это простые и дешевые микроконтроллеры, ориентированные на использование в относительно несложных устройствах массового выпуска. Основными областями их применения являются бытовая и измерительная техника, промышленная автоматика, автомобильная электроника, теле-, видео- и аудиоаппаратура, средства связи. Для этих микроконтроллеров характерна реализация Гарвардской архитектуры, где используется отдельная память для хранения программ и данных. Для хранения программ в различных типах микроконтроллеров применяется либо масочно-программируемое ПЗУ (ROM), либо однократно-программируемое ПЗУ (PROM), либо электрически перепрограммируемое ПЗУ (EPROM, EEPROM или Flash). Внутренняя память программ обычно имеет объем от нескольких единиц до десятков Кбайт. Для хранения данных используется регистровый блок, организованный в виде нескольких регистровых банков, или внутреннее ОЗУ. Объем внутренней памяти данных составляет от нескольких десятков байт до нескольких Кбайт. Ряд микроконтроллеров этой группы позволяет, в случае необходимости, дополнительно подключать внешнюю память команд и данных. Микроконтроллеры этой группы обычно выполняют относительно небольшой набор команд (30-100), использующих наиболее простые способы адресации. В ряде последних моделей этих микроконтроллеров реализованы принципы RISCархитектуры, что позволяет существенно повысить их производительность. В результате такие микроконтроллеры обеспечивают выполнение большинства команд за один такт машинного времени.

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

32-разрядные микроконтроллеры содержат высокопроизводительное ядро, соответствующее по своим возможностям младшим моделям микропроцессоров общего назначения. В ряде случаев ядро таких микроконтроллеров аналогично CISCили RISC-процессорам, которые выпускаются в качестве микропроцессоров общего назначения. Например, в 32-разрядных микроконтроллерах компании Intel используется ядро микропроцессора i386, в микроконтроллерах компании Motorola широко применяется ядро микропроцессора 68020. Введение таких ядер в состав микроконтроллеров позволяет использовать в соответствующих системах управления огромный объем прикладного и системного программного обеспечения, созданный ранее

45

для соответствующих персональных компьютеров. Кроме 32-разрядного процессора на кристалле микроконтроллера размещается внутренняя память команд емкостью до десятков или сотен Кбайт, память данных емкостью до нескольких Кбайт, а также сложно-функциональные периферийные устройства – процессор таймера, коммуникационный процессор, модуль последовательного обмена и ряд других. Микроконтроллеры работают с внешней памятью объемом до 16 Мбайт и выше. Они находят широкое применение в системах управления сложными объектами промышленной автоматики (двигатели, робототехнические устройства, средства комплексной автоматизации производства), в контрольноизмерительной аппаратуре и телекоммуникационном оборудовании.

Цифровые сигнальные процессоры (ЦСП, DSP) представляют класс специализированных микропроцессоров, ориентированных на цифровую обработку входных аналоговых сигналов. Специфической особенностью алгоритмов обработки аналоговых сигналов является необходимость последовательного выполнения ряда команд умножения-сложения с накоплением промежуточного результата в регистре-аккумуляторе. Поэтому архитектура ЦПС ориентирована на реализацию быстрого выполнения операций такого рода. Набор команд этих процессоров содержит специальные команды MAC (Multiplication with Accumlation), реализующие эти операции. Значение аналогового сигнала может быть представлено в виде числа с фиксированной или с «плавающей» точкой. В соответствии с этим ЦСП делятся на процессоры, обрабатывающие числа с фиксированной или плавающей точкой. Более простые и дешевые ЦСП с фиксированной точкой обычно обрабатывают 16-разрядные операнды, представленные в виде правильной дроби. Однако ограниченная разрядность в ряде случаев не позволяет обеспечить необходимую точность преобразования. Наиболее высокая точность обработки обеспечивается в случае представления данных в формате с «плавающей» точкой. В ЦСП, обрабатывающих данные с «плавающей» точкой, обычно используется 32-разрядный формат их представления. Для повышения производительности при выполнении специфических операций обработки сигналов в большинстве ЦПС реализуется Гарвардская архитектура с использованием нескольких шин для передачи адресов, команд и данных. В ряде ЦПС нашли применение также совмещение в одной команде нескольких операций, обеспечивающих обработку имеющихся данных и одновременную загрузку в исполнительный конвейер новых данных для последующей обработки.

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

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

46

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

использование закрытой архитектуры, которая характеризуется отсутствием линий магистралей адреса и данных на выводах корпуса микроконтроллера

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

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

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

микроконтроллера.

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

Рис. 30. Модульная организация микроконтроллера

Основным операционным узлом микроконтроллера является центральный процессор, осуществляющий выполнение команд программы.

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

Схема управления согласует работу центрального процессора и других функциональных блоков.

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

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

47

электрически перепрограммируемым, чаще всего организовано на основе FLASHпамяти.

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

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

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

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

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

48

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

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

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

Все программное обеспечение, требуемое для работы с микроконтроллерами можно разделить на:

компиляторы и ассемблеры – переводят программу, написанную на языке высокого или низкого уровня в файл прошивки с расширением .hex;

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

программаторы – позволяют загрузить (прошить) файл .hex в

микроконтроллер.

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

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

Отладчики можно разделить на симуляторы и эмуляторы.

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

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

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

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

49

Основные критерии выбора микроконтроллера представлены ниже в порядке значимости.

Пригодность для прикладной системы. Может ли она быть сделана на однокристальном микроконтроллере или ее можно реализовать на основе какой-либо специализированной микросхемы.

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

Имеет ли микроконтроллер все требуемые периферийные устройства, такие как аналого-цифровой, цифро-аналоговый преобразователи, интерфейсы связи

ит.д.

Имеет ли микроконтроллер другие периферийные устройства, которые не потребуются в системе (это зачастую увеличивает стоимость микроконтроллера).

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

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

Доступность:

- существует ли устройство в достаточных количествах; - производится ли оно в настоящее время и какие перспективы его

производства; - стоимость устройства;

- средства загрузки программ в микроконтроллер (программаторы), их доступность и стоимость.

Информационная поддержка:

-примеры применения (Application Notes);

-сообщения о разночтениях и несоответствиях устройств заявленной документации (Errata);

-средства разработки и отладки (компиляторы, ассемблеры, симуляторы, эмуляторы);

-информационная поддержка разработчика и поставщиков.

Надежность фирмы производителя.

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

50

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]