close

Вход

Забыли?

вход по аккаунту

?

345.Основы микропроцессорной техники учебное пособие

код для вставкиСкачать
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
БРЯНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Л. А. Потапов
ОСНОВЫ МИКРОПРОЦЕССОРНОЙ ТЕХНИКИ
Утверждено редакционно-издательским советом в качестве
учебного пособия
Брянск
ИЗДАТЕЛЬСТВО БГТУ
2004
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
УДК 621.325
Потапов Л.А.Основы микропроцессорной техники: Учеб. пособие. – Брянск: БГТУ, 2004. - 112 с.
ISBN 5-898 38-053-1
Рассматриваются общие схемы построения микропроцессорных
систем, а также подсистемы и блоки, входящие в эти системы. Значительное внимание уделено устройствам, разработанным в последнее
время, в том числе однокристальным контроллерам, чаще всего используемым при автоматизации современной техники.
Пособие может быть использовано в полном объеме студентами
электротехнических специальностей и в сокращенном объеме (за исключением текста, набранного мелким шрифтом) студентами неэлектротехнических специальностей.
Табл. 12. Ил. 16. Библиогр. – 27 назв.
Научный редактор Власов А. И.
Рецензенты: кафедра энергетики Брянской государственной
инженерно - технологической академии;
доц., к.т.н. Н.И. Ушев
Редактор издательства Л.Н. Мажугина
Компьютерный набор М. М. Упатова
Темплан 2004г.,п.
____________________________________________________________
Подписано в печать
Формат 60×84 1/16. Бумага офсетная.
Офсетная печать. Усл. печ. л. 6,51. Уч.- изд. л. 6,51. Тираж 135 экз. Заказ
Издательство Брянского государственного технического университета
241035, Брянск, бульвар им. 50–летия Октября, 7, тел. 55–90–49
Лаборатория оперативной полиграфии БГТУ, ул. Институтская, 16
ISBN 5-898 38-053-1
© Брянский государственный
технический университет, 2004
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
3
ПРЕДИСЛОВИЕ
В последние годы отмечено наполнение рынка товаров всевозможной автоматизированной аппаратурой самого различного назначения и различной сложности - от пластиковой платежной карточки,
холодильника, автомобиля до систем управления самолетами, ракетами, морскими судами. Это стало возможным благодаря развитию
микропроцессорной техники, созданию технологической базы для
производства новых типов процессоров. В 2001 году отмечался 30летний юбилей появления первого микропроцессора. Скромный 4разрядный кристалл i4004 фирмы Intel дал могучее потомство, роль
которого в жизни современного человечества трудно переоценить.
Все эти годы не прекращалось острое соперничество ведущих электронных фирм за лидерство в этой высокоперспективной области.
Результатом этого соперничества стала разработка новых семейств и
типов микропроцессоров, расширение их функциональных возможностей и снижение стоимости. Спектр возможных применений микропроцессоров оказался настолько широким, что построенные на их
основе различного рода микропроцессорные системы сбора и обработки информации, управления и контроля технологическими
процессами стали проникать почти во все отрасли человеческой деятельности — от научных исследований и производственной сферы
до медицины и повседневного быта. Широкое применение микропроцессоров привело к революционным изменениям в технике и жизни общества. Появились информационные технологии, мобильная телефонная связь, цифровые фотокамеры и многое другое.
Cовершенствование микропроцессоров шло параллельно с развитием микроэлектронной технологии, позволяющей размещать на
одном кристалле все большее и большее число транзисторов.
На основе более совершенных МП создавались новые быстродействующие компьютеры, системы связи, различные автоматизированные устройства, системы и многое другое. Процесс дальнейшего
развития микропроцессорной техники продолжается и в наши дни.
Издание настоящего пособия обусловлено тем, что новые государственные образовательные стандарты для целого ряда специальностей (210106 – "Промышленная электроника", 140604 – "Электропривод и автоматика промышленных установок и технологических
комплексов", 220301 – “Автоматизация технологических процессов и
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
4
производств”, 151001 – "Технология машиностроения", 190601 –
"Автомобили и автомобильное хозяйство" и др.) предусматривают в
соответствующих курсах разделы по микропроцессорной технике.
Однако имеющиеся учебники и учебные пособия не отражают современное состояние микропроцессорной техники.
Учебное пособие состоит из 5 глав.
В первой главе уточняется терминология, рассматриваются
структура и основные узлы микропроцессорных систем, персональных и встраиваемых ЭВМ.
Во второй главе дается краткая информация о видах, структуре
и особенностях работы универсальных и специализированных микропроцессоров (цифровых процессоров обработки сигналов).
В третьей главе подробно рассматриваются различные типы
однокристальных микроконтроллеров (отечественные МК-48 и МК51, а также импортные MCS-51 и MCS-96 фирмы Atmel, MC68HC05
и MC68HC11 фирмы Motorola, PIC и AVR-контроллеры). Приводятся
основные технические характеристики и системы команд некоторых
микроконтроллеров. Отдельный параграф посвящен разработке и отладке микропроцессорных устройств на основе однокристальных
микроконтроллеров.
В четвертой и пятой главах рассматриваются, соответственно,
устройства ввода/вывода и памяти, которые во многом определяют
предельные возможности микропроцессорных систем. Перспективам
совершенствования устройств памяти посвящен отдельный параграф.
В приложении приведены основные характеристики однокристальных микроконтроллеров серий MCS-51 и AVR, а также даны
системы команд микроконтроллеров серий МК-48 и МК-51
Для лучшего усвоения материала учебного пособия в конце
каждой главы приведены вопросы для самопроверки.
С целью универсальности учебное пособие сформулировано так,
что в полном объеме оно может быть использовано студентами электротехнических специальностей и в сокращенном объеме (за исключением текста, набранного мелким шрифтом) студентами неэлектротехнических специальностей.
Учебное пособие предназначено для студентов, изучающих
электронику и микропроцессорную технику, и может быть полезным
инженерно-техническим работникам, связанным с разработкой автоматизированной техники.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
5
1. МИКРОПРОЦЕССОРНАЯ ТЕХНИКА
Технические устройства, содержащие микропроцессоры или однокристальные микроконтроллеры, выполненные в виде конструктивно законченных изделий или отдельных блоков, называются
микропроцессорной техникой [2,13,27]. Эти устройства создаются
для выполнения различных задач управления, вычисления, регулирования и т. д.
В зависимости от сложности различают микропроцессорные
устройства (МПУ) и микропроцессорные системы (МПС); в зависимости от типа решаемых задач - микропроцессорные системы
контроля (МПСК), микропроцессорные электронные вычислительные машины (МЭВМ), микропроцессорные измерительные
комплексы (МИК) и т.д.
1.1. Основные узлы и системы микропроцессорной
техники
Основным узлом всех устройств микропроцессорной техники
является микропроцессор или однокристальный микроконтроллер.
Микропроцессором (МП) называется программно-управляемое
устройство в виде интегральной микросхемы, обрабатывающее
цифровую информацию и управляющее этим процессом. МП может
принимать, дешифрировать и выполнять команды, представленные в
двоичном коде.
Однокристальный микроконтроллер (ОМК) (его часто называют однокристальной микроЭВМ) помимо арифметико-логического
устройства, устройства управления и сверхоперативной памяти (регистров общего назначения), которые входят и в однокристальный микропроцессор, содержит также оперативную и постоянную память,
устройство ввода/вывода и некоторые другие устройства. Однако
адресуемая емкость памяти у однокристальной микроЭВМ существенно меньше, чем у однокристального микропроцессора, поэтому однокристальные микроЭВМ применяются в узкоспециализированных системах как однокристальные микроконтроллеры с вполне
определенными алгоритмами обработки информации.
Для построения микропроцессорной системы на базе микропроцессора используют микропроцессорный комплект — набор
совместимых интегральных микросхем, содержащий тактовый гене-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
6
ратор, таймеры, устройства прямого доступа к памяти, устройства
ввода/вывода и некоторые другие устройства.
В любой МПС можно выделить следующие основные части
(подсистемы): процессорный модуль; память; устройства ввода/вывода; подсистему прерываний; подсистему прямого доступа в
память; внешние устройства (внешние запоминающие устройства и
так называемые периферийные устройства).
Процессорный модуль кроме микропроцессора или ОМК содержит ряд вспомогательных устройств, обеспечивающих функционирование МПС. Среди них могут быть тактовый генератор, аналогоцифровой преобразователь (АЦП), цифроаналоговый преобразователь (ЦАП) и другие.
Подсистема памяти включает внутренние и внешние устройства
памяти. Внешние устройства памяти предназначены для сохранения
и ввода программ. К ним относятся накопители на магнитных и лазерных дисках, устройства с флэш-памятью и другие. Внутренние
устройства памяти выполняют обычно полупроводниковыми. По
назначению их подразделяют на оперативные запоминающие устройства (ОЗУ) и постоянные запоминающие устройства (ПЗУ). При этом
ПЗУ используются для сохранения программ и некоторых констант, а
ОЗУ для изменяющихся величин (данные, промежуточные результаты и т.п.).
Устройства ввода/вывода (УВВ) обеспечивают связь МПС с
внешними устройствами. Через них поступает информация для обработки и через них она уходит для исполнения внешними устройствами. К устройствам ввода/вывода относят иногда также подсистемы
прерываний и прямого доступа к памяти (ПДП). Подсистема прерываний организует приостановку работы микропроцессора на период
ввода некоторой внеплановой информации, а подсистема ПДП организует работу некоторых устройств напрямую с системой памяти,
минуя процессорный модуль.
Связь подсистем между собой и с внешними устройствами
обеспечивается аппаратными и программными средствами, которые
называются интерфейсом. Используется несколько видов интерфейсов: VXI, VIME, PCI, USB и другие.
Ниже более подробно рассматриваются структура и подсистемы
МПС.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
7
1.2. Общая структура МПС
Любая МПС содержит МП или ОМК, устройства памяти и систему ввода/вывода. Эти устройства могут быть связаны между собой и с внешними устройствами различными способами.
Систему сопряжения всех устройств МПС, включающую совокупность аппаратных средств (интерфейсных интегральных схем),
шин (линий связи) и так называемого протокола (алгоритмов обмена, управляющих сигналов, и т. д.) называют интерфейсом. В узком
смысле слова интерфейс—это устройства ввода/вывода, которые
управляют потоком и форматами данных между МП и внешними (периферийными) устройствами.
Группа линий (совокупность проводов), по которым передается
однотипная информация, называется шиной.
Устройство, с помощью которого микропроцессор связывается
с внешними устройствами системы, называется портом. Как правило,
порт содержит внутреннюю память.
По тому, как организовано адресное пространство памяти программ и данных, различают Принстонскую и Гарвардскую архитектуру (структуру) МПС.
Всем известный IBM PC-совместимый компьютер представляет
собой реализацию так называемой Принстонской (фон Неймановской) архитектуры (структуры) вычислительных машин. Эта архитектура была представлена Джоном фон Нейманом еще в 1945 году и
имеет следующие основные признаки: машина состоит из блока
управления, арифметико-логического устройства (АЛУ), памяти и
устройств ввода/вывода. В ней реализуется концепция хранимой программы: программы и данные хранятся в одной и той же памяти.
Если разделить память на память программ и память данных, то
получим Гарвардскую архитектуру МПС.
Принстонская архитектура - не единственный вариант построения ЭВМ, есть и другие, которые не соответствуют указанным принципам (например, потоковые машины). Однако подавляющее большинство современных компьютеров основано именно на этих принципах (фон Неймана), включая и сложные многопроцессорные комплексы, которые можно рассматривать как объединение таких машин. Конечно же, за более чем полувековую историю ЭВМ классическая архитектура прошла длинный путь развития.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
8
Прерывание – первое отличие современных архитектур от архитектур машин фон-Неймана. Работа прерывания заключается в том
что при поступлении сигнала прерывания процессор обязан прекратить выполнение текущей программы и немедленно начать обработку
процедуры прерывания.
Прямой доступ к памяти (ПДП) – второе отличие современных
архитектур от архитектур машин фон-Неймана. ПДП позволяет сократить расходы на пересылку единицы информации.
Связь между микропроцессором и другими устройствами МПС
может осуществляться по принципам радиальных связей, общей шины или комбинированным способом. В однопроцессорных МПС, особенно 8- и 16-разрядных, наибольшее распространение получил
принцип связи "Общая шина", при котором все устройства подключаются одинаковым образом (рис.1.1).
МП
Память
ВУ
ВУ
Интерфейс «Общая шина»
Рис. 1.1. Схема интерфейса «общая шина»
Все сигналы интерфейса передаются по трем шинам - данных,
адреса и управления. Многочисленные разновидности интерфейсов
"Общая шина" обеспечивают передачу сигналов по раздельным или
мультиплексированным (совмещенным) линиям (шинам). Так, интерфейс Microbus, с которым работают большинство 8-разрядных
МПС на базе МП i8080, передает адрес и данные по раздельным шинам, но некоторые управляющие сигналы передаются по шине данных. Интерфейс Q-bus, используемый в микроЭВМ фирмы DEC (отечественный аналог - микропроцессоры серии К1801), имеет мультиплексированную шину адресов и данных, по которой эта информация
передается с разделением во времени. Естественно, что при наличии
мультиплексированной шины в состав линий управления необходимо
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
9
включать специальный сигнал, идентифицирующий тип информации
на шине.
Обмен информацией по интерфейсу производится между двумя
устройствами, одно из которых является активным, а другое - пассивным. Активное устройство формирует адреса пассивных
устройств и управляющие сигналы. Активным устройством выступает, как правило, микропроцессор, а пассивным - всегда память и некоторые внешние устройства (ВУ). Однако иногда быстродействующие ВУ могут выступать в качестве задатчика (активного устройства)
на интерфейсе, управляя обменом с памятью (так называемый режим
прямого доступа в память).
Выполняемые действия в МПС определяются блоком управления и АЛУ, которые вместе являются основой МП. Микропроцессор
выбирает и исполняет команды из памяти последовательно. Адрес
очередной команды задается "счетчиком адреса" в блоке управления.
Этот принцип исполнения называется последовательной передачей
управления.
Описанная система из одной, разбитой на три секции, шины использовалась лишь в ранних ЭВМ класса IBM PC XT. Имея название
“Общая шина”, она и впрямь пронизывала весь компьютер и позволяла соединить в каждый момент времени процессор с одним из
устройств памяти либо одним из контроллеров периферийных
устройств.
В современном компьютере имеется не одна, а несколько шин.
Основных шин четыре, и обозначаются они как L-шина, S-шина, Мшина и X-шина. Линии адреса и данных у L-шины (или локальной шины) связаны непосредственно с микропроцессором. Можно ввести понятие удаленности шины от процессора, считая, что
чем больше буферов отделяют шину от процессора, тем больше
удалена от процессора. Тогда L-шина может считаться ближайшей к процессору.
Основной шиной, связывающей компьютер в единое целое, является S-шина, или системная шина, к которой, кроме того, подключаются адаптеры периферийных устройств, не входящих в состав системного ядра. Именно она выведена на восемь специальных разъемов-слотов. Эти слоты хорошо видны на системной плате компьютера, в них установлены платы периферийных адаптеров (дисплея,
флоппи-диска, винчестера, мыши и т.д.).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
10
При переходе с шины L на шину S сигналы процессора претерпевают определенную трансформацию. Максимальная нагрузочная
способность линий микропроцессора не превышает 1мА, поэтому
между линиями L - шины и S - шины должны располагаться буферные элементы, повышающие мощность выводов как минимум в сто
раз. Кроме того, шина данных микропроцессора, как мы увидим в
дальнейшем, не всегда соединяется с остальными частями ЭВМ.
При выполнении так называемого внепроцессорного обмена вообще
необходимо отключать микропроцессор от остальных схем компьютера.
Когда микропроцессор с рассмотренной шинной архитектурой
выполняет, например, команду чтения из памяти, воздействие (адрес
и сигналы управления) с локальной L шины попадает на системную
S шину и только затем на шину памяти M. После этого данные, считанные из памяти, опять-таки попадают на системную шину, а с нее на локальную. Очевидно, что каждый перенос информации через тот
или иной буферный элемент сопровождается определенной временной задержкой. И хотя время одной задержки невелико (не более 10
нс), суммарно их набирается довольно много. Это и определяло ту
довольно низкую тактовую частоту, на которой работали первые
компьютеры фирмы IBM (12 или даже 8 МГц).
Для устранения таких задержек в более поздних моделях IBM PC AT 286
основная оперативная память выделяется в особую подсистему и доступ к ней
осуществляется не через системную шину, а параллельно с доступом к системной шине. Как правило, это связано с наличием интегрированного контроллера
шины данных. Время суммарной задержки передачи данных в этом случае сокращается примерно до 20 нс, а тактовая частота повышается до 25 МГц.
Совершенствование МПС в этом направлении привело к тому, что переход от шины данных LD к шине памяти MD упростился до предела. Функцию
контроллера шины данных в этом случае выполняет обычный шинный формирователь. На первый взгляд, в нем нет необходимости и можно было бы просто
объединить шины LD и MD. Но по соображениям согласования электрических
сигналов этого нельзя делать.
Дальнейшие возможности повышения производительности МП были
связаны с поисками решений в области архитектуры МПС. Введение кэш- памяти позволило ослабить требования по времени доступа к основной оперативной памяти (кэш-память - это быстродействующая статическая память,
расположенная между микропроцессором и относительно медленной основной
памятью; объем ее колеблется от 128 кбайт до 1 Мбайт). При этом на локальной шине, кроме микропроцессора и сопроцессора, появляется контроллер
управления кэш-памятью. При объеме памяти 128 кбайт вероятность того, что
необходимая микропроцессору информация окажется в кэш-памяти, составля-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
11
ет 95-98 %. Эффективность кэш-памяти становится значительной на частотах
выше 20 МГц, так как в этом случае потери производительности из-за задержек доступа к оперативной памяти очень чувствительны.
Последующие архитектурные изменения МПС связаны с переходом от МП, имеющих 32-разрядные шины данных (i80386 и
i80486), к МП, имеющим 64-разрядные шины, а именно к микропроцессорам Pentium, Pentium Pro и Pentium 4. Наиболее наглядно
устройство МПС можно увидеть на примере современной ЭВМ.
1.3. Архитектура микроЭВМ
Архитектура типичной небольшой вычислительной системы с
интерфейсом "Общая шина" показана на рис. 1.2.
ШУ
16
16
ША
8
ШД
Ввод
Вывод
УВВ
Процессорный
модуль
ОЗУ
ПЗУ
Рис.1.2 Архитектура типовой микроЭВМ
Такая микроЭВМ [11.18,19] содержит устройство ввода/вывода
информации, процессорный модуль и запоминающие устройства
(ОЗУ и ПЗУ).
Микропроцессор координирует работу всех устройств цифровой системы с помощью шины управления (ШУ). Помимо ШУ имеется 16-разрядная адресная шина (ША), которая служит для выбора
определенной ячейки памяти, порта ввода или порта вывода. По 8разрядной информационной шине или шине данных (ШД) осуществляется двунаправленная пересылка данных к микропроцессору
и от микропроцессора.
МП может посылать информацию в память микроЭВМ или к
одному из портов вывода, а также получать информацию из памяти
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
12
или от одного из портов ввода. Постоянное запоминающее устройство в микроЭВМ содержит некоторую программу (на практике программу инициализации ЭВМ). Программы могут быть загружены в
запоминающее устройство с произвольной выборкой (ЗУПВ), а также из внешнего запоминающего устройства (ВЗУ).
Современная микроЭВМ (рис.1.3) имеет более сложную архитектуру. В ней имеются системная шина S, к которой подключены
все внутренние подсистемы и внешние периферийные устройства,
а также шина М, обеспечивающая связь процессорного модуля с
системой памяти, и шина Х, через которую подключаются подсистемы прерываний, ПДП и другие устройства.
Системное ядро вычислительной машины
Подсистема
памяти
Процессорная
подсистема
Шина памяти М
КЭШ
память
Буфер
локальной
шины
Конвертор
системной
шины
Периферийные устройства
Дисковая
Видеомонитор
подсистема
Системная шина S
Буфер
Шины X
Подсистема
телекоммуникаций
Шина Х
Подсистема
прямого доступа в
память
Подсистема
таймеров- счетчиков
Подсистема
прерываний
Подсистема
управления
клавиатурой
Подсистема
CMO S памяти
I часов РВ
Рис. 1.3. Архитектура микроЭВМ IBМ PC
МикроЭВМ могут быть выполнены в виде персонального (PC)
компьютера (карманного, переносного, настольного), а также в виде
встраиваемой конструкции (например, промышленные компьютеры
PC/104 и MicroPC )
Одним из главных требований к выбору платформы для построения
встраиваемых компьютеров в большинстве случаев является их совместимость
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
13
с компьютерами фирмы IBM. В общих чертах требования к встраиваемым
компьютерам можно сформулировать так:
- минимальные массогабаритные показатели, позволяющие встроить
компьютер в большинство объектов;
- минимальное энергопотребление, удовлетворяющее требованиям ограниченности ресурсов питания (вплоть до питания от батарей);
- устойчивость к механическим воздействиям (ударам, вибрации, для
возможности использования в движущихся или носимых объектах);
- устойчивость к климатическим воздействиям (расширенному диапазону
температур, повышенной влажности, агрессивным средам, росту грибков или
плесени);
- повышенная функциональная надежность, снижающая вероятность системных отказов или сбоев;
- длительный жизненный цикл, гарантирующий доступность устройств в
течение ряда лет.
Встроенные компьютеры отличаются от персональных:
- конструктивным исполнением – в виде крейта с пассивной кросс платой
(этажерочные и мезонинные конструкции);
- отсутствием дисковых накопителей, вместо них память на полупроводниковых элементах – масочное ПЗУ, FLASH, статическое ОЗУ с автономным
источником питания ;
- отсутствием стандартных устройств ввода-вывода информации;
- более низкой производительностью.
МикроЭВМ работает по программе, сохраняемой в устройствах памяти.
При этом микропроцессор последовательно выбирает команды из соответствующей программы и организует их выполнение
В качестве примера, иллюстрирующего работу микроЭВМ, рассмотрим
процедуру ввода/запоминания/вывода (рис.1.4), для реализации которой
нужно
выполнить
следующие
элементарные операции:
-нажать клавишу с буквой "А" на клавиатуре,
-поместить букву "А" в память микроЭВМ,
-вывести букву "А" на экран дисплея.
Предположим, что программа уже загружена в первые шесть ячеек памяти в виде следующей цепочки команд:
-ввести данные из порта ввода 1,
-запомнить данные в ячейке памяти 200,
-переслать данные в порт вывода 10
В данной программе всего три команды, хотя может показаться, что в
памяти программ записано шесть команд. Это связано с тем, что команда
обычно разбивается на части.
Первая часть команды 1 в приведенной в программе - команда ввода
данных. Во второй части команды 1 указывается, откуда нужно ввести данные (из порта 1). Первая часть команды, предписывающая конкретное действие, называется кодом операции (КОП), а вторая часть - операндом. Код
операции и операнд размещаются в отдельных ячейках памяти программ.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
14
Рис. 1.4. Диаграмма выполнения процедуры ввода/запоминания/вывода
На диаграмме выполнения процедуры ввода/вывода КОП хранится в
ячейке 100, а код операнда - в ячейке 101 (порт 1); последний указывает откуда
нужно взять информацию.
При типичной процедуре ввода/запоминания/вывода в микроЭВМ выполняются следующие действия.
1. МП выдает адрес 100 на шину адреса. По шине управления поступает
сигнал, устанавливающий память программ (конкретную микросхему) в режим
считывания.
2. Запоминающее устройство программ пересылает первую команду
"Ввести данные" по шине данных, и МП получает это закодированное сообщение. Команда помещается в регистр команд. МП декодирует (интерпретирует)
полученную команду и определяет, что для команды нужен операнд.
3. МП выдает адрес 101 на ША; ШУ используется для перевода памяти
программ в режим считывания.
4. Из памяти программ на ШД пересылается операнд "Из порта 1". Этот
операнд находится в программной памяти в ячейке 101. Код операнда (содержащий адрес порта 1) передается по ШД к МП и направляется в регистр команд. МП теперь декодирует полную команду "Ввести данные из порта 1".
5. МП, используя ША и ШУ, связывающие его с устройством ввода, от-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
15
крывает порт 1. Цифровой код буквы "А" передается в аккумулятор внутри МП
и запоминается. При обработке каждой программной команды МП действует
согласно микропроцедуре выборки-декодирования-исполнения.
6. МП обращается к ячейке 102 по ША. ШУ используется для перевода
памяти программ в режим считывания.
7. Код команды "Запомнить данные" подается на ШД и пересылается в
МП, где помещается в регистр команд.
8. МП дешифрирует эту команду и определяет, что для нее нужен операнд. МП обращается к ячейке памяти 103 и приводит в активное состояние
вход считывания микросхем памяти программ.
9. Из памяти программ на ШД пересылается код сообщения "В ячейке памяти 200". МП воспринимает этот операнд и помещает его в регистр команд.
Полная команда "Запомнить данные в ячейке памяти 200" выбрана из памяти
программ и декодирована.
10. Теперь начинается процесс выполнения команды. МП пересылает адрес 200 на ША и активизирует вход записи, относящийся к памяти данных.
11. МП направляет хранящуюся в аккумуляторе информацию в память
данных. Код буквы "А" передается по ШД и записывается в ячейку 200 этой
памяти. Выполнена вторая команда. Процесс запоминания не разрушает содержимого аккумулятора. В нем по-прежнему находится код буквы "А".
12. МП обращается к ячейке памяти 104 для выбора очередной команды и
переводит память программ в режим считывания.
13. Код команды вывода данных пересылается по ШД к МП, который помещает ее в регистр команд, дешифрирует и определяет, что нужен
операнд.
14. МП выдает адрес 105 на ША и устанавливает память программ в режим считывания.
15. Из памяти программ по ШД к МП поступает код операнда "В порт 10",
который далее помещается в регистр команд.
16. МП дешифрирует полную команду "Вывести данные в порт 10". С
помощью ША и ШУ, связывающих его с устройством вывода, МП открывает порт 10, пересылает код буквы "А" (все еще находящийся в аккумуляторе) по ШД. Буква "А" выводится через порт 10 на экран дисплея.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Дайте определения понятий "микропроцессор" (МП), "микропроцессорная система" (МПС), "микропроцессорный комплект (МПК), "микроЭВМ".
2. Каковы отличия однокристальных микропроцессоров от однокристальных микроЭВМ?
3. Дайте определение понятия "шина". Какие шины имеются в микропроцессорах?
4. Дайте определение понятия "порт".
5. Дайте определение понятия "интерфейс".
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
16
2. МИКРОПРОЦЕССОРЫ
В процессе совершенствования микропроцессоров произошла
их дифференциация по функционально-структурным особенностям
и областям применения.
2.1. Виды процессорных устройств
В настоящее время имеются следующие основные виды микропроцессоров: универсальные микропроцессоры с CISC - архитектурой; универсальные микропроцессоры с RISC - архитектурой; специализированные микропроцессоры (сигнальные, арифметические и
др.); микроконтроллеры.
Универсальные микропроцессоры с CISC – архитектурой
(Complicated Instruction Set Computer – компьютер со сложным набором команд) применяются главным образом в персональных компьютерах и серверах. Лидером в этой области является фирма Intel, которой комплектуется более 80 % выпускаемых персональных компьютеров. Микропроцессоры семейства M68000 фирмы Motorola используются в персональных компьютерах типа Macintosh, составляющих
около 10 % мирового производства. Микропроцессоры этого семейства широко используются в устройствах управления, встраиваются в
различные приборы и системы.
Универсальные микропроцессоры с RISC – архитектурой
(Reduced Instruction Set Computer – компьютер с сокращенным набором команд) применяются в основном в рабочих станциях и мощных
серверах. В этой области имеются несколько ведущих производителей. Широкое применение находят RISC-микропроцессоры семейств
SPARC фирмы Sun Microsystems и Rx000 фирмы MIPS Computer
Systems. За последние годы очень активно внедряются в различную
аппаратуру RISC-микропроцессоры семейства PowerPC – совместная
разработка фирм IBM, Motorola, Apple Computers. Среди фирм, выпускающих RISC-микропроцессоры, находятся также Intel, HewlettPackard, Digital Equipment. Необходимо отметить также транспьютеры – оригинальные RISC-микропроцессоры, разработанные фирмой
Inmos для построения мультипроцессорных систем.
В классе специализированных микропроцессоров в настоящее время наиболее широко представлены DSP (Digital Signal
Processor – процессоры цифровой обработки сигналов), основными
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
17
производителями которых являются фирмы Texas Instruments, Analog
Devices, Motorola, NEC. Кроме DSP выпускаются микропроцессоры,
специализированные для передачи информации в системах коммуникации – коммуникационные контроллеры, а также для обработки
графической информации, арифметические сопроцессоры и многие
другие.
Однокристальные микроконтроллеры
(ОМК) являются
наиболее массовыми представителями микропроцессорной техники.
Интегрируя на одном кристалле высокопроизводительный процессор,
память и набор периферийных устройств, они позволяют с минимальными затратами реализовать широкую номенклатуру систем
управления различными объектами и процессами.
Использование ОМК в системах управления и обработки информации обеспечивает исключительно высокие показатели эффективности при столь низкой стоимости, что им практически нет альтернативной элементной базы для построения качественных и дешевых систем. Во многих применениях система может состоять только
из одного однокристального микроконтроллера. Исключением является применение программируемых логических интегральных схем
(ПЛИС) в области обработки сигналов в том случае, когда требуется
параллельная обработка большого потока входных данных. Производством микроконтроллеров занимается огромное число фирм.
К сожалению, отечественная электронная промышленность,
также имевшая некоторые успехи в этой области, в настоящее время
утратила свои позиции среди производителей микропроцессоров.
При разработке современных электронных приборов российские специалисты используют в основном зарубежную элементную базу, которая стала доступной широкому кругу потребителей.
Среди микроконтроллеров, производящихся в России, следует
отметить микроконтроллеры серий 1816 и 1830, являющиеся аналогами контроллеров семейства MCS51.
Микропроцессоры характеризуются:
1) тактовой частотой, определяющей максимальное время выполнения переключения элементов в ЭВМ;
2) разрядностью, т.е. максимальным числом одновременно обрабатываемых двоичных разрядов (разрядность МП обозначается
m/n/k, где m - разрядность внутренних регистров, определяющая
принадлежность к тому или иному классу процессоров;
n - разрядность шины данных, определяющая скорость передачи ин-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
18
формации; k - разрядность шины адреса, определяющая размер адресного пространства). Так, МП i8088 характеризуется значениями m/n/k=16/8/20;
3) архитектурой (понятие архитектуры микропроцессора включает систему команд и способы адресации, возможность совмещения выполнения команд во времени, наличие дополнительных
устройств в составе микропроцессора, принципы и режимы его работы).
Выделяют понятия микроархитектуры и макроархитектуры.
Микроархитектура микропроцессора - это аппаратная организация и
логическая структура микропроцессора, регистры, управляющие схемы, арифметико-логические устройства, запоминающие устройства и
связывающие их информационные магистрали. Макроархитектура это система команд, типы обрабатываемых данных, режимы адресации и принципы работы микропроцессора.
В общем случае под архитектурой ЭВМ понимается абстрактное
представление машины в терминах основных функциональных модулей, языка ЭВМ, структуры данных.
По назначению различают универсальные и специализированные микропроцессоры. Универсальные микропроцессоры могут быть
применены для решения широкого круга разнообразных задач. При
этом их эффективная производительность слабо зависит от проблемной специфики решаемых задач. Специализация МП, т.е. его проблемная ориентация на ускоренное выполнение определенных функций позволяет резко увеличить его эффективную производительность
при решении только определенных задач.
Среди специализированных микропроцессоров можно выделить
различные математические МП, предназначенные для повышения
производительности арифметических операций за счет применения,
например, матричных методов их выполнения, МП для обработки
данных в различных областях и т. д. С помощью специализированных МП можно эффективно решать новые сложные задачи параллельной обработки данных.
Так, конволюция позволяет осуществить более сложную математическую
обработку сигналов, чем широко используемые методы корреляции. Последние
в основном сводятся к сравнению всего двух серий данных: входных, передаваемых формой сигнала, и фиксированных опорных и к определению их подобия.
Конволюция дает возможность в реальном масштабе времени находить соответствие для сигналов изменяющейся формы путем сравнения их с различными
эталонными сигналами, что, например, может позволить эффективно выделить
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
19
полезный сигнал на фоне шума. Разработанные однокристальные конвольверы
используются в устройствах опознавания образов в тех случаях, когда возможности сбора данных превосходят способности системы обрабатывать эти данные.
По виду обрабатываемых входных сигналов различают цифровые и аналоговые микропроцессоры. Микропроцессоры могут иметь
встроенные АЦП и ЦАП, тогда входные аналоговые сигналы передаются в МП через АЦП в цифровой форме, там обрабатываются по соответствующей программе и после преобразования с помощью ЦАП
в аналоговую форму поступают на выход. С архитектурной точки
зрения такие микропроцессоры представляют собой аналоговые
функциональные преобразователи сигналов и называются аналоговыми микропроцессорами. Они выполняют функции любой аналоговой схемы (например, производят генерацию колебаний, модуляцию, смещение, фильтрацию, кодирование и декодирование сигналов
в реальном масштабе времени и т.д., заменяя сложные схемы, состоящие из операционных усилителей, катушек индуктивности, конденсаторов и т.д.). При этом применение аналогового микропроцессора
позволяет значительно повысить точность обработки аналоговых
сигналов, а также расширить функциональные возможности самого
МП путем программной "настройки" цифровой части микропроцессора на различные алгоритмы обработки сигналов. Обычно в составе
однокристальных аналоговых МП имеется несколько каналов аналого-цифрового и цифро-аналогового преобразования. В аналоговом
микропроцессоре большое значение уделяется увеличению скорости
выполнения арифметических операций. Отличительная черта аналоговых микропроцессоров - способность к переработке большого объема числовых данных, т. е. к выполнению операций сложения и
умножения с большой скоростью при необходимости даже путем отказа от операций прерываний и переходов. Аналоговый сигнал, преобразованный в цифровую форму, обрабатывается в реальном масштабе времени и передается на выход обычно в аналоговой форме
через цифроаналоговый преобразователь. При этом согласно теореме
Котельникова частота квантования аналогового сигнала должна вдвое
превышать верхнюю частоту сигнала.
Сравнение цифровых микропроцессоров производится сопоставлением времени выполнения ими списков операций, аналоговых
микропроцессоров - по количеству эквивалентных звеньев аналогоцифровых рекурсивных фильтров второго порядка.
Производительность аналогового микропроцессора определяется его спо-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
20
собностью быстро выполнять операции умножения: чем быстрее
осуществляется умножение, тем больше эквивалентное количество
звеньев фильтра в аналоговом преобразователе и тем более сложный
алгоритм преобразования цифровых сигналов можно задавать в микропроцессоре. Одним из направлений дальнейшего совершенствования аналоговых микропроцессоров является повышение их универсальности и гибкости, поэтому вместе с повышением скорости обработки большого объема цифровых данных будут развиваться средства обеспечения развитых вычислительных процессов обработки
цифровой информации путем применения аппаратных блоков прерывания программ и программных переходов.
По характеру временной организации работы микропроцессоры
делят на синхронные и асинхронные. У синхронных микропроцессоров начало и конец выполнения операций задаются устройством
управления (время выполнения операций в этом случае не зависит от
вида выполняемых команд и величин операндов). Асинхронные
микропроцессоры позволяют начало выполнения каждой следующей операции определить по сигналу фактического окончания выполнения предыдущей операции. Для более эффективного использования каждого устройства микропроцессорной системы в состав
асинхронно работающих устройств вводят электронные цепи, обеспечивающие автономное функционирование устройств. Закончив работу над какой-либо операцией, устройство вырабатывает сигнал запроса, означающий его готовность к выполнению следующей операции. При этом роль естественного распределителя работ принимает
на себя память, которая в соответствии с заранее установленным
приоритетом выполняет запросы остальных устройств по обеспечению их командной информацией и данными.
По организации структуры микропроцессорных систем различают микроЭВМ одно- и многомагистральные. В одномагистральных
микроЭВМ все устройства имеют одинаковый интерфейс и подключаются к единой информационной магистрали, по которой передаются коды данных, адресов и управляющих сигналов.
В многомагистральных микроЭВМ устройства группами подключаются к своей информационной магистрали. Это позволяет осуществить одновременную передачу информационных сигналов по
нескольким (или всем) магистралям. Такая организация систем
усложняет их конструкцию, однако увеличивает производительность.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
21
По числу выполняемых программ различают одно- и многопрограммные микропроцессоры. В однопрограммных микропроцессорах выполняется только одна программа. Переход к выполнению другой программы происходит после завершения текущей программы. В
много- или мультипрограммных микропроцессорах одновременно
выполняется несколько (обычно несколько десятков) программ
2.2. Внутренняя архитектура микропроцессора
Основными внутренними компонентами МП являются [10,1216]: арифметико-логическое устройство, реализующее множество
арифметических и логических функций МП; узел синхронизации и
управления, воспринимающий и генерирующий внешние управляющие сигналы; набор регистров для временного хранения кодов
команд, данных, адресов и информации о внутреннем состоянии
МП (рис.2.1).
ШД
Буфер ШД
Внутренняя шина данных
Флажки
Аккумулятор
Регистр
команды
РОН
SP
Дешифратор
команды
АЛУ
Схема синхронизации
и управления
ГТИ
PC
Буфер ША
ШУ
ША
Рис.2.1. Внутренняя организация микропроцессора
Содержимое некоторых из внутренних регистров МП может
быть изменено программным путем, другая их часть не доступна
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
22
программисту. Общее число внутренних регистров МП разных семейств различно, как различны конкретные функции, выполняемые ими. Тем не менее для всего многообразия внутренних регистров МП характерны следующие наиболее важные их виды.
Регистр команды воспринимает код текущей команды с шины данных и осуществляет его хранение в течение всего времени ее
исполнении. Регистр команды не доступен программисту.
Для хранения данных и промежуточных результатов в МП используются программно-доступные рабочие регистры. Если все
рабочие регистры в составе МП позволяют непосредственно записывать в них результаты вычислений, выполненных АЛУ, их обычно
называют регистрами общего назначения (РОН). Если в МП имеется
всего лишь один такой специализированный регистр, его называют
аккумулятором.
Регистры для хранения адресов (указательные регистры) также
программно доступны. К указательным регистрам относятся программный счетчик (другое наименование — указатель команды), а
также регистры — указатели стека.
Программный счетчик (РС) обеспечивает хранение двоичного кода адреса ячейки памяти, где помещена команда, которую
предстоит выполнить процессору вслед за исполняемой им в данный момент командой.
Новый цикл выбора команды МП всегда начинается с того,
что на его шине адреса появляется содержимое РС, и очередная команда по этому адресу переписывается с шины данных в регистр
команд, после чего она поступает на дешифратор команды. Выходы
дешифратора подключены к узлу синхронизации и управления,
определяющему требуемое для выполнения этой команды направление передачи данных и реагирующему на внешние сигналы, поступающие по шине управления от других устройств. В процессе исполнения команды содержимое РС автоматически увеличивается.
Таким образом, в любой момент времени его содержимое представляет собой адрес очередной ячейки памяти, где может храниться либо следующая команда, либо дополнительные данные, привлекаемые
МП для исполнения данной команды.
Регистр — указатель стека SP используется для хранения
адреса последней использованной ячейки стека (области памяти, размер которой изменяется в процессе обработки). Работа стека организована по принципу "последним пришел — первым вышел". При за-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
23
писи данных в стек содержимое регистра SP автоматически уменьшается, и по этому адресу данные заносятся в память. При удалении
данных из стека они переписываются из ячейки, адрес которой хранится в SP, после чего его содержимое автоматически увеличивается.
Таким образом, этот регистр всегда следит за положением вершины
стека (наиболее удаленной от начала стека ячейки памяти).
Информация об особенностях результата последней операции,
выполненной АЛУ (информация о внутреннем состоянии МП), хранится в регистре флажков (другие его названия — регистр состояния, регистр кода условия). В микропроцессорной технике так обычно называют простой набор триггеров, состояния которых зависят от
результатов операции АЛУ (строго говоря, простой набор отдельных
триггеров нельзя называть регистром, но применительно к МП это не
вызывает особых недоразумений). Каждый триггер в составе регистра состояния устанавливается (или сбрасывается) при какой-то своей особенности результата в АЛУ (например, триггер нуля Z, переполнения V, отрицательного результата N переноса С и др.). Регистры
состояния программно-доступны, причем программист может установить (или сбросить) каждый триггер в отдельности или одновременно весь регистр.
Рассмотренные основные компоненты в составе МП связаны
между собой быстродействующей внутренней шиной данных, а его
внешние шины отделены от нее буферными каскадами, повышающими нагрузочную способность внешних шин. Отметим, что разрядность МП определяется числом бит данных, обрабатываемых в
одной операции АЛУ, и всегда равна числу проводников внешней
шины данных. Объем адресуемой памяти МП зависит от проводников внешней адресной шины. Нетрудно убедиться в том, что с
помощью адресной шины из N проводников МП можно передать
2N различных двоичных адресов ячеек памяти. Всякому внешнему
устройству ввода/вывода также присваивается определенный адрес,
что позволяет МП осуществлять операции ввода/вывода подобно
обращению к обычной ячейке памяти.
Все операции в МП инициируются импульсами синхронизации
от внешнего (реже встроенного) генератора тактовых импульсов (ТГ),
стабилизированного кварцевым резонатором. По значению частоты
следования импульсов синхронизации
в первом приближении
можно судить о быстродействии МП. При прочих равных условиях
оно тем больше, чем выше частота синхронизации. Первые образцы
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
24
МП работали при частотах тактового генератора 2…4 МГц, для современных МП типичны значения частоты порядка 1…3 ГГц и выше.
2.3. Универсальные микропроцессоры
Универсальные микропроцессоры (микропроцессоры общего
применения) [21] используются чаще всего в составе микроЭВМ.
Восьмиразрядные МП (например, такие широко распространенные МП Intel 8080 и разработанные примерно в то же время МП
МС6800 фирмы "Motorola"; а также отечественный КР580ВМ80А
и более совершенные Iп1е1 8085, МС36502, Z80, МС6809 и другие)
выпускаются в виде больших интегральных схем (БИС) с 40 контактами
при двухстороннем расположении выводов. Их шина адреса содержит
16 проводников, поэтому они непосредственно могут адресоваться к
65536 ячейкам (64 кбайт). Все эти микропроцессоры при одинаковой
внутренней архитектуре различаются некоторыми конструктивными
особенностями, функциями и количеством программно-доступных
внутренних регистров и, как следствие этого, наборами используемых команд. На их основе в 90-е годы изготавливали микроЭВМ, в
последнее время их используют иногда для создания сравнительно
простых контроллеров, хотя более оправдано использовать для этих
целей ОМК.
Шестнадцатиразрядные МП обычно имеют 64-контактный корпус также с двухрядным расположением выводов. По сравнению с 8разрядными основные преимущества этих МП заключаются в расширении набора команд, более быстром их исполнении и увеличенном
объеме адресуемой памяти (обычно 1 Мбайт и более).
Общепризнанным лидером на рынке 16-разрядных микропроцессоров считается фирма " Intel ". Популярные 16-разрядные МП
(например, открывшие эру ПЭВМ МП семейства Intel 8086 / 8088 и
более мощные 80186, 80286; отечественный МП КМ1810ВМ86 и другие) представляют собой не просто усовершенствованные описанные
МП (Intel 8080 / 8085), а содержат некоторые принципиальные решения в области разработки новых конфигураций универсальных и специализированных микропроцессоров, позволяющих значительно повысить их быстродействие. Увеличение быстродействия в 16-разрядных
МП достигается путем улучшения организации процесса вычислений и
применения дополнительных аппаратных средств.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
25
Среди архитектурных особенностей 16-разрядных МП отметим
несомненную находку, связанную с применением для более быстрого
исполнения команд принципа конвейеризации. Так называют специальную организацию работы МП, при которой каждая очередная команда
заносится в регистр команд не из памяти, а выбирается из очереди команд. Для этого перед регистром команды дополнительно включается
сверхбыстродействующий блок памяти, в который предварительно из
памяти переписываются несколько очередных команд (очередь команд). Длина очереди составляет 6 байт (для МП 8086) и 4 байта (для
МП 8088). Такой подход позволяет существенно повысить скорость
выполнения программы, сокращая простои быстродействующего процессора в промежутках времени, когда производится относительно
более медленное обращение к памяти.
К дополнительным аппаратным средствам относят разработанный фирмой Intel специализированный процессор 8087 (более совершенный его вариант i80287) для ускоренного выполнения арифметических операций (с большими числами). Он подключается к шинам адреса данных, а также к некоторым
линиям шины управления и
действует как вспомогательный процессор (арифметический сопроцессор). Сопроцессор 8087 контролирует командный поток, и при обнаружении специально зарезервированного кода команды он выполняет, а основной МП игнорирует ее. Сопроцессор может с повышенной
точностью
выполнять все арифметические операции и вычислять
значения таких сложных математических функций, как логарифмические, тригонометрические и обратные тригонометрические функции;
возведение в степень; извлечение корня и др.
Сопроцессор не может работать изолированно от центрального
МП, но вместе они образуют тандем, обеспечивающий при численной обработке в 10- 50 раз более высокую производительность. Чтобы
сэкономить число внешних выводов ИС, в 16-разрядных МП часто
применяется описанное мультиплексирование шин данных и адреса.
Тридцатидвухразрядные МП имеют от 60 до нескольких сотен
контактов (МП Pentium — 296, Pentium Рго — 387 контактов), расположенных либо по всем четырем сторонам корпуса, либо в узлах прямоугольной сетки, нанесенной на его поверхность (матричное размещение выводов). Как правило, шина адреса таких МП также состоит из
32 проводников, поэтому современные 32-разрядные МП обладают
большим диапазоном адресации памяти (4 Гбайт).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
26
Об их исключительно высокой производительности можно судить, хотя бы по типичным значениям частоты тактового генератора
(сотни МГц вместо10 МГц для лучших образцов 16-разрядных МП).
При разработке 32-разрядных МП описанные тенденции по
дальнейшему совершенствованию организации вычислительного процесса получили свое дальнейшее развитие и привели к использованию в них так называемой кэш-памяти и других дополнительных
средств управления памятью.
Кэш-памятью называют сверхбыстродействующую
память
для хранения в ней наиболее часто адресуемых команд и данных.
Дело в том, что для большинства используемых программ характерна тенденция частого обращения к одним и тем же адресам памяти,
и содержимое по этим адресам (вместе с самими адресами) заносится в кэш-память, которая либо встраивается в сам МП, либо помещается между МП и основной памятью.
При выполнении программы кэш-память определяет, не совпадает ли запрашиваемый МП адрес с ее содержимым. При совпадении
(удачного "попадания")
команда считывается из быстродействующей кэш-памяти без обращения к относительно медленной основной памяти.
При достаточно высоком проценте удачных попаданий достигается заметное увеличение быстродействия всей систем Очевидно,
чем больше кэш-память, тем больше и удачных попаданий (объем
кэш-памяти современных МП может достигать сотен кбайт)
Дополнительные средства управления памятью обеспечивают
эффективное распределение областей памяти между различными программами (и их данными), а также их защиту от наложения друг на
друга. Обычно они встраиваются в сам МП или выполняются в виде
отдельных ИС.
Рассмотрим более подробно устройство и работу микропроцессора [3] на примере простейшего МП i8080. На рис. 2.1 представлена внутренняя структура МП i8080, включающего 8-разрядное АЛУ
с буферным регистром и схемой десятичной коррекции, блок регистров общего назначения, регистры указателя стека и счетчика команд , управляющий автомат, буферные схемы шин адреса и данных
и схему управления системой.
Внешний интерфейс представлен 8-разрядной двунаправленной
шиной данных D[7:0], 16-разрядной шиной адреса A[15:0] и группой
линий управления.
Назначение входных и выходных линий МП :
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
27
D[7:0] - двунаправленная шина данных служит для приема и выдачи данных, приема команды, приема вектора прерывания, выдачи дополнительной
управляющей информации (слово PSW);
DB[7:0]
Буфер данных
Внутренняя шина 8 бит
АЛУ
АЛБ
W2
W3
B
C
D
E
H
L
Рг. команд
Ф1, 2
УА
W2
A
READY
PC
Инкр/Декр
16
Управляющий
автомат
SP
Flags
RESET
Буфер адреса
HOLD
INT
RD
WR
SYNC
WAIT
INTE
HLDA
16
AB[15:0]
Рис. 2.1. Внутренняя структура МП i8080
A[15:0] - однонаправленная шина адреса служит для выдачи адреса памяти и устройств ввода/вывода;
Ф1,Ф2 - сигналы тактового генератора частотой 1…2,5 МГц;
RESET - сброс (начальная установка и запуск программы с адреса 0000);
READY - входной сигнал готовности памяти или ВУ к обмену (обеспечивает асинхронный режим обмена);
INT - запрос внешнего прерывания;
HOLD - захват шины (требование прямого доступа в память со стороны
ВУ);
WR - запись - выходной сигнал, определяющий направление передачи
информации по шине данных от процессора к памяти или ВУ;
RD - чтение - выходной сигнал, определяющий направление передачи
информации по шине данных от памяти или ВУ к процессору;
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
28
SYNC - выходной сигнал, идентифицирующий наличие на шине данных
дополнительной управляющей информации (PSW);
WAIT - выходной сигнал, отмечающий состояние ожидания или останова
МП;
INTE - выходной сигнал, подтверждающий режим внешних прерываний;
HLDA - выходной сигнал, подтверждающий режим прямого доступа в
память (подтверждение захвата).
МП работает в составе МПС, обмениваясь информацией с памятью и ВУ. В основе работы МП лежит командный цикл (КЦ)- действия по выбору из памяти и выполнению одной команды. В зависимости от типа и формата команды, способов адресации и числа операндов командный цикл может включать различное число обращений
к памяти и ВУ и, следовательно, - иметь различную длительность.
Командный цикл начинается с извлечения из памяти первого байта
команды по адресу, хранящемуся в PC. Напомним, что команды i8080
имеют длину 1, 2 или 3 байта, причем в первом байте содержится информация о длине команды. В случае 2- или 3-байтовой команды реализуются дополнительные обращения к памяти по соседним (большим) адресам.
После считывания команды начинается ее выполнение, в процессе которого может потребоваться еще одно или несколько обращений к памяти или ВУ (чтение операнда, запись результата).
Для реализации команды МП i8080 может потребоваться от одного до пяти обращений к памяти (ВУ). Хотя обращения к ЗУ/ВУ
располагаются в разных частях КЦ, выполняются они по единым
правилам, соответствующим интерфейсу МПС и реализовываются на
общем оборудовании управляющего автомата. Действия МПС по передаче в/из МП одного байта данных/команды называются машинным циклом.
Командный цикл представляет собой последовательность машинных циклов (МЦ), причем КЦ i8080 может содержать от 1 до 5
МЦ, которые принято обозначать M1, M2,..M5.
МЦ обязательно
включает действия по передаче байта информации. Кроме того, в некоторых МЦ дополнительно реализуются действия по пересылке
и/или преобразованию информации внутри МП, поэтому длительность МЦ может быть различной – из-за различного числа содержащихся в них машинных тактов (T1, T2,...).
Машинный такт образует пара сигналов тактового генератора,
поэтому длительность такта постоянна.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
29
Таким образом, просматривается иерархия процедур при работе
микропроцессора (не только i8080): командный цикл - машинный
цикл - машинный такт.
Каждому такту соответствует определенное состояние управляющего автомата. Любой МЦ i8080 обязательно содержит такты T1,
T2, T3, предназначенные для передачи байта по интерфейсу. МЦ, в
которых осуществляется передача и/или преобразование информации
в МП, содержат дополнительно один или два такта T4, T5. МП i8080
вырабатывает несколько типов МЦ, основными из которых являются
циклы ПРИЕМ и ВЫДАЧА.
МЦ микропроцессора i8080 предусматривает возможность обмена как в синхронном, так и в асинхронном режиме. Если в составе
МПС использованы только "быстрые" устройства, т.е. такие, которые
могут работать с тактовой частотой МП, то передача информации в
МЦ осуществляется в синхронном режиме. В этом случае на вход
READY МП подается константа "1" и после такта T2 начинается такт
T3. При работе с "медленными" устройствами, быстродействие которых не позволяет переключаться с частотой тактового генератора
МП, необходимо "растянуть" во времени МЦ, реализовав асинхронный принцип обмена. Для этого в начале МЦ - обмена с "медленными" устройствами на входе READY формируется уровень логического нуля. В такте T2 МП анализирует состояние READY, и если
READY = 0, то МП после T2 переходит не к T3, а к такту ожидания
Tw, который может длиться произвольное число периодов тактового
генератора. Переход к T3 осуществляется по фазе Ф1, если в предыдущей Ф2 READY установился в "1". С помощью входа READY
можно не только согласовывать работу МП с устройствами различного быстродействия, но и реализовывать пошаговый и потактовый режимы работы МП.
Таким образом, в машинном цикле выполняются следующие
действия:
 выдача адреса;
 выдача информации о начатом МЦ (PSW);
 анализ значения входных сигналов;
 ожидание сигнала READY = 1 (при необходимости);
 прием/выдача данных;
 внутренняя обработка/пересылка данных.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
30
2.4. Цифровые процессоры
Цифровые процессоры обработки сигналов (ЦПОС) (в англоязычной литературе применяется термин Digital Signal Processors и
аббревиатура DSP) используются обычно [24] как сопроцессоры (арифметические, графические, и т. д.).
Так графический сопроцессор предназначен для широкого применения в видеомониторах (дисплеях) ПЭВМ, издательских системах,
а также системах компьютерного моделирования и обработки изображений. Графические сопроцессоры оптимизированы на выполнение операций, связанных, например, с получением перемещающихся изображений и трехмерной графики. Естественно, что такие графические операции они выполняют намного быстрее основного МП.
Особенности архитектуры цифровых процессоров обработки
сигналов обусловлены спецификой программ, по которым им приходится работать:
- программы выполняются, как правило, в реальном масштабе
времени, по мере поступления входного сигнала, что придает критическую важность вопросам повышения быстродействия;
- программы содержат много логических и особенно арифметических операций и практически не содержат программ перехода;
- происходит постоянный и быстрый ввод-вывод данных, зачастую в аналоговой форме;
- программы относительно короткие и достаточно редко изменяются, зачастую остаются неизменными на протяжении всего срока эксплуатации процессора.
Из этого проистекают такие особенности архитектуры:
- в процессорах цифровой обработки сигналов очень часто используется так называемая Гарвардская архитектура с раздельными
блоками памяти для хранения программ и данных; они могут иметь
разную разрядность, к ним происходит обращение по разным командам;
- большая (иногда нестандартная) разрядность обрабатываемых
данных - 16, 24, 32, 48, 64, 128, что позволяет увеличить диапазон обрабатываемых чисел без применения формата с плавающей запятой
или обрабатывать по несколько чисел одновременно;
- блоки, предназначенные для ускорения выполнения команды
умножения - сдвиговые регистры, матричные умножители;
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
31
- память команд и данных на самом кристалле процессора;
- возможность параллельного выполнения нескольких операций одновременно, например ввода/вывода и арифметических команд;
- все команды имеют одинаковую длину и выполняются за
одинаковое время, что позволяет использовать счетчик команд для
отсчета временных интервалов.
Все эти особенности архитектуры проявляются в таких процессорах как аналого-цифровой процессор КР1813ВЕ1, процессоры серии TMC320 фирмы Texas Instruments [20], DSP фирм
Motorola и др.
Рассмотрим устройство и работу отечественного цифрового
процессора обработки сигналов КР1813ВЕ1 (он является расширенным функциональным аналогом схемы i2920 компании Intel, которая
первоначально создавалась для использования в аппаратуре голосовой связи). Цифровой процессор обработки сигналов КР1813ВЕ1
содержит законченную микропроцессорную систему со всеми обычными элементами: ОЗУ, ПЗУ, АЛУ, а также АЦП и ЦАП для ввода и
вывода аналоговых сигналов (рис. 2.3).
Кроме этого введены системы команд программного цикла с
возможностью организации последовательного цифрового ввода/вывода.
Схема
синхронизации
Мультиплексор
и входные
схемы выборки
и хранения
СК
АЦП
УФ ППЗУ 192×24 бит
ЦАР СОЗУ 40×25 бит А
В
МУ
АЛУ
ЦАП
Демультиплексор
и входные схемы
выборки и
хранения
Рис. 2.3. Структурная схема ЦПОС
Аналого-цифровой преобразователь работает по методу последовательных приближений, его разрядность - 8, за одну команду
определяется один разряд числа.
Статическое оперативное запоминающее устройство является двухпортовым, т.е. из него могут одновременно выбираться два
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
32
операнда - A и B. Разрядность чисел, хранимых в ОЗУ - 24 числовых
разряда и один знаковый.
Перепрограммируемое постоянное запоминающее
устройство с ультрафиолетовым стиранием (ППЗУ )содержит набор команд.
В цифроаналоговый регистр помещается результат аналогоцифрового преобразования и оттуда берутся данные.
Арифметико-логическое устройство выполняет операции:
сложение, вычитание, запись, исключающее ИЛИ, логическое И,
нахождение знака и абсолютной величины. Команды сложения вычитания и загрузки могут быть условными. Признак условной команды – соответствующая команда в аналоговом поле команд.
Другие условные команды - переход на начало программы и на
32 адреса вперед.
Устройство сдвига МУ обеспечивает сдвиг вправо на 13 разрядов, вправо на один разряд и сдвиг влево на один разряд.
Команды выбираются группами по четыре, аналоговые и цифровые части команды выполняются параллельно, все это увеличивает
быстродействие. Быстродействия данного процессора цифровой обработки сигнала достаточно, чтобы производить практически любые
преобразования с сигналами звукового диапазона частот (до 16 кГц).
Система команд аналого-цифрового микропроцессора является
типичной для ЦПОС и оптимизированной для решения типичных задач цифровой обработки сигналов: цифровой фильтрации, дискретного преобразования Фурье и пр. Другой ее особенностью является использование принципов архитектуры процессоров с длинным командным словом VLIW - кодирование в одной ассемблерной команде
нескольких операций, которые одновременно выполняют несколько
блоков - арифметико-логическое устройство, устройства сдвига и
аналоговая часть микропроцессора.
Более сложную структуру и большие возможности имеют цифровые
процессоры обработки сигналов фирмы Texas Instruments.
Компания Texas Instruments является лидером в производстве и разработке ЦПОС. Она выпускает несколько семейств ЦПОС, объединенных в серию
TMS320 [20], которая разделяется на два класса: процессоры для обработки
чисел с фиксированной точкой и процессоры для обработки чисел с плавающей
точкой. Первый класс представлен тремя семействами процессоров, базовыми
моделями которых являются соответственно TMS320.10,.20,.50. Второй класс
включает процессоры TMS320С30 и TMS320C80, которые поддерживают операции с плавающей точкой и представляют собой мультипроцессорную систему, выполненную на одном кристалле, а семейство TMS320C6x включает процессоры как с фиксированной, так и с плавающей точкой.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
33
Процессоры старших поколений одного семейства наследуют основные
архитектурные особенности. Они совместимы "снизу вверх" по системе команд
(чего нельзя сказать о процессорах, входящих в разные семейства).
Невозможно подробно описать все ЦПОС этого семейства, поэтому кратко приведем особенности двух серий процессоров.
Первый процессор семейства TMS320C10 является 16-разрядным процессором. Его адресное пространство составляет 4К (см. гл.5, п.5.1) 16-разрядных
слов памяти программ и 144 шестнадцатиразрядных слов памяти данных. длительность командного такта процессора составляет 160…200 нс. В основу
микропроцессора положена модифицированная Гарвардская архитектура.
Арифметические функции в процессоре реализованы аппаратно. Он имеет аппаратные умножитель MULT, устройство сдвига SHIFTER, аппаратную
поддержку автоинкремента- декремента адресных регистров данных ARO,
AR1.
С внешними устройствами процессор взаимодействует через восемь 16разрядных портов ввода/вывода. Предусмотрена возможность обработки внешнего прерывания. Другие микропроцессоры данного семейства имеют аналогичную архитектуру и отличаются длительностью командного такта, конфигурацией памяти, наличием (или отсутствием) дополнительных периферийных
устройств.
Результатом дальнейшего развития семейства цифровых процессоров
обработки сигналов компании Texas Instruments является процессор принципиально новой архитектуры TMS320C80. Процессор ориентирован на применения, связанные с высокопроизводительной цифровой обработкой сигнала в
самых широких областях науки и техники. Второе название процессора MVP
(Multimedia Video Processor) характеризует его высокую эффективность при
решении задач обработки изображений, 2- и 3-мерной графике, в системах
виртуальной реальности, компрессии и декомпрессии видео- и аудиоданных,
обработки связной информации и др.
МП TMS320C80 объединяет в одной микросхеме пять полнофункциональных процессоров, четыре из которых - улучшенные цифровые процессоры
обработки сигналов (Advanced Digital Signal Processor), архитектура которых
ориентирована на реализацию алгоритмов цифровой обработки сигналов.
Каждый ADSP позволяет выполнить за один командный такт несколько RISC подобых операций. Пятый процессор, главный Master Processor (МР), представляет собой 32-разрядный RISC-процессор с высокопроизводительным вычислителем с плавающей точкой. В дополнение к процессорному ядру на кристалле размещены:
 контролер обмена Transfer Controller (TC) - интеллектуальный контролер ПДП, поддерживающий интерфейс с DRAM и SRAM;
 видеоконтроллер Video Controller (VC);
 система контроля и отладки - порт JTAG (IEEЕ 1149.1);
 50 килобит SRAM.
Выпускается также упрощенный вариант микропроцессора TMS320C82,
который отличается меньшим объемом памяти, количеством сигнальных про-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
34
цессоров ADSP (2), отсутствием видеоконтроллера и соответственно меньшей
стоимостью. Суммарная производительность ЦПОС TMS320C80 на регистровых операциях достигает 2 млрд RISC-подобных команд в секунду. Благодаря
столь высокой производительности ЦПОС TMS320C80 может заменить при
реализации ряда приложений более 10 высокопроизводительных МП общего
назначения. Пропускная способность шины ЦПОС TMS320C80 достигает
2,4 Гбайт/с в потоке данных и 1,8 Гбайт/с в потоке инструкций.
Ниже приводятся основные технические характеристики TMS320C80:
 тактовая частота 40 или 50 МГц.
 производительность свыше 2 млрд операций в секунду;
 четыре 32-разрядных ADSP- процессора;
 32-разрядный главный RISC-процессор с вычислителем с плавающей
точкой;
 50 Кбайт SRAM на кристалле;
 64-разрядный контроллер обмена с динамическим конфигурированием
шины на обмен 64-х, 32-х, 16- и 8-разрядными словами;
 режим ПДП к 64-разрядному SRAM, DRAM;
 4 Гбайтный объем адресного пространства;
 видеоконтроллер;
 4 внешних прерывания;
 встроенные средства внутрисхемной эмуляции;
 напряжение питания 3,3 В;
 около 4 млн транзисторов на кристалле;
 0,5/0,6 КМОП-технология;
 305-контактный корпус PGA
Рассмотренные универсальные микропроцессоры и ЦПОС применяются в сложных уникальных устройствах, разработкой которых
занимаются большие коллективы специалистов. Для решения задач
автоматизации технологических процессов больший интерес представляют однокристальные микроконтроллеры.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Объясните назначение основных узлов МП: арифметико-логического
устройства и аккумулятора.
2. Объясните назначение регистров общего назначения и регистра команд.
3. Объясните назначение регистра признаков, регистра адресов, счетчика
команд, указателя стека.
4. Каковы особенности ЦПОС?
5. В чем отличие ЦПОС семейств TMS320C1х и TMS320C8х?
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
35
3. ОДНОКРИСТАЛЬНЫЕ МИКРОКОНТРОЛЛЕРЫ
Контроллер (от английского control - управлять, регулировать) это устройство, предназначенное для управления реальными объектами. Управление происходит во времени, поэтому говорят, что контроллер управляет объектом в реальном масштабе времени. Как всякое устройство управления, контроллер собирает исходную информацию, обрабатывает ее и формирует сигналы управления. Как правило, сигналы, несущие исходную информацию, и сигналы управления представляют собой аналоговые сигналы, такие как напряжение,
ток, магнитный и световой потоки, линейные и угловые перемещения и многое другое. Обработка этих сигналов может происходить
как в аналоговой, так и в цифровой форме; последняя, в силу ее универсальности, находит в настоящее время повсеместное применение
— контроллеры превращаются в аналого-цифровые устройства.
Итак, современный контроллер — это цифровой вычислитель,
связанный со средой управления аналого-цифровыми и цифроаналоговыми преобразователями. В зависимости от сложности алгоритма
управления цифровой вычислитель может быть построен в виде
комбинационного устройства, автомата, операционного устройства
или микропроцессорного вычислителя. Выбор вида реализации вычислителя зависит также от трудоемкости и продолжительности
проектирования контроллера, стоимости элементной базы, уровня
технологического оснащения производства, требований потребителя
и других факторов. Основные требования, которые потребители
предъявляют к управляющим блокам приборов можно сформулировать следующим образом: низкая стоимость, высокая надежность,
высокая степень миниатюризации, малое энергопотребление, работоспособность в жестких условиях эксплуатации; достаточная производительность для выполнения требуемых функций. Выполнение
всех этих довольно противоречивых условий одновременно затруднительно, поэтому в настоящее время контроллеры выполняют на
базе управляющих однокристальных микроконтроллеров (ОМК),
дополняя их необходимой периферией. К настоящему времени разработано более 1000 различных ОМК. Наибольшее применение
находят ОМК фирмы Atmel (семейства MCS-48, MCS-51, MCS-96) и
фирмы Motorola (семейства НС05, РС08, РС11). Ниже некоторые их
них рассмотриваются более подробно.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
36
3.1. Структура однокристальных контроллеров
Выделим некоторые черты архитектуры и системы команд, общие для всех современных ОМК:
 так называемая Гарвардская архитектура, т.е. раздельные области памяти для хранения команд (программы) и данных;
 интеграция в одном корпусе микросхемы (на одном кристалле) практически всех блоков, характерных для полнофункционального компьютера – процессора, ПЗУ, ОЗУ, устройств ввода/вывода, тактового генератора, контроллера прерываний и т.д.; в русскоязычной
литературе подобные устройства часто называются однокристальные
ЭВМ (ОЭВМ).
Однокристальные микроконтроллеры (ОМК) обычно классифицируют по разрядности обрабатываемых чисел:
 4-разрядные- самые простые и дешевые;
 8-разрядные - наиболее многочисленная группа (оптимальное
сочетание цены и возможностей), к этой группе относятся микроконтроллеры серии MCS-51 (Intel) и совместимые с ними [1], PIC
(MicroChip) [4], HC68 (Motorola) [8], Z8 (Zilog) и др.;
 16-разрядные MCS-96 (Intel) [26]и др. - более высокопроизводительные, но более дорогостоящие;
 32-разрядные - обычно являющиеся модификациями универсальных микропроцессоров, например i80186 или i386EX.
Как и большинство современных микросистем, ОМК строятся
по магистрально-модульному принципу, когда все модули подключаются к единой внутрисистемной магистрали. ОМК включает центральный процессор (ЦП), постоянное и оперативное запоминающие
устройства, цифровое и аналоговое устройства ввода/вывода (ЦВВ,
ABB), таймер (Т) и устройство прерываний (УПР). Центральный
процессор выполняет две задачи: организует пересылку информации между всеми модулями ОМК и осуществляет преобразование
информации на арифметико-логическом устройстве. Запоминающее
устройство служит для хранения программ и констант (ПЗУ) и оперативно изменяющихся данных (ОЗУ). В отличие от универсальных
ЭВМ ОЗУ ОМК имеет небольшой объем, не превышающий, как
правило, нескольких сот байт. Цифровое устройство ввода/вывода
осуществляет связь ОМК с цифровыми блоками объекта управления
через последовательные и параллельные интерфейсы. К ним относятся клавишные пульты, устройства отображения и печати, вспомо-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
37
гательные вычислители и микроЭВМ. По линии цифрового ввода/вывода передаются также сигналы воздействия релейного типа,
устанавливающие факт наличия или отсутствия какого-либо события
(тумблер/кнопка в положении включено, индикаторный светодиод
горит и т.д.). Аналоговые устройства ввода/вывода служат для
контроля состояния аналоговых блоков объекта управления (напряжение, ток, температура, давление, перемещение и др.) и выработки
сигналов управления непрерывными процессами (скорость вращения
двигателя, мощность калорифера, перемещение механической заслонки и др.). Таймер используется для организации управления в
реальном масштабе времени. Он фиксирует время возникновения
отдельных событий, формирует временные интервалы между событиями, осуществляет счет событий. Таймер является, по существу,
внутренними часами микроконтроллера. Устройство прерывания
оптимизирует процесс управления с учетом возникновения непредсказуемых событий: изменяет процесс обмена и обработки данных,
фиксирует и исправляет сбои, восстанавливает работоспособность
ОМК при кратковременном пропадании питания и многое другое.
Построение контроллеров на базе ОМК отличается от построения контроллеров на базе микропроцессорных комплектов (в комплект входят: микросхемы КР580ВМ80А, КР580ВИ53, КР580ВН59,
КР580ВВ55, КР580ВВ51 и другие). На основе микропроцессорных
комплектов разработаны одноплатные контроллеры серии МС1200
и МС1212. Для таких контроллеров программы и данные располагаются в едином адресном пространстве памяти (архитектура фон
Неймана) и никаких признаков, указывающих на тип информации,
не несут. Содержимое ячейки памяти интерпретируется оператором
обработки, в качестве которого выступает код операции команды.
Таким образом, память программ и память данных для архитектуры
фон Неймана являются совмещенными; ячейки памяти адресуются
единым кодом адреса, размер которого определяется объемом этой
памяти. Как показывает практика, это обстоятельство уменьшает
эффективность использования адресной части команды, увеличивает объем программ и уменьшает скорость их выполнения.
Поскольку в однокристальных микроконтроллерах используется так называемая Гарвардская архитектура, то память программ и
память данных имеют раздельные адресные пространства, при обращении к которым используются различные механизмы адресации.
Это позволяет реализовать компактное кодирование набора машин-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
38
ных команд и, следовательно, экономно использовать память данных. В соответствии с требованиями Гарвардской архитектуры
находящаяся на кристалле физическая память МК делится на постоянную (для записи программ) и оперативную (для хранения изменяющихся данных
3.2. Микроконтроллеры семейства МК-48
Отечественная промышленность выпускает семейство сравнительно простых микроконтроллеров семейства МК-48 (рис.3.1)..
Порт P0
Дешифратор
и регистр команд
ППЗУ
Порт P2
Порт P1
Дешифратор
адреса
4
Регистр состояния программы
8
8
2
Счетчик
команд
8
8
8
8
8
BQ1
BQ2
SR
INT
EMA
SS
PR
PME
WR
RD
ALE
T0
T1
Устройство
управления
и
синхронизации
Схема
условных
переходов
8
Арифметико
логическое
устройство
Таймер /
счетчик
ОЗУ
Схема прерывания
Рис. 3.1. Структурная схема ОМК семейства МК-48 .
8
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
39
Все однокристальные микроконтроллеры этого семейства
КР1816ВЕ35; КР1816ВЕ48, КР1816ВЕ39, КР1816ВЕ49, КР1830ВЕ35
и КР1830ВЕ48 имеют единую систему команд [1], но различаются
объемом и типом внутренней памяти программ и данных, максимальными частотами следования тактовых импульсов и током потребления. В частности, ОМК КР1816ВЕ35 не содержит внутренней
памяти программ, объем его внутренней памяти данных составляет
64 байта, максимальная тактовая частота 6 МГц, а потребляемый ток
- 135 мА. Однокристальные микроконтроллеры семейства ОМК-48
содержат на одном кристалле практически все узлы традиционных
ЭВМ: процессор, ОЗУ, ПЗУ и порты ввода/вывода. Применяются они
обычно для управления конкретными устройствами по заданному алгоритму, определяемому заложенной программой, выполняя, таким
образом, функцию программируемого контроллера. На одном кристалле ОМК выполнены арифметико-логическое устройство, ОЗУ,
ППЗУ, таймер/счетчик, схемы прерываний и условных переходов,
устройство управления и синхронизации, 3 порта и несколько
дешифраторов и специальных регистров.
Основу процессора ОМК составляет 8-разрядное арифметикологическое устройство, позволяющее выполнять арифметические,
логические операции и операции сдвига над данными, представленными в двоичном коде, а также обрабатывать данные, представленные в двоично-десятичном коде.
В состав АЛУ входят собственно арифметико-логическое
устройство, аккумулятор, регистр аккумулятора, регистр временного хранения и схема десятичной коррекции аккумулятора.) пред
Аккумулятор (А) представляет собой 8-разрядный регистр, предназначенный для записи и хранения данных, подаваемых с
внутренней шины. Результат выполнения операции АЛУ всегда заносится через шину в аккумулятор. Выход аккумулятора связан с входом регистра аккумулятора (РА) – 8-разрядного регистра, предназначенного для записи и хранения одного из операндов, над которым
производятся операции в АЛУ. Сигналы с выхода РА непосредственно подаются на вход первого операнда АЛУ.
Регистр временного хранения (РВ) представляет собой 8- разрядный регистр и предназначен для записи и хранения второго операнда при выполнении операций в АЛУ. Вход РВ связан шиной данных с выходом ПЗУ констант. Сигналы с выхода РВ непосредственно
подаются на вход второго операнда АЛУ.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
40
Схема десятичной коррекции (СДК) предназначена для обработки данных, представленных в двоично-десятичном коде. В состав
схемы СДК входят узлы анализа содержимого полубайтов (4
старших или младших разряда аккумулятора), триггер основного
и дополнительного переносов и схема формирования корректирующей поправки.
В состав процессора входят также счетчик команд, дешифратор
и регистр команд, регистр состояния программы и схема условных
переходов.
Счетчик команд (СК) предназначен для формирования текущего адреса местонахождения команды в памяти программ. Счетчик
команд содержит 12 разрядов. Содержимое СК увеличивается после
выбора каждого байта команды на единицу. Содержимое СК может
изменяться скачкообразно при выполнении команд передачи управления и при реализации прерываний.
Дешифратор команд представляет собой программируемую
логическую матрицу, на вход которой поступает код команды, предварительно записанный и сохраненный в регистре команд. С выхода
дешифратора команд снимаются управляющие сигналы, осуществляющие выполнение этой команды.
Регистр состояния программы PSW предназначен для хранения данных о состоянии ОМК. Регистр PSW содержит информацию
об указателе стека, банке рабочих регистров, разрядах переноса (указывающем на переполнение аккумулятора) и дополнительного переноса (использующемся при десятичной коррекции аккумулятора), а
также флаге пользователя (использующегося для команды условного
перехода). Регистр PSW может программно проверяться, модифицироваться весь и поразрядно.
Схема условных переходов предназначена для формированием
сигналов управления ветвлением программы при выполнении команд
условных переходов.
Условия перехода могут определяться:
 содержимым аккумулятора (проверка на “0” или не “0”);
 содержимым отдельного бита аккумулятора (проверка на“1”);
 состоянием флага переноса (проверка на “1” или “0”);
 состоянием флагов пользователя (проверка на “1”);
 триггером таймера/счетчика (проверка на “1”);
 сигналами внешних прерываний (проверка на “0”);
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
41
Память программ предназначена для хранения и считывания
команд, которые поступают в процессор и управляют процессом обработки информации. Память программ может быть выполнена как
на кристалле ОМК, так и на внешних микросхемах ОЗУ. Общий объем адресуемой памяти программ ОМК семейства МК-48 составляет
4 кбайт.
Память данных предназначена для записи, хранения и считывания данных, полученных в процессе обработки информации. Внутренняя память данных содержит два банка по восемь регистров общего назначения, 8-уровневый стек и ячейки ОЗУ данных, доступ к которым осуществляется с помощью косвенной адресации. Объем
внутренней памяти данных составляет 64 байта. В ОМК предусмотрена возможность расширения памяти данных при подключении
внешних микросхем ОЗУ. Для записи и выборки данных из ОЗУ используется два вида адресации: прямая и косвенная (регистровая).
При использовании команд прямой адресации регистр является источником или приемником данных, а при использовании команд с
косвенной адресацией указанный регистр содержит адрес данных (в
качестве регистров косвенного адреса используются только R0 и R1).
Каналы ввода/вывода служат для организации обмена информацией ОМК с внешними устройствами. В ОМК семейства МК48
имеется 27 линий ввода/вывода, 24 из которых объединены в три 8разрядных порта P0, P1, P2.
Порты Р1, Р2 в режиме вывода обладают возможностью фиксации данных в так называемых триггерах-защелках. Эти данные статически присутствуют на выводах порта и могут быть изменены
только выдачей новых по команде OUTL. Каждая выдача сопровождается занесением данных в защелку порта.
В состоянии ввода входная информация не изменяет состояния
защелок. При использовании портов Р1, Р2 в качестве входов необходимо до подачи входной информации линии портов установить в состояние высокого уровня, выдав на порт байт единиц. Возможна произвольная смешанная настройка линий портов Р1 и Р2, когда одни
линии порта работают на ввод, а другие на вывод. Для настройки линии на режим ввода необходимо в триггер - защелку этой линии записать “1”. Вводимые данные должны присутствовать на линиях порта до тех пор, пока не будут программно прочитаны.
Таймер/счетчик предназначен для подсчета внешних событий
и измерения временных интервалов без участия процессора ОМК.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
42
В состав таймера-счетчика входят: делитель частоты 1:32; суммирующий счетчик; триггер флага переполнения.
Восьмиразрядный таймер/счетчик может быть программно
установлен в начальное состояние, а затем запущен или приостановлен в режиме таймера или счетчика. Содержимое таймера-счетчика
может быть прочитано на любом этапе работы программы.
В режиме таймера производится инкрементирование содержимого счетчика с частотой внутренней синхронизации, равной 1/32 частоты основных синхронизирующих импульсов машинного цикла.
Путем предварительной установки счетчика и фиксации переполнения можно получать задержки до 256×32 периода сигнала машинного
цикла. Задержки большей длительности могут быть получены программным путем (подсчетом переполнений счетчика). В счетном режиме таймера/счетчика производится подсчет внешних импульсов,
поступающих на его вход. Момент перехода счетчика из состояния
максимального значения FFh в состояние 00h свидетельствует о его
переполнении. При этом вырабатывается внутренний запрос на аппаратное прерывание, который обрабатывается в соответствии с алгоритмом управляющей программы.
Процессор ОМК имеет одноуровневую систему прерываний
по адресу/вектору, которая воспринимает запросы на прерывания от
внешнего источника или от внутреннего таймера-счетчика. Запрос
внешнего прерывания поступает на вывод INT ОМК. Запрос на прерывание от таймера-счетчика инициируется при его переполнении.
Прерывания могут быть программно - избирательно разрешены
или запрещены. Внешнее прерывание обладает более высоким приоритетом, т.е., если запросы на прерывание от внешнего источника и
от таймера/счетчика возникают одновременно, внешнее прерывание
обслуживается в первую очередь.
При поступлении запроса на прерывание процессор (после завершения всех циклов текущей команды) передает управление по адресу 03 при внешнем прерывании либо по адресу 07 при прерывании
по переполнению таймера-счетчика. При этом, как и при выполнении
команды CALL (вызов подпрограммы), обеспечивается загрузка в
стек текущего значения 12-разрядного счетчика команд и четырех
старших разрядов слова состояния процессора. Обычно по адресам 03
и 07 находятся команды безусловного перехода на подпрограммы обработки прерываний.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
43
Поскольку в ОМК МК-48 реализована одноуровневая система
прерываний, обслуживание вновь поступающих прерываний откладывается до конца обработки текущего прерывания. Обработка очередного прерывания может начаться только после завершения второго машинного цикла команды RETR (выход из подпрограммы). Подпрограмма обработки любого прерывания не может быть прервана до
выполнения команды RETR.
Устройство управления предназначено для выработки сигналов, обеспечивающих управление выполнением команд, и реализовано на кристалле ОМК, за исключением источника опорной частоты, в
качестве которого может быть использован кварцевый резонатор,
LC - цепь или внешний источник синхроимпульсов. Устройство
управления и синхронизации состоит из генератора, формирователей
тактовых сигналов и формирователей сигналов состояний и режимов
работы. Кварцевый резонатор или LC-цепочка присоединяются к выводам BQ1 и BQ2. Общий сброс ОМК производится подачей на вход
SR импульса низкого уровня длительностью не менее 50 мс.
Система команд [9] включает 96 команд (прил. 3), из которых
68 однобайтные, а остальные двухбайтные. В двухбайтных командах
первый байт несет информацию о коде операции, второй байт представляет собой непосредственные данные или младшие разряды адреса следующей команды. Большинство команд (53) выполняются за
один машинный цикл, остальные за два машинных цикла.
Более совершенное семейство iMCS -51, совместимое с архитектурой iMCS - 48, обладает более обширными адресными пространствами памяти программ и данных, усовершенствованными
средствами УВВ и поддержки реального времени.
3.3. Микроконтроллеры семейства MCS-51 фирмы Intel
и совместимые с ними
Несмотря на непрерывное развитие и появление все новых и
новых 16- и 32-разрядных микроконтроллеров и микропроцессоров,
наибольшая доля мирового микропроцессорного рынка и по сей день
остается за 8-разрядными устройствами. В настоящее время семейство MCS-51 является несомненным чемпионом среди других семейств 8-разрядных микроконтроллеров по числу разновидностей и
числу компаний, выпускающих его модификации. Оно получило
свое название от первого представителя этого семейства - микро-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
44
контроллера 8051, изготовленного в 1980 году на базе технологии
HMOS. Удачный набор периферийных устройств, возможность гибкого выбора внешней или внутренней программной памяти и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С
точки зрения технологии микроконтроллер 8051 являлся для своего
времени очень сложным изделием - в кристалле было использовано
128 тыс. транзисторов, что в четыре раза превышало количество
транзисторов в 16-разрядном микропроцессоре 8086.
Такая высокая популярность микроконтроллеров семейства
МСS-51 была достигнута благодаря открытой политике фирмы Intel,
родоначальницы архитектуры 8051, направленной на широкое распространение лицензий на ядро 8051 среди большого количества ведущих полупроводниковых компаний мира.
В результате ее проведения в настоящее время существует более 200 модификаций микроконтроллеров семейства МСS-51, выпускаемых почти 20 компаниями. Эти модификации включают кристаллы с широчайшим спектром периферии: от простых 20выводных устройств с одним таймером и 1 Кбайт программной памяти до сложнейших 100-выводных кристаллов с 10-разрядными
АЦП, массивами таймеров/счетчиков, аппаратными 16-разрядными
умножителями и 64 кбайт программной памяти на кристалле. Каждый год появляются все новые варианты представителей этого семейства.
Основными направлениями совершенствования ОМК являются:
увеличение быстродействия (повышение тактовой частоты и переработка архитектуры), снижение напряжения питания и потребления,
увеличение объема ОЗУ и флэш-памяти на кристалле с возможностью внутрисхемного программирования, введение в состав периферии микроконтроллера сложных устройств типа системы управления
приводами, CAN и USB интерфейсов и т.п. Все микроконтроллеры
семейства MCS-51 имеют общую систему команд. Наличие дополнительного оборудования влияет только на число регистров специального назначения.
Микроконтроллер семейства 8051 имеет следующие аппаратные
особенности [25]:
 внутреннее ОЗУ объемом 256 байт;
 четыре двунаправленных побитно настраиваемых 8-разрядных
порта ввода/вывода;
 два 16-разрядных таймера/счетчика;
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
45


встроенный тактовый генератор;
адресация 64 кбайт памяти программ и 64 кбайт памяти дан-
ных;
две линии запросов на прерывание от внешних устройств;
 интерфейс для последовательного обмена информацией с другими микроконтроллерами или персональными компьютерами.
Функциональная схема микроконтроллера семейства 8051
представлена на рис. 3.2.

Vcc
Port 2
Port 0
Pr
Адр
ОЗУ
Защ.
ПЗУ
Защ.
Pr.Адр.
АСС
Pr. B.
SP
АЛУ
_ _ __ __ __ __ __ __ __ __ __ _
PSEN
ALE
EA
RES
Блок
синхр.
и упр.
PSW
Регистры SFR,
счетчики/таймеры
PCA, РСА 1
посл.порт,SEP
РС+1
РС
,
DPTR
Защелка
Защелка
Тактовый
генератор
Буфер.
TMP1
TMP2
Защелка
Port 1
Port 3
P1.0-P1.7
P3.0-P3.7
Рис. 3.2. Функциональная схема микроконтроллера семейства 8051
Микроконтроллер имеет следующие выводы:
 PSEN — разрешение внешней памяти программ; выдается
только при обращении к внешнему ПЗУ;
 ALE — строб адреса внешней памяти;
 ЕА — отключение внутренней программной памяти; уровень 0 на этом входе заставляет микроконтроллер выполнять
программу только внешнего ПЗУ; игнорируя внутреннее(если последнее имеется);
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
46
P1 — 8-битный квазидвунаправпенный порт ввода/вывода:
каждый разряд порта может быть запрограммирован как на ввод, так
и на вывод информации независимо от состояния других разрядов;
 P2 — 8- битный квазидвунаправленный порт, аналогичный Р1;
кроме того, выводы этого порта используются для выдачи адресной
информации при обращении к внешней памяти программ или данных
(если используется 16-битовая адресация последней);
 РЗ — 8-битный квазидвунаправленный порт, аналогичный Р1;
кроме того, выводы этого порта могут выполнять ряд альтернативных
функций, которые используются при работе таймеров, порта последовательного ввода/вывода, контроллера прерываний, и внешней памяти программ и данных;
 P0 — 8-битный двунаправленный порт ввода/вывода информации: при работе с внешними ОЗУ и ПЗУ по линиям порта в режиме
временного мультиплексирования выдается адрес внешней памяти,
после чего осуществляется передача или прием данных.
На базе микроконтроллеров семейства IMCS -51 фирмы Intel
(основные характеристики см. прил. 2) разработаны отечественные
однокристальные микроконтроллеры семейства МК51. Они выполнены по высококачественной n-МОП - технологии (серия 1816) и
КМОП-технологии (серия 1830).

Использование ОМК семейства МК51 по сравнению с ОМК семейства
МК48 обеспечивает увеличение объема памяти команд и памяти данных. Новые возможности ввода/вывода и периферийных устройств расширяют диапазон применения и снижают общие затраты. В зависимости от условий использования быстродействие системы увеличивается минимум в два с половиной
раза и максимум в десять раз.
Семейство МК51 включает пять модификаций ОМК (имеющих идентичные основные характеристики), основное различие между которыми состоит в
реализации памяти программ и мощности потребления. ОМК КР1816ВЕ51 и
КР1830ВЕ51 содержат масочно-программируемое в процессе изготовления
кристалла ПЗУ памяти программ емкостью 4096 байт.Они рассчитаны на применение в массовой продукции. При использовании внешних микросхем памяти общий объем памяти программ может быть расширен до 64 кбайт.
ОМК КМ1816ВЕ751 содержит ППЗУ емкостью 4096 байт со стиранием
ультрафиолетовым излучением. Он и удобен при разработке системы и отладке
программ, а также при производстве небольшими партиями или создании систем, требующих в процессе эксплуатации периодической подстройки. При использовании внешних микросхем памяти общий объем памяти программ может
быть расширен до 64 кбайт.
ОМК КР1816ВЕ31 и КР1830ВЕ31 не содержат встроенной памяти программ, однако могут использовать до 64 кбайт внешней постоянной или пере-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
47
программируемой памяти программ. Они эффективно применяются в системах,
требующих существенно большего по объему (чем 4 кбайт на кристалле) ПЗУ
памяти программ.
Каждая из перечисленных микросхем является соответственно аналогом
БИС 8051, 80С51, 8751, 8031, 80С31 семейства MCS-51 фирмы Intel (США).
Сравнительные данные микросхем приведены в табл.1
Таблица 1
Объем
Микросхема Аналог
внутренней
памяти
программ,
Объем
Тип
памяти
программ
КР1816ВЕ31
8031АН
кбайт
-
КР1816ВЕ51
8051АН
4
ПЗУ
КР1816ВЕ751 8751R
4
КР1830ВЕ31 80С31ВН
КР1830ВЕ51 80С51ВН
внутренней
памяти
данных,
Внешняя
байт
128
Максимальная
Ток
потребчастота следования
требтактовых сигналов,
ления,
МГц
мА
12,0
150,0
128
12,0
150,0
ППзу
128
12,0
220,0
-
Внешняя
128
12,0
18,0
4
ПЗУ
128
12,0
18,07
ОМК при функционировании обеспечивает:
- минимальное время выполнения команд сложения - 1 мкс;
- аппаратное умножение и деление с минимальным временем выполнения
команд умножения/деления - 4 мкс.
В ОМК предусмотрена возможность задания частоты внутреннего генератора с помощью кварца, LC-цепочки или внешнего генератора.
Архитектура микроконтроллеров семейства МК51 несмотря на то, что
она основана на архитектуре семейства МК48, все же не является полностью
совместимой с ней. В новом семействе имеется ряд новых режимов адресации,
дополнительные инструкции, расширенное адресное пространство и ряд других
аппаратных отличий. Расширенная система команд (прил. 4) обеспечивает побайтовую и побитовую адресацию, двоичную и двоично-десятичную арифметику, индикацию переполнения и определения четности/нечетности, возможность реализации логического процессора.
Важнейшей и отличительной чертой архитектуры микроконтроллеров
семейства МК51 является то, что АЛУ имеет возможность манипулировать одноразрядными данными наряду с выполнением операций над 8-разрядными типами данных. Отдельные программно-доступные биты могут устанавливаться,
сбрасываться или заменяться их дополнением, пересылаться, проверяться и использоваться в логических вычислениях, тогда как поддержка простых типов
данных (при существующей тенденции к увеличению длины слова) с первого
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
48
взгляда кажется шагом назад. Это качество делает микроконтроллеры семейства МК51 особенно удобными для применений в промышленных устройствах.
Дальнейшее развитие микроконтроллеров семейства МCS-51 при-
вело к созданию ОМК 80С52, 80С54, 80С58 с масочнопрограммируемым ПЗУ и ОМК версии 87С52, 87С54 и 87С58 с
ПЗУ, стираемым ультрафиолетовым облучением, а также ОМК
80С32, не имеющим внутреннего ПЗУ. Между собой они различаются также корпусами, рабочими интервалами температур, предельно
допустимой тактовой частотой и рядом других параметров, отражаемыми в буквенно-цифровой информации после обозначения типа
ОМК..
В отличие от ОМК MCS-51 последнее семейство (условно
называемое семейством 8052) имеет:
 встроенное ПЗУ объемом 8 (80С52), 16 (80С54) и 32 кбайт
(80С58);
 встроенное ОЗУ объемом 256 байт;
 дополнительные специальные функциональные регистры;
 таймер/счетчик 2 (далее для краткости Т/С2), способный работать в режимах защелки, таймера/счетчика, допускающего счет как
на увеличение, так и на уменьшение, и генератора скорости передачи
в бодах;
 программируемый последовательный интерфейс с детектированием ошибок передачи и автоматическим распознаванием
адреса;
 шесть источников прерываний;
 расширенный режим снижения потребляемой мощности;
флаг отключения питания; режим ONCE.
В ОМК 8052 используют стандартный набор команд семейства
8051, их выводы взаимно однозначно соответствуют выводам этих
ОМК. Отличие заключается лишь в том, что, помимо ввода/вывода
информации, выводы Р1.0 и Р1.1 ОМК 8052 могут выполнять альтернативные функции: первый из них играет роль внешнего входа
для Т/С2, а второй управляет перезагрузкой/защелкиванием информации в регистры Т/С2.
В качестве одной из перспективных моделей MCS-51 можно
считать микросхему 8XC51FA. В ее состав входят:
 четыре 8-битных параллельных порта;
 модуль РСА:
 последовательный порт;
 три 16-битных счетчика/таймера.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
49
Микроконтроллеры с внутренней памятью программ позволяют
защищать свои программные коды от копирования. Для этого используется схема блокировки внутренней памяти программ, которая
состоит из специальных битов (Lock bits) и кодирующего массива
(Encryption Array). Запрограммировав один или несколько таких битов, можно полностью или частично заблокировать эту память. При
полной блокировке будет невозможно чтение с внешней шины внутренней памяти программ, дальнейшее программирование кристалла,
выполнение команд и внешней памяти программ. При частичной
блокировке возможно запретить или разрешить перечисленные действия по отдельности. Кодирующий массив используется для поразрядного выполнения логической операции XNOR над байтами из
внутренней памяти программ и байтами из этого массива при верификации, если она разрешена.
Основным отличием моделей 8ХС51РА от отечественных аналогов является наличие модуля РСА (Programmable Counter Array) .
Это устройство состоит из 16-разрядного счетчика-таймера и
пяти модулей сравнения-захвата. В качестве входных импульсов для
счетчика/таймера могут служить сигналы:
 частота резонатора /12;
 переполнение от Timer 0;
 частота резонатора /4;
 внешний сигнал на контакте Р1.2.
Каждый из пяти модулей сравнения - захвата может работать в
следующих режимах :
 захват положительного или отрицательного фронта;
 программный таймер;
 скоростной вывод;
 генератор прямоугольных импульсов с заданной скважностью.
Четвертый модуль имеет также режим Watchdog Timer .
РСА рекомендуется использовать для измерения таких параметров, как ширина импульса, разность фаз, скважность и частота, а
также для формирования на внешних выводах микроконтроллера
прямоугольных сигналов. В принципе, для этих целей можно использовать счетчики/таймеры, которые имеются на кристалле. Однако при использовании РСА повышается точность за счет того, что
счетчик-таймер, входящий в состав РСА, может изменять свое значение трижды за машинный цикл.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
50
Отметим, что обычные счетчики-таймеры могут изменять свое
значение лишь один раз за машинный цикл. Кроме того, РСА требует значительно меньшего вмешательства процессора.
Большой интерес для разработчиков электронной аппаратуры
могут представлять микроконтроллеры 8XC51GB. На кристалле этого устройства имеется следующее оборудование:
 шесть 8-битных параллельных портов:
 два модуля РСА ;
 три 16-битных счетчика/таймера;
 детектор падения частоты;
 два последовательных порта;
 отдельный Watchdog Timer:
 8-канальный, 8-битный АЦП поразрядного приближения
Рассмотренные 8-разрядные ОМК позволяют реализовать сравнительно простые алгоритмы обработки данных. Для более сложных
задач управления различными устройствами применяют 16—
разрядные ОМК.
.
3.4. Микроконтроллеры INTEL MCS-96
В семейство MCS-96 фирмы Intel входит более 30 разновидностей микроконтроллеров. Это 16-разрядные, быстродействующие ИС высокой степени
интеграции, ориентированные на решение задач управления процессами в реальном масштабе времени. Типичные области применения для этих микроконтроллеров - управление двигателями, модемы, тормозные системы автомобилей, контроллеры жестких дисков, медицинское оборудование.
История микроконтроллеров MCS-96 насчитывает более 15 лет. За это
время специалисты фирмы Intel увеличили адресное пространство с 64 кбайт
до 6 Мбайт, повысили тактовую частоту с 10 до 50 МГц, улучшили быстродействие в 16 раз и добились понижения цены на базовый кристалл примерно
в 4 раза. По сравнению с 8-разрядными однокристальными микроконтроллерами данное микроконтроллерное семейство позволяет существенно расширить область применения встраиваемых микроконтроллеров в первую очередь
за счет более высокой скорости и точности вычислений, а также использования расположенных на кристалле новых периферийных устройств, обеспечивающих более высокую скорость обработки сигналов в управляющей системе
и более высокую надежность функционирования системы.
Микроконтроллеры 80C196 фактически стали индустриальным стандартом для 16-разрядных встроенных систем управления, обеспечив сочетание
высоких технических показателей и экономической эффективности. Так, благодаря именно этим микроконтроллерам, установленным в системе управления зажиганием, специалистам концерна Ford удалось существенно снизить
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
51
потребление топлива, уменьшить выбросы вредных веществ и одновременно
повысить скоростные характеристики своих машин.
Микроконтроллеры семейства MCS-96 являются микропроцессорными
устройствами синхронного типа. Выполнение всех действий в микроконтроллере привязано во времени к тактовым сигналам, вырабатываемым внутренним генератором тактовых импульсов. Частота следования тактовых импульсов стабилизируется с помощью внешнего кварцевого резонатора. Высшее
значение тактовой частоты F max у микроконтроллеров разных типов данного
семейства может быть 10, 12, 16 и 20 МГц.
В отличие от микроконтроллеров других семейств АЛУ микроконтроллера семейства MCS-96 не имеет регистра-аккумулятора. В качестве регистрааккумулятора может использоваться все регистровое ОЗУ (РОЗУ). У микроконтроллеров разных типов может содержаться 232, 360, 488 или 1000 восьмиразрядных регистров. Регистры РОЗУ используются для хранения только
данных.
На частоте 16 МГц АЛУ выполняет 2 млн элементарных операций в секунду со знаковыми или беззнаковыми данными длиной 1 или 2 байт. Для
этих чисел имеются также и операции умножения и деления (быстродействие
580 тыс. умножений в секунду и 330 тыс. делений в секунду). При использовании ОЗУ для размещения команд программы открывается возможность модифицировать команды в процессе выполнения программы.
Процессор обращается к внутренней и внешней памяти через контроллер памяти (КП,). Этот контроллер позволяет при одном обращении к памяти
считывать или записывать как 8-разрядные, так и 16-разрядные коды.
Максимальный суммарный объем внешней и внутренний памяти (без
РОЗУ) у микроконтроллеров большинства типов составляет 64 кбайт. У микроконтроллеров подсемейства NT суммарный объем памяти может быть доведен до 1 Мбайт. Микроконтроллеры, в обозначении типа которых на втором
месте стоит цифра 0 (Х=0), не имеют внутреннего ПЗУ. Его функции реализуются с помощью микросхем ПЗУ, входящих в состав внешней памяти.
Периферийные устройства микроконтроллера семейства MCS-96 по
выполняемым функциям могут быть отнесены к одной из шести групп:
1. Устройства ввода и вывода данных, представленных многоразрядными
двоичными кодами.
2. Устройства ввода и вывода отдельных дискретных сигналов (включено-выключено).
3. Устройства ввода и вывода аналоговых сигналов.
4. Устройства обмена данными с другими микроконтроллерами и центральным процессором системы.
5. Устройства приема и обслуживания запросов прерывания.
6. Устройства контроля правильности функционирования микроконтроллера.
Для управления работой периферийных устройств и определения их состояния используются регистры специальных функций.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
52
Целесообразно сравнить основные функциональные характеристики ОМК MCS-51 и MCS-96. К числу основных функциональных
характеристик микроконтроллера относятся:
 емкость расположенных на кристалле регистрового оперативного запоминающего устройства, постоянного запоминающего
устройства , оперативного запоминающего устройства ;
 максимальная тактовая частота (F max);
 число команд в системе команд (N ).
По значению тактовой частоты может быть определено быстродействие микроконтроллера. При этом следует иметь в виду, что
короткие операции в микроконтроллере семейства MCS-96 по своему содержанию существенно отличаются от коротких операций в
микроконтроллере с регистром-аккумулятором. Так, одной короткой
операции "сложение" в микроконтроллере семейства MCS-96 при
представлении данных в формате "байт" соответствует последовательность из трех коротких операции в микроконтроллере семейства
MCS-51, а при представлении данных в формате "слово" - соответствует последовательность из шести коротких операций.
Кроме того, в систему команд микроконтроллеров семейства
MCS-96 входят команды умножения и деления чисел в формате
"слово" В микроконтроллерах других семейств такие операции выполняются по подпрограммам, что резко увеличивает время их выполнения.
Отмеченные особенности существенно сокращают время вычислений в микроконтроллерах семейства MCS-96 по сравнению с
микроконтроллерами других семейств.
В систему команд микроконтроллеров, изготовленных по
КМДП - технологии, входят различные дополнительные команды, в
числе которых имеется команда перевода микроконтроллера в энергосберегающие режимы - режим холостого хода и режим пониженного энергопотребления. В режиме холостого хода программа не
выполняется, но функционируют все периферийные устройства, при
этом потребление энергии от источника питания уменьшается на
60 %. В режиме пониженного энергопотребления прекращаются все
процессы в микроконтроллере, но сохраняются данные в РОЗУ и
ОЗУ. При этом ток потребления составляет единицы микроампер. С
появлением на рынке цифровых интегральных схем микроконтроллеров семейства MCS-96 фирмы Intel перед разработчиками систем,
содержащих встроенные микроконтроллеры, открываются новые
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
53
большие возможности по созданию малогабаритных, экономичных и
надежных систем, приборов и устройств различного назначения.
Все 232 внутренних регистра ОМК 80C196 имеют статус "аккумуляторов" - к ним можно непосредственно применять все необходимые арифметические и логические операции.
У ОМК 8051 для достижения тех же результатов зачастую
необходимо выполнять дополнительные пересылки в аккумулятор
и из него.
У ОМК 80C196 можно использовать 16-разрядную внешнюю
шину. Кроме того, цикл шины ОМК 80C196 в 3-4 раза короче, чем у
ОМК 8051. В результате этого ОМК 80C196 в 6-8 раз быстрее работает с внешней памятью.
В задачах, требующих 16- и 32-разрядных вычислений, ОМК
80C196 примерно на порядок быстрее, поскольку имеет полноценный набор 16-разрядных арифметических инструкций.
Одним из самых эффективных способов сокращения времени
разработки программ для микроконтроллеров является применение
языка Си. Язык Си базируется на широком использовании стека и
указателей. Однако для ОМК 8051 использование Си затруднено и
ведет к большим накладным расходам, так как ОМК 8051 имеет небольшой стек и Си-компиляторы для него генерируют дополнительный код, эмулирующий большой стек во внешней памяти данных.
Вдобавок ОМК 8051 имеет всего один 16-разрядный указатель DPTR, и компиляторам также приходится генерировать дополнительный код, чтобы компенсировать этот недостаток. Все это приводит к замедлению программ и увеличению их размера. У ОМК
80C196 таких проблем нет - стек имеет размер до 64 кбайт, а в качестве указателя можно использовать любое из 116 слов встроенной
регистровой памяти.
3.5. Микроконтроллеры фирмы Motorola
Известно несколько серий ОМК фирмы Motorola. Наиболее популярны
8-разрядные ОМК серий НС05 и НС08, а также 16-разрядные ОМК11. Рассмотрим, например, 8-разрядный микроконтроллер MC68HC11E9, изготовленный по КМОП - технологии с высокоплотной структурой. Полностью статическая конструкция позволяет ему работать на очень низких частотах, тем самым
уменьшая потребление энергии (хотя номинальная частота шины 2 МГц). Он
имеет 12 Кбайт ПЗУ; 512 байт ППЗУ; 512 байт ОЗУ; расширенный 16разрядный таймер;
8-разрядный счетчик внешних импульсов; последова-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
54
тельный интерфейс связи расширенного формата NRZ; последовательный периферийный интерфейс; 8-канальный 8-разрядный АЦП; прерывания реального
времени; систему слежения за правильностью работы ОМК; 52-выводной квадратный пластиковый корпус. Система команд ОМК имеет дробное и целочисленное 16x16 деление; операции над битами данных; режимы малого потребления энергии WAIT и STOP.
Технология КМОП-структур с высокой степенью компоновки, использованная для создания MC68HC11E9, сочетает малые размеры, высокую тактовую частоту по сравнению с КМОП - технологией, низкое потребление энергии
и высокую устойчивостью по отношению к различным помехам. Внутренняя
память включает 12 кбайт ОЗУ, 512 байт электрически стираемого перепрограммируемого ПЗУ (ЭСППЗУ) и 512 байт статического ОЗУ.
Центральный процессор микроконтроллера MC68HC11E9 является расширением МП MC6801. Дополнительно к системе команд микропроцессоров
MC6800 и MC6801 ОМК имеет многостраничную карту команд, содержащую в
общей сложности 91 новую команду. Основные дополнительные команды: команды, использующие индексный регистр Y, команды деление 16-разрядных
чисел, команды STOP и WAIT, а также команды работы с битами.
Основные периферийные функции обеспечиваются встроенными схемами микроконтроллера. В их числе 8-канальный 8-разрядный АЦП; асинхронный последовательный интерфейс связи; синхронный последовательный периферийный интерфейс; основной 16-разрядный таймер с тремя входными и пятью выходными линиями, поддерживающий прерывания реального времени; 8разрядный счетчик внешних импульсов для подсчета внешних импульсов или
измерения периодов внешних сигналов. Кроме этого, в состав микроконтроллера входит схема автоматического слежения, предназначенная для защиты системы от ошибок. Эта схема генерирует системный сброс в случае остановки
работы или недопустимо низкой частоты тактового генератора.
Схема определения неверного кода операции вызывает немаскируемое
прерывание, если в процессе выполнения программы встречается неправильный код команды. Для уменьшения потребления энергии доступно два программно-устанавливаемых режима работы - WAIT и STOP. Дуплексный асинхронный последовательный интерфейс связи SCI работает со стандартным
форматом NRZ (один старт-бит, 8 или 9 бит информации, один стоп-бит) и с
различными скоростями передачи информации. Передатчик и приемник SCI
функционально независимы, но используют одинаковый формат и скорость передачи. Последовательный интерфейс связи SPI - это синхронный интерфейс,
который позволяет нескольким микроконтроллерам с SPI либо периферийным
устройствам SPI-типа взаимодействовать между собой. Стандарт SPI требует
отдельных линий связи как для данных, так и для синхронизации, так как в соответствии с форматом SPI такты синхронизации не включаются в поток данных. Система SPI MC68HC11E9 может быть настроена для работы в режиме
ведущего и в режиме ведомого устройства.
Микроконтроллер MC68HC11E9 имеет 40 линий ввода/вывода объединенных в пять 8-разрядных портов. Все эти линии могут выполнять множество
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
55
функций, зависящих от режима работы и данных, содержащихся в регистрах
управления. Порты C и D используются как порты общего назначения, и
направление передачи данных по ним управляется регистрами направления передачи данных. Порты A, B и E, за исключением выводов 3 и 7 порта A, имеют
фиксированное направление пересылки данных и, следовательно, не имеют регистров направления передачи данных. Порты B и C, выводы STRA и STRB,
кроме режима общего назначения, используются для параллельного обмена по
сигналам стробирования. Всего существует четыре режима работы микроконтроллера MC68HC11E9: однокристальный, расширенный, а также специальные режимы загрузки и теста.
В однокристальном режиме микроконтроллер работает без использования внешних шин адреса и данных. Порты A и B и выводы STRA и
STRB функционируют как вводы/выводы общего назначения и сигналы квитирования.
В расширенном режиме работы микроконтроллер MC68HC11E9 способен адресовать пространство объемом в 64 Кбайта. Все это адресное пространство включает те же участки памяти, что и в однокристальном режиме, плюс
внешние память и периферию. Адресация производится с помощью портов B и
C, а также управляющих сигналов AS и R/W/.
Специальный режим загрузки позволяет произвести загрузку программы во встроенное ОЗУ по последовательному асинхронному интерфейсу и запустить программу на выполнение.
Специальный режим теста - это специальный режим работы, предназначенный для производственного тестирования микроконтроллера при изготовлении. Этот режим очень похож на расширенный режим работы.
Наряду с рассмотренными ОМК в последнее время стали применяться
более быстродействующие, за которыми закрепилось название PICконтроллеры [5].
3.6. PIC– контроллеры
Архитектура микроконтроллеров PICmicro характеризуется следующими особенностями: RISC-архитектурой, малым числом команд, Гарвардской архитектурой ядра, конвейерной обработкой команд, файловой структурой данных.
В микроконтроллерах с Гарвардской архитектурой ядра выборка
команды происходит за один цикл (все команды 14-разрядные). При
обращении к памяти программ можно выполнить запись или чтение
данных, так как память данных подключена к ядру микроконтроллера
по отдельной шине. Раздельные шины доступа к памяти программ и к
памяти данных позволяют исполнять текущую команду и производить выборку следующей команды, организуя конвейерную обработ-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
56
ку команд. Поскольку команды симметричны (ортогональны), требуется меньшее их число для решения всех необходимых задач и появляется возможность выполнить любую операцию с любым регистром
памяти данных прямой или косвенной адресацией.
Ведущий производитель микроконтроллеров данного типа
Microchip Technology Inc. обеспечивает большую номенклатуру изделий, предоставляя пользователям сравнительно простые и достаточно
сложные PIC-контроллеры. Наиболее популярны микроконтроллеры
PIC18F в корпусе TQFP с 64 и 80 выводами и недорогой флеш - памятью программ - 32 Кбайта.
Микроконтроллеры PIC18F6520, PIC18F8520 идеальны для приложений, в которых необходимо большое число портов ввода/вывода
и значительный объем памяти программ. Эти микроконтроллеры содержат таймеры, богатый набор периферийных модулей и имеют
возможность самопрограммирования. Флэш-память микроконтроллеров PIC18F6520, PIC18F8520 выполнена по PEEC - технологии,
имеющей наилучшие характеристики выносливости циклов стирание/запись в своем классе и минимальное время записи.
Микроконтроллеры PIC18F6520 и PIC18F8520 содержат по
32 Кбайта флэш-памяти программ, 2 Кбайта ОЗУ и 1024 байта
EEPROM памяти данных. Они имеют программируемый сброс по
снижению напряжения питания PBOR; программируемый детектор
пониженного напряжения PLVD; вторичный генератор тактового
сигнала 32 кГц и умножитель 4xPLL; последовательные порты SPI и
I2C; два адресуемых порта USART с поддержкой интерфейсов RS485
и RS232. Производительность ядра до 10 MIPS при тактовой частоте
10 МГц. В состав периферии входит до 16 каналов 10-разрядного
АЦП; 5 модулей CCP; два 8-разрядных таймера; три 16-разрядных
таймера; сторожевой таймер WDT; два аналоговых компаратора; ведомый параллельный порт PSP. Ниже в качестве примера рассмативаются два других семейства пик-контроллеров.
Семейство микроконтроллеров PIC12C508. Характеристики
микроконтроллеров данного семейства приведены в табл. 2.
Все они выполнены по КМОП-технологии и имеют:
 высокопроизводительный RISC-процессор;
 8-битную адресацию данных;
 7 аппаратных регистров специального назначения;
 двухуровневый аппаратный стек;
 прямой, косвенный и относительный режимы адресации для данных и
инструкций;
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
57
внутренний RC-генератор с программной калибровкой;
 программирование на плате через последовательный порт;
 таймер сброса устройства DRT;
 сторожевой таймер WDT с собственным встроенным RC-генератором
для повышения надежности работы;
 программируемая защита кода;
 1 млн циклов записи/стирания ППЗУ данных;
 время хранения информации в ППЗУ > 40 лет;
 режим экономии энергии SLEEP;
 пробуждение из режима SLEEP по изменению состояния выводов;
 внутренние резисторы к шине питания на линиях ввода/вывода;
 внутренний резистор на линии MCLR;
 полностью статическая архитектура;
 широкий диапазон рабочих напряжений питания;
 широкий температурный диапазон;
 8-разрядный таймер/счетчик реального времени с 8-разрядным предварительным делителем;
низкое потребление энергии.
Таблица 2

Устройство
PIC12C508
PIC12C508A
PIC12C509
PIC12C509A
PIC12CE518
PIC12CE519
PIC12CR509A
ЭППЗУ
программ
ПЗУ
программ
512 x 12
512 x 12
1024 x 12
1024 x 12
512 x 12
1024 x 12
-
-
1024x12
-
ОЗУ
данных
25
25
41
41
25
41
41
ЭСППЗУ
данных
-
16
16
-
Микроконтроллеры PIC16F870, PIC16F871. Микроконтроллеры PIC16F870, PIC16F871 имеют тактовую частоту до 20 МГц; минимальную
длительность такта 200 нс ; флэш-память программ до 2 Кбайт; память данных
ОЗУ до 128 байт; ЭСППЗУ-память данных до 64 байт; механизм прерываний
(до 11 внутренних/внешних источников прерываний); 8-уровневый аппаратный
стек; прямой, косвенный и относительный режимы адресации; сброс при включении питания POR; таймер включения PWRT и таймер запуска генератора
OST; сторожевой таймер WDT с собственным встроенным RC-генератором для
повышения надежности работы ;программируемую защиту кода ; режим экономии энергии SLEEP; выбираемые режимы тактового генератора; программирование на плате через последовательный порт с использованием двух
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
58
выводов; низкое потребление энергии: меньше 1,6 мА при 5В, 4 МГц и 20 мкА
(типичное значение) при 3 В, 32 кГц.
Особо следует отметить следующие устройства этого ОМК:
 8-разрядный таймер/счетчик с 8-разрядным предварительным делителем Timer 0;
 16-разрядный таймер/счетчик с предварительным делителем, может вести счет во время спящего режима от внешнего генератора Timer 1;
 Timer2: 8-разрядный таймер/счетчик с 8-разрядным регистром периода,
предварительным и выходным делителем;
 два модуля захвата, сравнения,
широтно-импульсный модулятор
(ШИМ); (захват 16 разрядов, с максимальным разрешением 12,5 нс,
сравнение
16 разрядов,
максимальным
разрешением
200 нс
и ШИМ с максимальным разрешением 10 разрядов);
 10-битный многоканальный аналого-цифровой преобразователь;
 универсальный
синхронно-асинхронный
приемопередатчик
(USART/SCI) с обнаружением 9-разрядного адреса;
 встроенный генератор опорного напряжения;
 параллельный 8-битный Slave-порт (PSP) с внешними сигналами
управления RD, WR и CS (только в 40- и 44-выводных корпусах);
 программируемую схему сброса при падении напряжения питания
(BOR).
Не смотря на высокие технические характеристики PIC-контроллеров,
несколько лет тому назад были разработаны еще более быстродействующие
ОМК, которые получили название AVR-контроллеры.
3.7. AVR-контроллеры
Микроконтроллеры с AVR-архитектурой - самое молодое семейство ОМК общего назначения, появившееся в начале 90-х годов прошлого века [7]. Аббревиатура AVR не содержит слов "advanced" и
"RISK", это всего лишь начальные буквы фамилий разработчиков.
AVR-контроллер имеет 8-разрядный быстрый Гарвардский RISСпроцессор, память программ, память данных, порты ввода/вывода и
различные интерфейсные схемы. Гарвардская архитектура AVR реализует полное логическое и физическое разделение не только адресных пространств, но и информационных шин для обращения к памяти программ и памяти данных, причем способы адресации и доступа
к этим массивам памяти также различны. Подобное построение уже
ближе к структуре цифровых сигнальных процессоров и обеспечивает существенное повышение производительности. Центральный процессор работает одновременно с памятью программ и с памятью данных; разрядность шины памяти программ расширена до 16 бит. Сле-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
59
дующим шагом на пути увеличения быстродействия AVR является
использование технологии конвейеризации, вследствие чего цикл
"выборка - исполнение" команды заметно сокращен. Так, у микроконтроллеров семейства MCS51 короткая команда выполняется за 12
тактов генератора (один машинный цикл), в течение которого процессор последовательно считывает код операции и исполняет ее. В
PIC-контроллерах фирмы Microchip, где уже реализован конвейер,
короткая команда выполняется в течение восьми периодов тактовой
частоты (2 машинных цикла). За это время последовательно дешифрируется и считывается код операции, исполняется команда, фиксируется результат и одновременно считывается код следующей операции (одноуровневый конвейер), поэтому в общем потоке команд одна
короткая команда реализуется за четыре периода тактовой частоты
или за один машинный цикл. В микроконтроллерах AVR тоже используется одноуровневый конвейер при обращении к памяти программ и короткая команда в общем потоке выполняется, как и в PICконтроллерах, за один машинный цикл. Главное же отличие состоит в
том, что этот цикл у AVR составляет один период тактовой частоты.
Следующая отличительная черта архитектуры микроконтроллеров AVR–регистровый файл быстрого доступа, в котором 32 регистра общего назначения длиной 1 байт непосредственно связаны с
арифметико-логическим устройством процессора. Другими словами,
в AVR существует 32 регистра-аккумулятора. Это обстоятельство
позволяет в сочетании с конвейерной обработкой выполнять одну
операцию в AЛУ за 1 машинный цикл.
Так, два операнда извлекаются из регистрового файла, выполняется команда и результат записывается обратно в регистровый файл в течение только
одного машинного цикла. Шесть из 32 регистров файла могут использоваться
как три 16-разрядных указателя адреса при косвенной адресации данных. Один
из этих указателей (Z Pointer) применяется также для доступа к данным, записанным в памяти программ микроконтроллера. Использование трех 16-битных
указателей (X, Y и Z Pointers) существенно повышает скорость пересылки данных при работе прикладной программы.
Серийное производство микроконтроллеров AVR началось в
1996 году, а в настоящее время в серийном производстве у Atmel
находятся три семейства AVR - "tiny", "classic" и "mega" (прил. 1).
Многие российские специалисты и разработчики уже по достоинству
оценили высокую скорость работы и мощную систему команд AVR,
наличие двух типов энергонезависимой памяти на одном кристалле и
активно развивающуюся периферию. Области применения AVR мно-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
60
гогранны. Для семейства "tiny" - это интеллектуальные автомобильные датчики различного назначения, игрушки, игровые приставки,
материнские платы персональных компьютеров, контроллеры защиты доступа в мобильных телефонах, зарядные устройства, детекторы
дыма и пламени, бытовая техника, разнообразные инфракрасные
пульты дистанционного управления. Для семейства "classic" - это модемы различных типов, современные зарядные устройства, изделия
класса Smart Cards и устройства чтения для них, спутниковые навигационные системы для определения местоположения автомобилей на
трассе, сложная бытовая техника, пульты дистанционного управления, сетевые карты, материнские платы компьютеров, сотовые телефоны нового поколения а также различные и разнообразные промышленные системы контроля и управления. Для семейства "mega"
AVR - это аналоговые NMT, ETACS, AMPS и цифровые GSM, CDMA
мобильные телефоны, принтеры и ключевые контроллеры для них,
контроллеры аппаратов факсимильной связи и ксероксов, контроллеры современных дисковых накопителей, CD-ROM и т.д.
Все микроконтроллеры AVR имеют флэш-память программ, которая может быть загружена с помощью обычного программатора и с
помощью SPI-интерфейса, в том числе непосредственно на целевой
плате. Число циклов перезаписи - не менее 1000. Последние версии
кристаллов семейства "mega" выпуска 2001-2002 года имеют возможность самопрограммирования. Это означает, что микроконтроллер
способен самостоятельно, без какого-либо внешнего программатора,
изменять содержимое ячеек памяти программ, т. е. новые микроконтроллеры AVR могут менять алгоритмы своего функционирования и программы, заложенные в них, и далее работать уже по измененному алгоритму или новой программе. Так, можно написать и сохранить несколько рабочих версий программы для конкретного приложения во внешней энергонезависимой памяти DataFlash,
SEEPROM и т.п., а затем по мере необходимости или по реакции на
какие-нибудь внешние или внутренние логические условия перегрузить рабочие программы в тот же самый микроконтроллер AVR,
не извлекая его из печатной платы. Для этого весь массив памяти
программ делится на две неравные по объему области: блок загрузчика (программа, управляющая перезаписью флеш-памяти программ) и блок для размещения рабочего программного кода, причем свободная память в области загрузчика может быть использована в качестве дополнительного пространства для рабочего кода.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
61
Программа - загрузчик создается самим разработчиком и должна быть запрограммирована внешним программатором.
Все AVR-контроллеры имеют также блок энергонезависимой
электрически стираемой памяти данных EEPROM. Этот тип памяти,
доступный программе микроконтроллера непосредственно в процессе
ее выполнения, удобен для хранения промежуточных данных, различных констант, таблиц перекодировок, калибровочных коэффициентов и т.п. EEPROM также может быть загружена извне через SPI
интерфейс и с помощью обычного программатора. Число циклов перезаписи - не менее 100 тыс. Два программируемых бита секретности
позволяют защитить память программ и энергонезависимую память
данных EEPROM от несанкционированного считывания. Внутренняя
оперативная память SRAM имеется у всех AVR семейств "classic" и
"mega" и у одного нового кристалла семейства "tiny" - ATtiny26/L.
Для некоторых микроконтроллеров возможна организация подключения внешней памяти данных объемом до 64 кбайта.
Внутренний тактовый генератор AVR может запускаться от нескольких
источников опорной частоты (внешний генератор, внешний кварцевый резонатор, внутренняя или внешняя RC-цепочка). Поскольку AVR-микроконтроллеры
полностью статические, минимальная допустимая частота ничем не ограничена
(вплоть до пошагового режима). Максимальная рабочая частота определяется
конкретным типом микроконтроллера. Верхние границы частотного диапазона,
гарантируют устойчивую работу микроконтроллеров при работе во всем температурном диапазоне (хотя, например, ОМК AT90S8515 при комнатной температуре может быть "разогнан" до 14 МГц). Интересную аппаратную особенность имеет микроконтроллер ATtiny15L. Он содержит блок PLL для аппаратного увеличения основной тактовой частоты в 16 раз. При номинальном значении последней 1,6 МГц получаемая вспомогательная периферийная частота
равна 25,6 МГц. Эта частота может быть опорной для одного из таймеров/счетчиков микроконтроллера, значительно повышая временное разрешение
его работы.
Сторожевой WATCHDOG-таймер предназначен для защиты микроконтроллера от сбоев в процессе работы. Он имеет свой собственный RCгенератор, работающий на частоте 1 МГц. Эта частота является приближенной
и зависит прежде всего от напряжения питания микроконтроллера и от температуры. WATCHDOG-таймер снабжен своим собственным предделителем
входной частоты с программируемым коэффициентом деления, что позволяет
подстраивать временной интервал переполнения таймера и сброса микроконтроллера. WATCHDOG-таймер может быть отключен программным образом во время работы микроконтроллера как в активном режиме, так и в любом
из режимов пониженного энергопотребления. В последнем случае это приводит
к значительному снижению потребляемого тока.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
62
Микроконтроллеры AVR имеют в своем составе от 1 до 4 таймеров/счетчиков общего назначения с разрядностью 8 или 16 бит, которые могут
работать и как таймеры от внутреннего источника опорной частоты, и как счетчики внешних событий с внешним тактированием. Общие черты всех таймеров/счетчиков следующие:
1. Наличие программируемого предделителя входной частоты с различными градациями деления. Отличительной чертой AVR-контроллеров является
возможность работы таймеров/счетчиков на основной тактовой частоте микроконтроллера без предварительного ее понижения, что существенно повышает
точность генерации временных интервалов системы.
2. Независимое функционирование от режима работы процессорного ядра
микроконтроллера.
3. Возможность работы или от внутреннего источника опорной частоты,
или в качестве счетчика событий. Верхний частотный порог при этом составляет половину основной тактовой частоты микроконтроллера. Выбор перепада
внешнего источника (фронт или срез) программируется пользователем.
4. Наличие различных векторов прерываний для нескольких различных
событий (переполнение, захват, сравнение).
Система реального времени RTC реализована во всех микроконтроллерах
семейства "mega" и на двух кристаллах семейства "classic" - AT90(L)S8535.
Таймер/счетчик RTC имеет свой собственный предделитель, который может
быть программным способом подключен или к основному внутреннему источнику тактовой частоты микроконтроллера, или к дополнительному асинхронному источнику опорной частоты (кварцевый резонатор или внешний синхросигнал). Для этой цели зарезервированы два внешних вывода микроконтроллера. Внутренний осциллятор, нагруженный на счетный вход таймера/счетчика
RTC, оптимизирован для работы с внешним "часовым" кварцевым резонатором
32,768 кГц. Порты ввода/вывода AVR имеют от 3 до 53 независимых линий
"Вход/Выход". Каждый разряд порта может быть запрограммирован на ввод
или на вывод информации. Мощные выходные драйверы обеспечивают токовую нагрузочную способность 20 мА на линию порта (втекающий ток) при
максимальном значении 40 мА, что позволяет, например, непосредственно подключать к микроконтроллеру светодиоды и биполярные транзисторы. Общая
токовая нагрузка на все линии одного порта не должна превышать 80 мА (все
значения приведены для напряжения питания 5 В).
Интересная архитектурная особенность построения портов ввода/вывода
у AVR-контроллеров заключается в том, что для каждого физического вывода
существует 3 бита контроля/управления, а не 2, как у распространенных 8разрядных микроконтроллеров Intel, Microchip, Motorola и т.д.. Использование
только двух бит контроля/управления порождает ряд проблем при операциях
типа "чтение/модификация/запись". Так, если имеются две последовательные
операции "чтение-модификация-запись", то первый результат может быть потерян безвозвратно, если вывод порта работает на емкостную нагрузку и требуется некоторое время для стабилизации уровня сигнала на внешнем выводе
микросхемы. Архитектура построения портов ввода/вывода AVR-контроллеров
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
63
с тремя битами контроля/управления позволяет разработчику полностью контролировать процесс ввода/вывода. Если необходимо получить реальное значение сигнала на физическом выводе микроконтроллера, читайте содержимое
бита по адресу PINx. Если требуется обновить выходы, прочитайте защелку
PORTx и потом модифицируйте данные. Это позволяет избежать необходимости иметь копию содержимого порта в памяти для безопасности и повышает
скорость работы микроконтроллера при работе с внешними устройствами.
Особую значимость приобретает данная возможность AVR-контроллеров для
реализации систем, работающих в условиях внешних электрических помех.
Аналоговый компаратор входит в состав большинства микроконтроллеров AVR. Типовое напряжение смещения равно 10 мВ, время задержки распространения составляет 500 нс и зависит от напряжения питания микроконтроллера. Так, при напряжении питания 2,7 В оно равно 750 нс. Аналоговый компаратор имеет свой собственный вектор прерывания в общей системе прерываний
микроконтроллера. При этом тип перепада, вызывающий запрос на прерывание
при срабатывании компаратора, может быть запрограммирован пользователем
как фронт, срез или переключение. Логический выход компаратора может быть
программным образом подключен ко входу одного из 16-разрядных таймеров/счетчиков, работающего в режиме захвата. Это дает возможность измерять
длительность аналоговых сигналов а также максимально просто реализовывать
АЦП двухтактного интегрирования.
Аналого-цифровой преобразователь построен по классической схеме последовательных приближений с устройством выборки/хранения (УВХ). Каждый из аналоговых входов может быть соединен со входом УВХ через аналоговый мультиплексор. Устройство выборки/хранения имеет свой собственный
усилитель, гарантирующий, что измеряемый аналоговый сигнал будет стабильным в течение всего времени преобразования. Разрядность АЦП составляет 10
бит. АЦП может работать в двух режимах: 1) однократное преобразование по
любому выбранному каналу, 2) последовательный циклический опрос всех каналов. Время преобразования выбирается программно с помощью установки
коэффициента деления частоты специального предделителя, входящего в состав блока АЦП. Оно составляет 70...280 мкс для ОМК mega103 и 65...260 мкс
для всех остальных микроконтроллеров, имеющих в своем составе АЦП. Важной особенностью аналого-цифрового преобразователя является функция подавления шума при преобразовании. Пользователь имеет возможность, выполнив короткий ряд программных операций, запустить АЦП во время нахождения центрального процессора в одном из режимов пониженного энергопотребления. При этом на точность преобразования не будут оказывать влияние помехи, возникающие при работе процессорного ядра.
AVR - микроконтроллеры могут быть переведены программным путем в
один из шести режимов пониженного энергопотребления. Для разных семейств
AVR и разных микроконтроллеров в пределах каждого семейства изменяются
количество и сочетание доступных режимов пониженного энергопотребления:
1. Режим холостого хода IDLE, в котором прекращает работу только процессор и фиксируется содержимое памяти данных, а внутренний генератор
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
64
синхросигналов, таймеры, система прерываний и WATCHDOG-таймер продолжают функционировать.
2. Режим микропотребления Power Down, в котором сохраняется содержимое регистрового файла, но останавливается внутренний генератор синхросигналов. Выход из Power Down возможен либо по общему сбросу микроконтроллера, либо по сигналу «уровень» от внешнего источника прерывания.
При включенном WATCHDOG-таймера ток потребления в этом режиме составляет около 60...80 мкА, а при выключенном - менее 1 мкА для всех типов
AVR. Приведенные значения справедливы для питающего напряжения 5 В.
3. Режим сохранения энергии Power Save, который реализован только у
тех AVR-контроллеров, которые имеют в своем составе систему реального
времени. В основном режим Power Save идентичен режиму Power Down, но
здесь допускается независимая работа дополнительного таймера/счетчика RTC.
Выход из режима Power Save возможен по прерыванию, вызванному или переполнением таймера/счетчика RTC, или срабатыванием блока сравнения этого
счетчика. Ток потребления в этом режиме составляет 6...10 мкА при напряжении питания 5 В на частоте 32,768 кГц.
4. Режим подавления шума при работе аналого-цифрового преобразователя ADC Noise Reduction. Как уже отмечалось, в этом режиме останавливается
процессорное ядро, но разрешается работа АЦП, двухпроводного интерфейса
I2C и сторожевого таймера.
5. Основной режим ожидания Standby идентичен режиму Power Down,
но здесь работа тактового
генератора не прекращается. Это гарантирует
быстрый выход микроконтроллера из режима ожидания, всего за 6 тактов генератора.
6. Дополнительный режим ожидания Extended Standby идентичен режиму
Power Save, но здесь работа тактового генератора тоже не прекращается. Это
гарантирует быстрый выход микроконтроллера из режима ожидания, всего за 6
тактов генератора.
Микроконтроллеры AVR mega 64, mega 103 и mega 128 имеют еще одну
примечательную архитектурную особенность, позволяющую значительно снизить энергопотребление всего кристалла в целом при возникновении в процессе
работы вынужденных пауз ожидания. В этом случае целесообразно уменьшить
ток потребления центрального процессора и периферийных устройств как в активном режиме, так и в режиме холостого хода, понизив основную тактовую
частоту микроконтроллера. Для этой цели на кристалле размещен специальный
предделитель, позволяющий делить основную тактовую частоту на целое число
в диапазоне от 2 до 129. Включение/выключение данной функции осуществляется одной короткой командой в программе.
AVR-контроллеры функционируют в широком диапазоне питающих
напряжений (от 1,8 до 6,0 В). Энергопотребление в активном режиме зависит от
напряжения питания, от частоты, на которой работает AVR-контроллер и от
конкретного типа микроконтроллера.
Система команд AVR-контроллеров весьма развита и насчитывает до 133
различных инструкций. Почти все команды имеют фиксированную длину в од-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
65
но слово (16 бит), что позволяет в большинстве случаев объединять в одной
команде и код операции, и операнд(ы). Лишь немногие команды имеют размер
в 2 слова (32 бит) и относятся к группе команд вызова процедуры CALL, длинных переходов в пределах всего адресного пространства JMP, возврата из подпрограмм RET и команд работы с памятью программ LPM. Различают пять
групп команд: 1) условного ветвления; 2) безусловного ветвления; 3) арифметические и логические операции; 4) команды пересылки данных; 5) команды
работы с битами. В последних версиях кристаллов AVR семейства "mega" реализована функция аппаратного умножения, что придает новым микроконтроллерам еще больше привлекательности с точки зрения разработчика.
По разнообразию и количеству реализованных инструкций AVRконтроллеры больше похожи на CISC -, чем на RISC - процессоры. Так, у PICконтроллеров система команд насчитывает до 75 различных инструкций, а у
ОМК MCS51 она составляет 111. В целом, прогрессивная RISC-архитектура
AVR в сочетании с наличием регистрового файла и расширенной системы команд позволяет в короткие сроки создавать работоспособные программы с эффективным кодом как по компактности реализации, так и по скорости выполнения.
3.8. Разработка и отладка контроллеров
Проектирование специализированного микропроцессорного
устройства или системы содержит обычно три этапа [22]:
• выбор элементов и составление структурной, функциональной
и принципиальной схем;
• распределение памяти и присвоение элементам, к которым в
процессе выполнения программы необходимо обращаться, соответствующих кодов и адресов;
• составление и отладка программы.
Основными исходными данными для проектирования МПС являются описание или схема алгоритма решаемой задачи, характеристики входных и выходных сигналов, требования к точности, быстродействию, потребляемой мощности, надежности. Часто в задании
на проектирование содержатся также рекомендации по применению
определенной элементной базы. Во многих случаях указанные требования закладываются в схему устройства вначале лишь в общем виде
(посредством выбора подходящих элементов), затем в процессе проектирования проверяется их выполнение и вносятся необходимые
коррективы.
На первом этапе проектирования выбирается элементная база,
определяемая прежде всего спецификой реализуемых в МПС алгоритмов. Если МПС предназначается для обработки сигналов, опреде-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
66
ляющим является быстродействие МП и его разрядность. В настоящее время разработаны весьма совершенные специализированные
однокристальные МП для цифровой обработки сигналов типа TMS
320, которым во многих случаях и следует отдавать предпочтение.
Если МПС предназначены для построения информационносправочной системы, определяющим требованием обычно является
возможность подключения к МП ЗУ большой емкости.
На первом этапе проектирования выбираются также элементы
памяти ОЗУ и ПЗУ, имеющие требуемую емкость, быстродействие и
потребляемую мощность, а также интерфейсные модули, обеспечивающие связь МП с внешними устройствами. Если система "компактна", связь обеспечивается, как правило, с помощью параллельных периферийных адаптеров или многорежимных буферных регистров; если же ВУ разнесены на большие расстояния, связь иногда
организуется с помощью последовательных адаптеров. При этом линии связи упрощаются, но производительность системы падает. Для
частичной разгрузки центрального процессорного элемента в систему
иногда включают таймер, который берет на себя функции "времязадающего" элемента, а также другие устройства.
Далее проверяется электрическое сопряжение элементов схемы
и при необходимости вводятся усилители, формирователи, преобразователи уровней и т.д. Затем составляются исходные варианты
структурной, функциональной и принципиальной схем.
Выполнение второго этапа начинается с распределения адресного поля между ОЗУ, ПЗУ и ВУ.
Далее выделяются области ПЗУ для запоминания основной программы, подпрограмм (в том числе программ обработки прерываний), констант и т.д. В ОЗУ выделяются области для хранения поступающих из ВУ данных и промежуточных результатов, а также организации стека. Начало (вершина) стека часто располагается в последней ячейке ОЗУ. Затем специфицируются РОНы и МП.
На третьем этапе составляется программа работы устройства.
При этом, если решаемая задача простая (программа содержит до 100
команд), используется язык ассемблера выбранного МП или ОМК,
который позволяет непосредственно получить двоичные ("объектные") коды команд, записываемые далее в ПЗУ. Если же задача достаточно сложная, то используется тот или иной язык высокого уровня. Выбор языка определяется тем, какие имеются в распоряжении
разработчика средства отладки программ и их трансляции в машин-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
67
ные коды выбранного МП. Система команд МП позволяет, как правило, выполнить ту или иную операцию алгоритма множеством способов, поэтому составленную программу, даже если она правильно
решает сформулированную задачу, необходимо тщательно проанализировать и по возможности оптимизировать в целях уменьшения емкости используемой памяти и времени выполнения.
При отладке программ на ЭВМ, имеющих трансляторы с ассемблера, программы необходимо дополнить соответствующими псевдокомандами.
Широкие возможности использования типовых решений на первом и втором этапах проектирования и ограниченные возможности
такого рода на третьем этапе приводят к тому, что 60…90 % трудоемкости проектирования специализированного МПУ или МПС приходится на третий этап.
Разработка и отладка контроллера существенно облегчается и
ускоряется, если использовать специальные пакеты программ для отладки. Рассмотрим в качестве примера разработанный фирмой
HiWare отладочный модуль HC11EVB, работающий с микроконтроллером МС68НС11Е1. Отладочный модуль позволяет производить отладку программного и аппаратного обеспечения ОМК
на базе БИС МС68НС11 серий АО, А1, А8, ЕО, Е1, Е2, Е9, DO, D3.
На нем также можно отлаживать структуры системы команд, схемотехническое и программное обеспечение, порядок функционирования
и методы программирования МП БИС серии МС68НС11.
Наиболее интересной и полезной особенностью пакета отладки
HI-WAVE является возможность симулировать работу устройств
ввода/вывода создаваемого микроконтроллера. В основном, симуляторы эмулируют работу регистров микропроцессора и исполнение
его команд. Это очень полезная функция, но микропроцессор — это
иногда лишь малая часть встроенной микропроцессорной системы.
Используя пакет отладки HI-WAVE, разработчик промышленного
микроконтроллера может эмулировать работу не только микропроцессора, но и устройств ввода/вывода, таких как регистровые устройства, аналого-цифровые преобразователи, таймеры (включая прерывания, приходящие от них), а также другие компоненты системы ввода/вывода микроконтроллера.
Отладочный комплекс включает компьютер IBM PC, на котором работает
программа XDBG11 и отладочный модуль HC11EVB. Питание отладочного
модуля может осуществляться от отдельного источника питания и от компьютера (через разъем подключения дисковода 5"25).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
68
На рис. 3.3 представлена структурная электрическая схема отладочного
модуля 68НС11EVB, включающая набор блоков, выделенных по функциональному признаку. В состав модуля 68НС11EVB входят следующие узлы:
• блок микроконтроллера (МК);
• дешифратор адреса и сигналов управления (ДА);
• блок оперативной памяти (ОЗУ);
• блок последовательного интерфейса (БПИ);
• эмулятор портов В и С микроконтроллера (ЭМ);
• блок имитатора внешних устройств (ИВУ).
ИВУ
HL2
ОЗУ
ЭМ
HL9
SA1
SA2
PAО
Разъемы
подключения
периферии
МК
МК
ДА
T×D
PAQ
R×D
БПИ
OUT
RS-232
IN
Рис. 3.3. Структурная электрическая схема отладочного модуля 68HC11EVB
В блок микроконтроллера входит однокристальный микроконтроллер
МС68НС11Е1 (вместо него в панель могут быть также установлены ОМК серий
АО, А1, А8, ЕО, Е2, Е9), буфер магистрали данных и управления, буфер старшего байта адреса, а также регистр младшего байта адреса. Буфер данных служит для увеличения нагрузочной способности шины данных микроконтроллера. Буфер переключается на ввод данных при чтении команд или данных из памяти или внешних устройств. В целях увеличения нагрузочных способностей
соответствующих линий микроконтроллера используются буфер управления и
буфер старшего байта адреса. Регистр младшего байта адреса фиксирует младший байт адреса, который выводится через те же выводы ОМК НС11, что и
данные.
Дешифратор адреса и сигналов управления формирует сигналы управления для памяти и внешних устройств. Выборка ОЗУ производится при обращении по адресам $COOO-$FFFF. Сигнал внешней выборки эмулятора портов
производится при установленных битах А9-А11 и при отсутствии обращения к
ОЗУ. Также здесь формируются сигналы чтения R/ и записи W/.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
69
Блок оперативной памяти команд содержит две ИС ОЗУ типа 6264 объемом по 8 кбайт. Пользователь имеет возможность записывать и считывать
данные из ОЗУ, а также вводить и запускать программы. и запускать
Блок последовательного интерфейса преобразует выходной сигнал TxD
ОМК семейства НС 11 с уровнем ТТЛ в сигнал с уровнем -12В/+12В (OUT), а
также преобразует сигнал с линии RS-232 (IN) в сигнал с ТТЛ-уровнем, подаваемый на вход RxD ОМК.
Функцию эмулятора портов В и С микроконтроллера выполняет БИС
68РС24. Порты В и С HC11 задействованы на обмен с внешней памятью, и для
возможности эмуляции их работы в однокристальном режиме используется
68НС24.
Схема имитатора внешних устройств предназначена для формирования воздействий на ОМК через порт С эмулятора портов и отображения состояния порта В эмулятора портов. Клавиша «РА0» со схемой антидребезга используется для формирования воздействия на вход схемы входного захвата
IC3 НС 11 при изучении работы внутреннего таймера (или для формирования
воздействия на вывод 0 порта А).
Для организации работы МПС с внешними устройствами используются различные системы. Ниже рассмотриваются основные
способы передачи информации и устройства ввода/вывода.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Что такое контроллер?
2. Что такое ОМК?
3. Что такое одноплатная ЭВМ?
4. Каковы отличия PIC-контроллеров от AVR-контроллеров?
5. Каковы отличия ОМК семейств MCS-51 от ОМК семейства MCS-96?
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
70
4. УСТРОЙСТВА ВВОДА/ВЫВОДА
Связь внешних (периферийных) устройств с МПС обеспечивается системой ввода/вывода. Применяют три основных метода управления вводом/выводом: программный через порты ввода / вывода, с
использованием системы прерываний, прямого доступа к памяти.
Раньше применяли, так называемый ввод/вывод, отраженный на
память (обращение к внешним устройствам осуществлялась как к
обычным ячейкам памяти). Однако это приводит к уменьшению адресного пространства МПС. Теперь этот метод практически не применяется.
4.1. Cпособы передачи информации
В МПС существует три способа передачи информации:
 асинхронный
 синхронный
 смешанный.
Асинхронный способ характеризуется тем что сигналы передаются с произвольными промежутками времени.
Синхронный способ характеризуется тем что сигналы передаются строго периодично во времени.
Смешанный способ характеризуется тем что байты передаются
асинхронно а биты внутри байтов синхронно.
Асинхронный способ обеспечивает передачу информации по
единственной линии. Для надежной синхронизации обмена в асинхронном режиме необходимо:
• настраивать передатчик и приемник на работу с одинаковой
частотой;
• формировать стартовый и стоповый биты передатчика, отмечающие начало и конец посылки;
• вести передачу короткими посылками (5..9 бит), а частоты передачи выбирать сравнительно низкими.
Асинхронный способ по методу регистрации сигналов делится
на стробируемый и «запрос-ответ».
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
71
Стробирование может осуществляться по фронту или по
уровню. Строб – дополнительный сигнал. Он является подтверждением действительности других сигналов.
Достоинства стробирования по фронту: легкая аппаратная реализация высокое быстродействие.
Недостатки: нельзя использовать строб сигнал как сигнал
синхронизации момент переключения трудно зафиксировать программно.
Достоинства стробирования по уровню: легкая аппаратная реализация легкая программная реализация легкая организация приема
от нескольких источников.
Недостатки: нельзя использовать строб-сигнал как сигнал синхронизации меньшее быстродействие.
Метод «запрос-ответ» выполняется за 5 этапов:
t1 – передатчик выставляет данные (предварительно проверив отсутствие строба-ответа);
t2 – передатчик с некоторой задержкой выставляет сигнал стробзапрос;
t3 – приемник анализируя состояние линии строб-запрос обнаруживает наличие определенного сигнала и в этот же момент осуществляет прием данных по линии;
t4 – передатчик сканируя линию строб-ответ обнаруживает что
он активен и сбрасывает строб-запрос;
t5 – приемник сканируя линию строб-запрос обнаруживает что
строб запрос стал неактивен и сбрасывает строб-ответ;
t6 – повторяется тоже самое что и на первом этапе t1;
Достоинства: позволяет сопрягать аппаратуру существенно отличающуюся быстродействием легко организуется программным
путем.
Недостатки: нельзя использовать строб - сигнал как сигнал синхронизации меньшее быстродействие.
При синхронном методе передатчик генерирует две последовательности - информационную TxD и синхроимпульсы CLK, которые
передаются на приемник по разным линиям (рис. 4.1.).
Синхроимпульсы обеспечивают синхронизацию передаваемых
бит, а начало передачи отмечается по-разному.
Применяют внешнюю и внутреннюю синхронизации.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
72
При организации внешней синхронизации сигнал начала передачи генерируется передатчиком и передается на приемник по специальной линии BD (рис. 4.1.).
TxD
Сдвиговый
регистр данных
&
BD
CLK
Г
Передатчик
RxD
Сдвиговый
регистр.
Д
Приемник
Рис. 4.1. Последовательный синхронный обмен с внешней синхронизацией
Сигналы синхронизации поступают вместе с данными, их форма
может быть неправильной, поэтому внешняя синхронизация используется только при передаче на небольшие расстояния т.е. внутри
платы.
В системах с внутренней синхронизацией отсутствует линия
BD, а на линию данных генерируются специальные коды длиной
1-2 байта - “символы синхронизации”. Для каждого приемника предварительно определяются конкретные синхросимволы, таким образом можно осуществлять адресацию конкретного абонента из нескольких, работающих на одной линии. Каждый приемник постоянно
принимает биты с RxD, формирует символы и сравнивает с собственными синхросимволами. При совпадении синхросимволов последующие биты поступают в канал данных приемника. При асинхронносинхронном способе каждый байт преобразуется в поток единиц и
нулей, то есть биты, которые могут быть переданы через среду связи
(например, телефонную линию). Обычно, когда линия находится в
режиме ожидания, для демонстрации того, что она в порядке, по ней
передается единица, тем самым обозначается незанятость линии. С
другой стороны, когда линия находится в состоянии логического нуля, говорится, что она стоит в режиме выдерживания интервалов. Таким образом, логические единица и ноль рассматриваются соответственно как сигналы MARK и SPACE.
В асинхронной связи изменение условия состояния линии с
MARK на SPACE означает начало символа (рис 4.2).
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
73
Stop bit
Start
Pause
Bit
Pause
Byte
Бит четкости
Рис. 4.2. Асинхронно-синхронный способ передачи информации
Это называется стартовым битом. За стартовым битом следует
комбинация битов, представляющая символ, и затем бит контроля
четности. Наконец, линия переходит в состояние ожидания MARK,
которая представляет собой стоповый бит и означает конец текущего
символа.
Число битов, используемых для представления символа, называется длиной слова и обычно равняется семи или восьми. Контрольный бит используется для выполнения элементарной проверки на
наличие ошибки.
Длительность каждого бита определяется генераторами тактовых импульсов приемника и передатчика. Однако генераторы в приемнике и передатчике должны иметь одну и ту же частоту, но не требуется, чтобы они были синхронизированы. Выбор частоты генератора зависит от скорости передачи в бодах, которая означает число изменений состояния линии каждую секунду. Номинально, тактовая частота "16-кратная скорость передачи в бодах" означает, что линия
проверяется достаточно часто для надежного распознавания стартового бита.
Рассмотренные принципы асинхронной последовательной связи
реализованы в ряде стандартов для передачи информации, среди которых наиболее популярным является стандарт RS-232С.
Эти же принципы последовательной связи реализованы в ряде
БИС последовательных приемо-передатчиков УАПП, среди которых
наиболее известные 6850, Intel 8251, КР580ВВ51А, Z80-SIO, 8250,
16450, 16550, 16550А. Эти УАПП выполняют следующие функции:
• обеспечение преобразования параллельного кода в последовательный при передаче данных и обратное преобразование при их
приеме;
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
74
• формирование стартового, контрольного и стопового разрядов
при передаче данных;
• контроль правильности приема стартового, контрольного и
стопового разрядов при приеме, анализ их "переполнения", когда ранее принятые знаки не переписываются в системную шину до приема
очередного знака;
• прием и передача знака на фиксированных скоростях;
• формирование и контроль состояния сигналов в интерфейсе
RS-232C;
• организация диагностической проверки без использования
подключаемого к интерфейсу RS-232C оборудования.
В состав PC AT входит оборудование, которое обеспечивает обмен. Это оборудование соответствует требованиям стандарта США
RS-232C и рекомендациям V.24 и V.28 международного консультативного комитета по телефонии и телеграфии МККТТ (CCITT) и соответствуют ГОСТ 18145-81 и ГОСТ 23675-79 соответственно.
Устройства обеспечивающие связь в соответствии с этими стандартами называют интерфейсом RS-232C или последовательным асинхронным интерфейсом.
Персональные компьютеры имеют в своем составе обычно два
интерфейса RS-232C, которые обозначаются COM1 и COM2. Возможна установка дополнительного оборудования, которое обеспечивает функционирование в составе компьютера 4,8и 16 интерфейсов
RS-232C.
Интерфейс RS-232C обеспечивает следующие возможности:
1. Применение ПК в качестве абонентского пункта в системах и
сетях телеобработки данных. В этом случае ПК подключается через
этот интерфейс к устройствам преобразования сигналов (модемам),
которые в свою очередь подключаются к каналам связи.
2. Подключение к ПК различных устройств ввода/вывода (графопостроителей, принтеров, графических манипуляторов, внешних
НГМД, стриммеров и т.д.).
3. Объединение нескольких PC между собой и с другими ЭВМ
для организации перекачки файлов между ними.
Широкое применение интерфейса RS-232C объясняется его
универсальностью в части диапазона скоростей передачи информации (от 50 до 115 000 бит в секунду), "прозрачностью", т.е. отсутствием запрещенных к использованию для передачи данных кодовых
комбинаций, наличием специализированных БИС и ИС, на которых
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
75
достаточно эффективно реализуется данный интерфейс, простотой
конструкции соединительных кабелей.
Основные принципы обмена информацией по интерфейсу RS232C заключаются в следующем:
1. Обмен данными обеспечивается по двум цепям, каждая из которых является для одной из сторон передающей, а для другой принимающей.
2. В исходном состоянии по каждой из этих цепей передается
двоичная единица, т.е. стоповая посылка. Передача стоповой посылки
может выполняться сколько угодно долго.
3. Передаче каждого знака данных предшествует передача стартовой посылки, т.е. передача двоичного нуля в течение времени, равного времени передачи одного бита данных.
4. После передачи стартовой посылки обеспечивается последовательная передача всех разрядов знака данных, начиная с младшего
разряда. Количество разрядов знака может быть 5, 6, 7 или 8.
5. После передачи последнего разряда знака данных возможна
передача контрольного разряда, который дополняет сумму по модулю
2 переданных разрядов до четности или нечетности. В некоторых системах передача контрольного разряда не выполняется.
6. После передачи контрольного разряда или последнего разряда
знака, если формирование контрольного разряда не предусмотрено,
обеспечивается передача стоповой посылки. Минимальная длительность посылки может быть равной длительности передачи 1, 1,5 или2
бит данных.
Обмен данными по описанным принципам требует предварительного согласования приемника и передатчика по количеству используемых разрядов в символе, правилам формирования контрольного разряда и длительности передачи бита данных. Последнее согласование обеспечивается путем стандартизации ряда скоростей: 50,
75, 100, 110, 200, 300, 600, 1200, 2400, 4800, 9600, 19 200, 38 400, 57
000 или 115 000 бит в секунду. Установленная скорость должна отличаться от номинальной не более чем на 2 %, что гарантированно
обеспечивается применением генераторов с кварцевыми резонаторами. Обычно используется генератор с частотой 1,8432 МГц.
В МПС применяются кроме рассмотренного интерфейса RS232С также интерфейсы PCI,USB, VXI, VIME и другие.
Универсальный интерфейс PCI (соединение процессора с периферийными элементами и системой процессора памяти) имеет встро-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
76
енную поддержку кэширования (механизм слежения за шиной – интерференция данных). Он обеспечивает пересылки 32 и 64 бит при
частоте 33,66,133 МГц, при этом разрешаются групповые пересылки.
В интерфейсе PCI реализована функция автоконфигурирования системы и скрытый арбитраж - арбитраж осуществляется в то время,
когда на шину идут пересылки (время не тратится). При пересылках
осуществляется контроль чёткости адреса данных, что обеспечивает
высокую надёжность интерфейса. Низкая стоимость интерфейса PCI
определяется относительно малым числом выводов (49 для ведущего
(мастер) и 47 для ведомого (Slave)).
Работа интерфейса осуществляется следующим образом. Активное устройство выдаёт сигнал REQ на арбитр по своей линии (у
каждого устройства свои сигналы REQ , GNT). Арбитр определяет
устройство, которое имеет наиболее высокий приоритет и по линии
выдаёт сигнал GNT этому устройству. Активное устройство выставляет сигнал FRAME, означающее, что устройство захвачено, и осуществляет обмен.
4.2. Методы ввода/вывода
Подсистема ввода/вывода (ПВВ) обеспечивает связь МП с
внешними устройствами, к которым относятся:
 устройства ввода/вывода : клавиатура, дисплей, принтер,
датчики и исполнительные механизмы, АЦП, ЦАП, таймеры и
т.п.;
 внешние запоминающие устройства (ВЗУ или ВУ): накопители на магнитных дисках, "электронные диски" и др.
В рамках рассмотрения ПВВ будем полагать термины "УВВ" и
"ВУ" синонимами, так как обращение к ним со стороны процессора
осуществляется по одним законам.
ПВВ в общем случае должна обеспечивать выполнение следующих функций.
1. Согласование форматов данных. Процессор всегда выдает/принимает данные в параллельной форме, а некоторые ВУ (например, НМД) - в последовательной. С этой точки зрения различают
устройства параллельного и последовательного обмена. При параллельном обмене не производится преобразование форматов передаваемых слов, при последовательном - осуществляется преобразования параллельного кода в последовательный и наоборот. Все вари-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
77
анты, когда длина слова ВУ (больше 1 бита) не совпадает с длиной
слова МП, сводятся к разновидностям параллельного обмена.
2. Организация режима обмена - формирование и прием
управляющих сигналов, идентифицирующих наличие информации на
различных шинах, ее тип, состояние ВУ (готово, занято, авария), регламентирующих временные параметры обмена. По способу связи
процессора и ВУ (активного и пассивного) различают синхронный и
асинхронный обмен. При синхронном обмене временные характеристики обмена полностью определяются МП, который не анализирует
готовность ВУ к обмену и фактическое время завершения обмена.
Синхронный обмен возможен только с устройствами, всегда
готовыми к нему (например, двоичная индикация). При асинхронном обмене МП анализирует состояние ВУ и/или момент завершения обмена. Временные характеристики обмена в этом случае могут
определяться ВУ.
3. Адресная селекция внешнего устройства. Возможны следующие методы ввода/вывода:
- под управлением МП: по опросу или прерыванию;
- управлением внешних устройств (прямого доступа к памяти).
Метод ввода/вывода по опросу подразумевает регулярную
проверку процессором готовности к ответу. Необходимо, чтобы процессор и устройства были согласованны по скорости. Эффективность низка если информация поступает редко (процессор опрашивает а информации нет).
Недостатки: очень низкое быстродействие; процессор занимается постоянным опросом.
Достоинства: не требует дополнительной аппаратуры; можно
использовать несколько источников.
Более эффективен метод ввода/вывода по прерыванию
Метод ввода/вывода по прерыванию реализуется в виде подсистемы- совокупности аппаратных и программных средств, обеспечивающих реакцию программы на события, происходящие вне программы. Такие события возникают, как правило, случайно и асинхронно по отношению к программе и требуют прекращения (чаще
временного) выполнения текущей программы и переход на выполнение другой программы (подпрограммы), соответствующей возникшему событию.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
78
Различают внутренние и внешние (по отношению к процессору)
события, требующие реакции подсистемы прерываний.
К внутренним событиям относятся переполнение разрядной сетки при выполнении арифметических операций, попытка деления на 0,
извлечение корня четной степени из отрицательного числа и т.п., появление несуществующего кода команды, обращение программы в
область памяти, для нее не предназначенную, сбой при выполнении
передачи или операции в АЛУ и многое другое. Внутренние прерывания должны обеспечиваться развитой системой аппаратного контроля процессора, поэтому они не получили широкого распространения в простых 8- и 16-разрядных МП.
Внешние прерывания могут возникать во внешней по отношению к процессору среде и отмечать как аварийные ситуации (кончилась бумага на принтере, температура в реакторе превысила допустимый уровень, исполнительный орган робота дошел до предельного положения и т.п.), так и нормальные рабочие события, которые
происходят в случайные моменты времени (нажата клавиша на клавиатуре, исчерпан буфер принтера или ВЗУ и т.п.). Во всех этих случаях требуется прервать выполнение текущей программы и перейти
на выполнение другой программы (подпрограммы), обслуживающей
это событие.
С точки зрения осуществления внутренние и внешние прерывания функционируют одинаковым образом, хотя при работе подсистемы с внешними прерываниями возникают дополнительные проблемы идентификации источника прерывания.
Организация прерываний должна быть обеспечена определенными аппаратными и программными средствами, которые мы и
называем "подсистемой прерываний".
Подсистема прерываний должна обеспечивать выполнение следующих функций:
• обнаружение изменения состояния внешней среды (запрос на
прерывание);
• идентификация источника прерывания;
• разрешение конфликтной ситуации в случае одновременного
возникновения нескольких запросов (приоритет запросов);
• определение возможности прерывания текущей программы
(приоритет программ);
• фиксация состояния прерываемой (текущей) программы;
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
79
• переход к программе, соответствующей обслуживаемому прерыванию;
• возврат к прерванной программе после окончания работы прерывающей программы.
Рассмотрим варианты реализации в МПС перечисленных функций.
Фиксация изменения состояния внешней среды может осуществляться различными средствами: двоичными датчиками, компараторами, схемами формирования состояний и т.п. Все эти средства
формируют в конечном итоге логические сигналы запроса на прерывание Z, причем активное состояние этого сигнала передается уровнем логической единицы (H - уровень).
Количество источников запросов в МПС может быть различно, в
том числе и довольно велико. Дефицит внешних выводов МП исключает возможность передачи запросов от ВУ по "собственным" линиям
интерфейса. Обычно на одну линию запроса подключается несколько
источников прерываний (по функции ИЛИ), а иногда и все источники
системы - на единственный вход (как в МП i8080).
Различают два типа входов запросов на прерывания - радиальные и векторные. Процессор анализирует состояние входов запросов
в конце каждого машинного цикла.
Получив запрос на прерывание, процессор должен идентифицировать его источник, т.е. в конечном счете, определить начальный адрес обслуживающей это прерывание программы. Способ идентификации зависит от типа входа, на который поступил запрос.
Каждый радиальный вход связан с определенным адресом памяти, по которому размещается указатель на обслуживающую программу или сама программа. Если на радиальный вход поступает несколько запросов, то необходимо осуществить программную идентификацию источника путем последовательного (в порядке убывания приоритетов) опроса всех возможных источников прерывания. Этот способ не требует дополнительных аппаратных затрат и одновременно
решает проблему приоритета запросов, однако время реакции системы на запрос может оказаться недопустимо велико, особенно при
большом числе источников прерываний. Гораздо чаще в современных МПС используется так называемый "векторная" подсистема
прерываний.
В такой системе микропроцессор, получив запрос на векторном
входе INT, выдает на свою выходную линию сигнал подтверждения
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
80
прерывания INTA, поступающий на все возможные источники прерывания. Источник, не выставивший запрос, никак не реагирует на
сигнал INTA. Источник, выставивший запрос, получая сигнал INTA,
выдает на системную шину данных "вектор прерывания" – свой
номер или адрес обслуживающей программы или, чаще, адрес памяти, по которому расположен указатель на обслуживающую программу. Время реакции МПС на запрос векторного прерывания минимально (1..3 машинных цикла) и не зависит от числа источников
(рис. 4.3.).
Микропроцессор
INT
Шина данных
V1
INTA
1
V2
2
V3
3
V4
4
Vn
n
Рис. 4.3. Организация векторного прерывания
Для исключения конфликтов при одновременном возникновении нескольких запросов на векторном входе ответный сигнал INTA
подается на источники запросов не параллельно, а последовательно –
в порядке убывания приоритетов запросов. Источник, не выставивший запрос, транслирует сигнал INTA со своего входа на выход, а источник, выставивший запрос, блокирует дальнейшее распространение
сигнала INTA. Таким образом, только один источник, выставивший
запрос, получит от процессора сигнал INTA и выдаст по нему свой
вектор на шину данных.
Более гибко решается проблема организации приоритетов
запросов при использовании в МПС специальных контроллеров прерываний.
Конфликты на радиальном входе исключаются самим порядком
программного опроса источников.
Прерывание в общем случае может возникать не только при решении "фоновой" задачи, но и в момент работы другой прерывающей
программы, причем не всякую прерывающую программу допустимо
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
81
прерывать любым запросом. В фоновой задаче также могут встречаться участки, при работе которых прерывания (все или некоторые)
недопустимы. В общем случае в каждый момент времени работы
процессора должно быть выделено подмножество запросов, которым
разрешено прерывать текущую программу.
В МПС эта задача решается на нескольких уровнях. В процессоре обычно предусматривается программно-доступный флаг разрешения/запрещения прерывания, значение которого определяет возможность или невозможность всех прерываний. Для создания более гибкой системы приоритетов программ на каждом источнике прерываний может быть предусмотрен специальный программно-доступный
триггер разрешения формирования запроса. В таком случае возможно
формирование произвольного подмножества разрешенных в данный
момент источников прерываний.
Процедура перехода к прерывающей программе и последующего возврата из нее может быть полностью идентична действиям, выполняемым по командам ВЫЗОВ и ВОЗВРАТ. Состояние программного счетчика (а иногда и регистра флагов или PSW) аппаратно фиксируется в стеке, а значение РОНов - при необходимости программно
в самом тексте прерывающей программы. Учитывая, что большинство команд МП являются короткими, время реакции МПС на запрос
прерывания при анализе запросов по завершению текущего командного цикла не бывает большим.
Внешние устройства, включенные в подсистему прерываний, должны реализовать несколько функций, связанных с работой в этой подсистеме - формирование запроса, анализ ответа процессора, выдачу вектора прерывания. Кроме
того, в подсистеме необходимо обеспечить дисциплину обслуживания запросов. Перечисленные функции могут быть реализованы на специальных устройствах - контроллерах прерываний, которые выпускаются в виде БИС в составе
многих микропроцессорных комплектов.
Структурная схема простого контроллера прерываний К589ИК14 [10],
применяемого совместно с МП К580ВМ80 включает следующие блоки:
• регистр запросов Pr 3П, на который поступают запросы на прерывание
Z0..Z7 от внешних источников;
• приоритетный шифратор (ПШ), формирующий на выходе трехразрядный код номера возбужденного входа (соответствующего разряда РгЗП), причем, если на входе ПШ присутствуют несколько единиц, то на выходе будет
сформирован код большего номера;
• буферная схема, подключающая выход ПШ к линиям системной шины
данных при подаче на управляющий вход сигнала подтверждения прерывания
INTA;
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
82
• регистр текущего приоритета, программно-доступный в пространстве
ввода/вывода и хранящий трехразрядный код приоритета текущей программы;
• схема сравнения, формирующая запрос на прерывание INT процессору
при условии, что код наибольшего из поступивших запросов больше кода текущего приоритета (рис. 4.4.).
INTA
Z7
Z6
Регистр
запросов
Z5
8
Приоритетный
шифратор
Буфер
DB[5:3]
3
3
Z0
DB[2:0]
3
от ДшА
Регистр
текущего
приоритета
3
3
Схема
сравнения
INT
С
Рис. 4.4. Контроллер К589ИК14
К недостаткам рассмотренного контроллера прерываний К589ИК14 относится жесткая система приоритетов запросов, не позволяющая обеспечить
равновероятное обслуживание источников прерываний. Кроме того, контроллер не позволяет выделить произвольное подмножество разрешенных в данный момент прерываний из множества поступающих на его входы запросов.
Возможно лишь задать определенный уровень, начиная с которого запросы
будут разрешены.
Разработано много других программируемых контроллеров прерываний,
которые позволяют организовать более гибкую и эффективную подсистему
прерываний в МПС.
Наиболее эффективным является метод ввода/вывода путем
прямого доступа в память, когда процедура ввода/вывода осуществляется самим ВУ вообще без участия МП.
4.3. Подсистема прямого доступа в память МПС
.
Рассмотрим вариант программно-управляемого обмена между
памятью и внешним устройством в МПС на базе МП i8080 [11].
Пусть необходимо передать массив данных длиной L, начиная с ад-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
83
реса ADR на ВУ с адресом AIO. Положим, что начальный адрес массива загружен в регистровую пару HL, а длина массива - в регистр C.
Тогда фрагмент программы обмена может иметь следующий вид
(табл. 3).
Таблица 3
Метка
Мнемокод
Комментарий
Число машинных
циклов
LM:
MOVA,M
Чтение байта в аккумулятор
2
OUT AIO
Выдача байта на ВУ
3
INX H
Модификация адреса
1
DCR C
Модификация счетчика
1
JNZ LM
Переход, если
массив не исчерпан
Всего
3
10
Таким образом, для того чтобы в рамках процедуры копирования массива данных из памяти в ВУ переслать один байт данных потребуется десять машинных циклов. Процессоры с более совершенной системой команд могут использовать для этой цели меньшее
число МЦ, но все равно их будет более одного.
Управляя обменом, микропроцессор "ведет" два счетчика - адресов массива и число переданных байт и формирует сигналы управления на магистраль. Если снабдить ВУ аппаратными счетчиками и
схемой формирования управляющих сигналов (так называемый "канал ПДП - прямого доступа в память"), то передачу одного байта
(слова) можно осуществить за один МЦ без участия процессора.
Необходимо лишь на время передачи данных под управлением канала ПДП блокировать работу процессора, отключив его от системной
шины. Для этого служит вход захвата шины HOLD. Если подать на
него высокий уровень, то МП по окончании текущего МЦ, безусловно, перейдет в режим ожидания, переведя все свои выходные линии,
кроме HLDA и WAIT, в высокоимпедансное состояние, а выходы
HLDA и WAIT - в состояние лог. "1". Выходной сигнал HLDA используется для отключения МП от системной шины - перевода шинных формирователей, включенных между локальной и системной
шиной, в высокоимпедансное состояние.
Если в МПС используется несколько ВУ, снабженных каналом
ПДП, то целесообразно использовать специальный контроллер ПДП,
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
84
который обеспечивает программирование каналов ПДП, подключение их к системной шине и дисциплину обслуживания.
Рассмотрим сравнительно простой контроллер прямого доступа в память
К580ВТ57 (рис. 4.5), который предназначен для формирования последовательности адресов и управляющих сигналов в режиме ПДП.
AB[3:
0]
AB[7:
4]
A[3:0]
Рг. Р
Рг. С
A[7:4]
AB[15:8
]
Рг. A
Рг. А0
ADSTB
Рг. Y0
DRQ0
DACK
0
D[7:0]
Шина управления
Шина адреса
Шина данных
RESET
AEN
READ
Y
Ф2ТТЛ
RDM
RESET
Рг. А1
Рг. Y1
AEN
12222222
22222222
22222222
Рг. А2
Рг. Y2
WRM
DACK
22222222
READY
CLK
DRQ1
RDM
DRQ
2
22222222
22222222
DACK
2222222
2
RDIO
WRIO
HOLD
HLDA
Селектор
адреса
WRM
RDIO
WRIO
Рг. А3
Рг. Y3
DRQ3
DACK
3
HOLD
TC
HLDA
MAR
K
CS
Рис.4.5. Структурная схема контроллера прямого доступа в память
Контроллер ПДП имеет четыре независимых канала обмена. Блок управления каждого канала включает два 16-разрядных регистра : регистр начального адреса РА и регистр управления РУ, причем РУ[13:0] хранит длину передаваемого массива (количество передаваемых байт), а РА[15:14] - режим работы
канала.
Контроллер включает помимо четырех каналов ПДП, схему управления, которая обеспечивает связь с системной шиной, разрешение конфликт-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
85
ных ситуаций в соответствии с заданной системой приоритетов и управление работой контроллера в различных режимах.
Схема управления содержит два 8-разрядных регистра, общих для всех
каналов: регистр режимов РгР и регистр состояний РгС, причем РгР доступен
процессору только по записи, а РгС только по чтению.
Выводы контроллера можно разделить на две группы : (а) линии связи с
ВУ и (б) линии связи с системной шиной МПС.
Линии связи с системной шиной передают стандартные сигналы управления, которые используются традиционно: RESET, READY и др. (контроллер
анализирует состояние готовности и при необходимости, как и МП, вставляет
такты ожидания Tw). Контроллер синхронизируется внешним системным синхросигналом.
Контроллер ПДП может работать в двух режимах: в режиме программирования и в режиме ПДП.
В режиме программирования контроллер является пассивным устройством и процессор осуществляет с ним связь как с обычным ВУ. В режим ПДП
контроллер переходит при поступлении запроса DRQ незамаскированного канала. Он вырабатывает запрос микропроцессору HRQ на захват шины и, получив подтверждение HLDA, передает сигнал активизации DACK\ выбранному
ВУ и начинает циклы ПДП.
В цикле ПДП контроллер выдает содержимое РгА на линии A[7:0]
(младший байт) и линии D[7:0] (старший байт в сопровождении строба ADSTB)
и, в зависимости от режима работы канала, одну из пар управляющих сигналов
RDM\ + WRIO\ или RDIO\ + WRM\ (в режиме контроля управляющие сигналы
не выдаются). Режим ПДП завершается при снятии сигнала DRQ. Быстродействие и другие свойства МПС определяются не только устройствами ввода/вывода, но и в значительной мере имеющейся системой памяти.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Какие имеются способы передачи информации и в чем заключаются их различия?
2. Каковы отличия интерфейсов RS-232 от интерфейсов PCI?
3. Назовите методы ввода/вывода информации.
4. Каковы недостатки и преимущества методов ввода/вывода по
опросу и по прерыванию?
5. Каковы отличия «радиальных» и «векторных» систем прерываний?
6. Каково назначение контроллера прерываний?
7. Каково назначение контроллера ПДП?
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
86
5. УСТРОЙСТВА ПАМЯТИ МПС
Микропроцессорная система содержит, как правило, внутренние
и внешние устройства памяти. Внешней памятью называют накопители на магнитных, оптических дисках, лентах и т.п. Внутренняя память выполняется, чаще всего, на микросхемах. Внутренняя или основная память может быть двух типов: постоянные и оперативные
запоминающие устройства (соответственно ПЗУ и ОЗУ).
5.1. Организация памяти
В зависимости от типа запоминающего устройства элементом
памяти (ЭП) может быть триггер, миниатюрный конденсатор, транзистор с "плавающим затвором", плавкая перемычка (или ее отсутствие). Упорядоченный набор ЭП образует ячейку памяти (ЯП). Количество элементов памяти в ячейке (длина слова) обычно кратно 2n
(1,4,8,16,32,64..), причем величины свыше восьми достигаются обычно группировкой микросхем с меньшим количеством ЭП.
Количество ЭП в ЯП иногда называется длиной слова. Основными характеристиками микросхем памяти являются информационная емкость, быстродействие и энергопотребление. Емкость ЗУ чаще
всего выражается в единицах, кратных числу 210 = 1024 = 1K. Для
длины слова равной биту (одному двоичному разряду) или байту
(набору из восьми бит) эта единица называется килобит или килобайт
и обозначается Кбит или Кбайт (Kb или KB).
Каждой из 2n ячеек памяти однозначно соответствует n- разрядное двоичное число, называемое адресом ЯП. Так, адресом 511-й
ячейки будет число 1 1111 1111(BIN) = 511(DEC) = 1FF(HEX). В
программах адреса употребляются в 16-м формате. Емкость ЗУ часто
выражается произведением двух чисел 2n×m, где 2n - число ячеек памяти, а m - длина слова ячейки. Например, микросхема 537РУ17
имеет емкость памяти 8K× 8, т.е. 8192 ячейки размером один байт. В
некоторых справочниках для этой же микросхемы приводится обозначение емкости одной цифрой 6 Кбит, что никак не отражает внутреннюю организацию этой микросхемы, такую же емкость могут
иметь микросхемы с организацией 16K× 4, 64K× 1 .
Если требуется увеличить разрядность ячейки памяти, например хранить данные размером в n бит, а длина слова ячейки памяти
m бит (n>m), то прибегают к наращиванию длины слова. Делается
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
87
это путем объединения n / m - микросхем в группы, причем все одноименные входы, кроме информационных, соединяются между собой. Так, если требуется динамическая память емкостью 256K с длиной слова, равной байту, то необходимо объединить 8 микросхем типа 565РУ7.
Распределение адресного пространства выполняется различными методами в разных МПС.
Объем адресного пространства МПС с интерфейсом "Общая
шина" определяется главным образом разрядностью шины адреса,а
также номенклатурой управляющих сигналов интерфейса. Управляющие сигналы могут определять тип объекта, к которому производится обращение (ОЗУ, ВУ, стек, специализированные ПЗУ и др.).
Если МП не выдает сигналов, идентифицирующих пассивное устройство (или они не используются в МПС), для селекции используются
только адресные линии. Число адресуемых объектов составляет в
этом случае 2k, где k - разрядность шины адреса. Такое адресное пространство называется "единым". Иногда говорят, что ВУ в едином
адресном пространстве "отображены на память", т.е. адреса ВУ занимают адреса ячеек памяти. Пример организации селекции устройств в
едином адресном пространстве МПС на базе МП i8080 и распределение адресного пространства показаны на рис.5.1.
ОЗУ
CS
Процессорный модуль
ПЗУ
CS
ВУ
CS
АВ15:0
Селектор адреса
Рис. 5.1. Структура единого адресного пространства
При небольших объемах памяти в МПС целесообразно применять некоторые адресные линии непосредственно в качестве селектирующих (рис. 5.2),
что позволяет уменьшить объем оборудования МПС, исключив селектор адреса. Однако, при этом адресное пространство используется крайне неэффективно.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
88
ОЗУ
C
S
10
Процессорный
модуль
А10
ПЗУ
C
S
10
ВУ
А11
C
S
А12
АВ15:0
Рис. 5.2. Использование адресных линий для прямой селекции устройств
Применяя информацию о типе устройства, к которому идет обращение,
можно одни и те же адреса назначать для разных устройств, осуществляя селекцию с помощью управляющих сигналов.
Большинство МП выдают в той или иной форме информацию о типе обращения. В результате этого в большинстве интерфейсов присутствуют отдельные управляющие линии для обращения к памяти и вводу/выводу, реже - стеку
или специализированному ПЗУ. Поэтому суммарный объем адресного пространства МПС может превышать величину 2k.
При необходимости расширить объем памяти за пределы адресного пространства можно воспользоваться так называемым "диспетчером памяти". В простейшем случае он представляет собой программно-доступный регистр, который должен располагаться в пространстве ввода/вывода [16]. В него заносится номер активного в
данный момент банка памяти, причем объем банка может равняться
объему адресного пространства МП 2k.
Очевидно, в каждый момент времени процессору доступен
только один банк. При необходимости перехода в другой банк памяти
МП должен предварительно выполнить программную процедуру
(чаще всего 1 команду) перезагрузки содержимого номера банка. К
развитию этой идеи можно отнести механизм сегментации памяти в
16- и 32-разрядных МП фирмы INTEL.
Организация и работа ОЗУ и ПЗУ выполняются по-разному.
Ниже рассматриваются устройство и работа различных ПЗУ и ОЗУ.
5.2. Постоянные запоминающие устройства
Постоянные запоминающие устройства на электрических схемах обозначаются буквами ROM (Read Only Memory). Они могут
быть:
• масочными (ROM) - запрограммированными на заводе изготовителе,
• однократно программируемыми пользователем (PROM),
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
89
• многократно программируемыми пользователем (репрограммируемыми РПЗУ) с ультрафиолетовым стиранием EPROM или c
электрическим стиранием EEPROM.
• и в виде так называемой флэш-памяти (Flash).
Широкое распространение нашли также программируемые логические матрицы и устройства PLM, PML, PLA, PAL, PLD, FPGA и
т.д. с большим выбором логических элементов и устройств на одном
кристалле.
В ПЗУ хранятся управляющие работой ЭВМ стандартные программы, константы, таблицы символов и другая информация, которая сохраняется и при выключении компьютера.
Масочные ПЗУ (ROM) получают в заводских условиях с помощью специальных масок, задающих способ соединения отдельных
элементов памяти на общем полупроводниковом кристалле. В дальнейшем изменить записанную таким способом программу нельзя.
Однократно программируемое ПЗУ (OTP,PROM) имеют
набор плавких перемычек, которые в процессе программирования у пользователя пережигаются импульсами тока.
Репрограммируемое ПЗУ (EPROM, EEPROM) допускают
многократное, до сотен тысяч, циклов перепрограммирования на рабочем месте пользователя. Это свойство обеспечивается применением элементов памяти (ЭП) на МОП-транзисторах с
"плавающим затвором" (толщина изоляции "плавающего затвора" порядка 200 нм). Информация считается стертой, если на
выходах всех ЭП высокий уровень сигнала. В режиме программирования на выбранный по адресной шине ЭП, куда необходимо записать ноль, подается импульс. Стирание осуществляется
ультрафиолетовым излучением либо электрическим сигналом. При
этом все ячейки переводятся в состояние "1". Записанная информация сохраняется в течение нескольких лет.
Флэш-память основана на применении МНОП-транзисторов с
комбинированной нитридно-оксидной изоляцией затвора. У этих
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
90
транзисторов при отключении источника питания накопленные заряды вблизи поверхности раздела слоев нитрида и двуокиси кремния
сохраняются в течение более 10 лет. Флэш-память отличается высокой скоростью доступа (85 нс) и быстрым стиранием записанной информации электрическим сигналом. Технологию флэш-памяти разработала фирма Intel. Применяют также так называемую энергонезависимую память NVRAM - NonVolatile Memory. Всякая память, сохраняющая данные при отключении внешнего источника питания может
считаться энергонезависимой, однако этот термин больше утвердился
за статической оперативной памятью с встроенной в микросхему литиевой батарейкой большой емкости.
5.3. Оперативные запоминающие устройства
Оперативные запоминающие устройства на электрических
схемах обозначаются RAM (Random Access Memory). В ОЗУ коды в
соответствии с решаемыми задачами постоянно изменяются и полностью пропадают при выключении питания. ОЗУ подразделяются
на статическую память SRAM, динамическую DRAM и регистровую
RG.
В ОЗУ статического типа SRA в качестве элементов памяти используются простейшие RS- или D-триггеры. Такие ОЗУ характеризуются весьма высоким быстродействием и используются в наиболее
«узких» местах МПС, например для сверхоперативной памяти при
кратковременном хранении промежуточных результатов, в различных регистрах, кэш-памяти и т.п. Статическая память может быть
синхронной и асинхронной. В асинхронной памяти выдача и прием
информации определяется подачей комбинационных сигналов. В
синхронной памяти выдача и прием информации тактируется.
В ОЗУ динамического типа DRAM в качестве элемента памяти
используется микроконденсатор в интегральном исполнении, размеры которого значительно меньше D-триггера статической памяти. По
этой причине при одинаковых размерах кристалла информационная
емкость DRAM выше, чем у SRAM. При этом число адресных входов
и габариты должны увеличиться. Чтобы не допустить этого, адресные
линии внутри микросхемы разбиваются на две группы, например
старшая и младшая половина. Две одноименные k-линии каждой
группы подключаются к двум выходам внутреннего k-го демультиплексора "1 в 2", а его вход соединяется с k-м адресным входом микросхемы. Число адресных входов, при этом уменьшается в два раза,
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
91
но зато передача адреса в микросхему производится, во-первых, в два
приема, что несколько уменьшает быстродействие, и, во-вторых, требуется дополнительный внешний мультиплексор адреса. В процессе
хранения бита конденсатор разряжается. Чтобы этого не допустить,
заряд необходимо поддерживать (обеспечивать регенерацию хранимой информации).
Запоминающая ячейка динамического типа хранит информацию
в виде заряда емкости. Ток утечки обратносмещенного p-n перехода
составляет не более 0,1 нA, а емкость - 0,1..0,2 пФ, следовательно постоянная времени разряда - более 1 мС. Поэтому через каждые 1..2 мс
требуется производить подзаряд емкостей запоминающих элементов
- регенерацию динамической памяти.
В динамических ОЗУ чаще используется так называемая "строчная регенерация", при которой в одном цикле регенерируются все элементы, расположенные в одной строке прямоугольной матрицы накопителя. Любое обращение к запоминающей ячейке (запись или чтение) осуществляет ее регенерацию
и одновременно регенерирует все ячейки, расположенные в той же строке
накопителя.
Для обеспечения гарантированной сохранности информации в динамическом ОЗУ при работе МПС вводятся специальные циклы регенерации
- обращения к ОЗУ по последовательным адресам строк. В большинство
динамических ОЗУ адрес ячейки подается за два приема: сначала адрес строки,
который запоминается во внутреннем регистре ОЗУ, потом по тем же линиям
адрес столбца. Каждая передаваемая по мультиплексированным линиям часть
адреса сопровождается соответствующим управляющим сигналом RAS, CAS.
Для регенерации накопителя достаточно провести обращение только к
последовательным строкам - каждый цикл обращения для регенерации может
состоять только из передачи адреса строки, поэтому для полной регенерации
накопителя объемом 16 K (матрица 128  128) достаточно 128 тактов. Накопители большего объема реализуют на неквадратных матрицах, чтобы уменьшить
число строк и сократить время регенерации. Так, накопитель объемом 64 K
имеет матрицу 128  512.
Различают несколько способов организации регенерации динамических ОЗУ в МПС.
Регенерация "по таймеру"выполняют с помощью специального таймера регенерации, который каждые 2 мс формирует сигнал, блокирующий обращение МП к памяти и запускающий процедуру регенерации. Схема управления
регенерацией включает счетчик адреса регенерации, триггер регенерации и
мультиплексор адреса.
Недостатком такого способа регенерации является значительная потеря
времени на регенерацию - до нескольких процентов времени работы МПС,
причем это время может возрастать с ростом объема памяти МПС. Таким образом, использование метода регенерации по таймеру снижает производитель-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
92
ность МПС, так как при выполнении регенерации МП пребывает в состоянии
ожидания.
При "прозрачной" регенерации выбираются такие моменты времени,
когда МП не занимает системную шину. Однажды начав регенерацию, совсем
не обязательно проводить ее полностью. Циклы регенерации могут чередоваться с процессорными циклами, главное, чтобы процесс регенерации накопителя
завершился за время, не превышающее 2 мс. Многие МП формируют специальные сигналы, отмечающие занятость шины. Эти сигналы можно использовать для управления триггером регенерации. Если МП (например, i8080) не
формирует сигнала занятости магистрали, то такой сигнал можно сформировать специальной внешней схемой.
Главным достоинством метода прозрачной регенерации является отсутствие простоев МП при регенерации ОЗУ.
Регенерация "размещением данных" выполняется в некоторых достаточно редких частных случаях, когда можно воспользоваться частью единого
ОЗУ МПС, к которому МП регулярно обращается, например, для поддержания
изображения на экране. Это достигается соответствующим подбором адресов
так, чтобы каждое обращение к области ОЗУ дисплея, помимо регенерации
изображения, регенерировала и всю память МПС.
Динамическая память может быть синхронной и асинхронной.
В асинхронной памяти выдача и прием информации определяется
подачей комбинационных сигналов. В синхронной памяти выдача и
прием информации тактируется. Все DRAM имеют несколько режимов работы – чтения/записи страничный режим чтения/записи режим регенерации.
Динамическое ОЗУ отличается от статического мультиплексированием адресных входов, необходимостью регенерации хранимой
информации, повышенной емкостью (до нескольких Мбит), более
сложной схемой управления, меньшим быстродействием.
Для повышения быстродействия памяти в последнее время на
одном кристалле вместе с большим по объему памяти DRAM размещают небольшой по объему SRAM. Такие SDRAM, имеющие на одном кристалле 4 Мбайт DRAM и всего 16 кбайт SRAM выпускают
фирмы «Samsung», «Ramtron» и другие.
5.4. Перспективы совершенствования устройств памяти
Многие десятилетия полупроводниковая промышленность ищет
«универсальную» микросхему памяти, которая была бы дешевой,
быстродействующей, маломощной и вдобавок сохраняла бы данные
при отключении питания.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
93
Пока этим требованиям в основном удовлетворяет флэш-память.
Она выпускается в виде отдельных микросхем и встраивается в однокристальные микроконтроллеры. Так, на выставке «Электроника
2000» был представлен микроконтроллер с интегрированным флэш
ЭСППЗУ объемом 1 Мбайт. Технология флэш-памяти основана на
применении транзисторных ячеек с плавающим затвором. Однако
архитектура плавающих затворов достигает своих ограничений при
размере элементов менее 90 нм, к которому уже приблизились вплотную.
В последнее время разработчиков электронной аппаратуры все
большее внимание привлекают новые типы энергонезависимых ЗУ,
сопоставимых по быстродействию со статическими ОЗУ и выдерживающих практически неограниченное число циклов перезаписи данных на протяжении многих лет (флэш-память начинает терять данные через 106 циклов).
Одной из первых была сегнетоэлектрическая память FRAM,
которая уже сегодня используется в электрических счетчиках, сетевых серверах и ряде других устройств.
Гораздо больше перспективы у магниторезистивных ОЗУ
MRAM, у которых для хранения данных используется эффект изменения магнитного сопротивления материала. Основными преимуществами этих ОЗУ являются быстрый доступ и неограниченное количество циклов программирования и стирания (много больше 1015). По
оценкам специалистов время записи может составить 2,3 нс (на 3 порядка меньше, чем у самых быстродействующих схем флэш-памяти и
в 20 раз меньше, чем у динамических ОЗУ). Кроме этих преимуществ
важное значение имеет высокая радиационная стойкость, малая величина тока считывания (на 2 порядка меньше, чем у ДОЗУ) и освоенность технологии магнитных материалов (тех же, что и в магнитных
накопителях).
Совершенствованием технологии MRAM занимается много фирм. Фирма
IBM совместно с Infineon в 2003 году представила опытный образец MRAMматрицы емкостью 128 кбит, выполненной по стандартной 0,18 - мкм технологии логических микросхем с трехслойными медными межсоединениями. Площадь ее базовой ячейки памяти составляет 1,4 мкм2, время выборки и записи
одинаковы - 5 нс. На ближайшее будущее фирмы планируют освоение опытных
образцов 256 Мбит MRAM.
Другая фирма Cypress уже выпускает микросхемы СУ9С6264 с MRAMячейками памяти, которые полностью сопоставимы со статическими ОЗУ
8К × 8 бит и могут заменить ЭСРПЗУ, флэш-память и FRAM.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
94
Совершенно иное направление в разработке энергонезависимой
памяти выбрали в фирме Ovonyx. Работа так называемой унифицированной памяти фирмы Ovonyx OUM основана на эффекте изменения фазы исходного материала (халькогенида), применявшегося
для создания CD- и DVD- дисков с возможностью перезаписи. К достоинствам OUM-памяти относятся простота структуры, радиационная стойкость, малая площадь ячейки памяти возможность неразрушающего считывания и селективной перезаписи данных без стирания, малая потребляемая мощность и большое число циклов перезаписи – более 1013. На сегодняшний день наибольший объем OUMпамяти составляет 4 Мбит, минимальный размер элементов схемы –
0,18 мкм.
Самую высокую плотность записи данных смогут обеспечить
полимерные сегнетоэлектрические ОЗУ (PFRAM). Специалистами
фирмы Thin Film Electronics получена специфическая группа полимеров с двумя стабильными состояниями поляризации. Это позволяет
программировать память путем изменения поляризации пленки, заключенной между взаимно перпендикулярными металлическими шинами, и обеспечивает энергонезависимость памяти. Разработанные на
фирме тонкие пленки полимера (толщиной менее 0,1 мкм) можно
наносить на любую подложку или поверх друг друга с помощью
обычных промышленных процессов. Формирование многослойных
структур позволяет получать ранее недостижимо малые геометрические размеры памяти. При этом увеличение емкости памяти не влечет
за собой существенного увеличения потребляемой мощности (энергия считывания или записи одного разряда информации не превышает
1 пДж). Однако из-за сложности обработки термочувствительного
материала в условиях полупроводникового производства массовое
производство PFRAM начнется не раньше, чем лет через пять.
Сравнительно недавно была предложена ячейка памяти с программируемой металлизацией PMC, в которой используется твердотельный электролит, заключенный между проводящим слоем химически неактивного материала и тонкой пленкой серебра. Этот
весьма перспективный тип памяти еще не освоен в производстве.
Все новые типы энергонезависимой памяти имеют многообещающие характеристики. Однако широкое применение получит тот
или те типы, которые окажутся самыми дешевыми и простыми в изготовлении.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
95
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. Каковы отличия динамического ОЗУ от статического?
2. Перечислите виды ПЗУ.
3. Перечислите виды ОЗУ.
4. Для чего выполняется регенерация динамической памяти?
5. Почему информационная емкость ОЗУ DRAM выше, чем у ОЗУ
SRAM?
ЗАКЛЮЧЕНИЕ
За сравнительно короткий срок (около трех десятков лет) микропроцессорная техника прошла путь от создания единичных образцов до массового внедрения во все сферы человеческой деятельности.
Были разработаны сотни различных типов МП и ОМК, выпускаемых
миллионами штук в год. Созданы принципиально новые виды техники (компьютеры, мобильные телефоны, цифровая фото-телеаудиоаппаратура и т.д.) При этом смена поколений происходила через каждые 3-4 года. Особенно наглядно это на примере развития
персональных ЭВМ (за 20 лет – 6 поколений компьютеров).
Совершенствование МПТ стало возможным благодаря успехам
электронной промышленности. За эти годы существенно изменилась
технология изготовления полупроводниковых микросхем, что позволило создать микропроцессоры, содержащие миллионы транзисторов
на одном кристалле и работающие на частотах, измеряемых гигагерцами. Процесс совершенствования и дальнейшего внедрения МПТ в
жизнь современного общества продолжается и в настоящее время.
Однако становится очевидным, что возможности дальнейшего
увеличения производительности современных МПС в рамках классической архитектуры уже практически исчерпаны. В настоящее время
они принципиально ограничиваются последовательной выборкой команд и данных из памяти. Один из способов роста пропускной способности шины данных состоит в увеличении числа параллельно передаваемых по ней битов.
Среди новейших архитектурных решений МПС наибольшие
надежды связывают с отказом от классической (последовательной)
модели вычисления и переходом к так называемым параллельным
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
96
вычислениям. При параллельных вычислениях применяется разбиение основной программы на составные части, которые могут выполняться отдельными микропроцессорами одновременно и независимо
друг от друга. В нужные моменты времени готовые результаты таких
параллельных вычислений передаются еще одному такому же микропроцессору, который проделывает с ними необходимые операции и,
при необходимости, для продвижения к конечному результату может
вновь обращаться к группе параллельно работающих микропроцессоров. Теоретически подобная конфигурация при увеличении числа параллельно работающих микропроцессоров обеспечивает линейный
рост производительности всей системы.
Одним из первых элементов нового семейства таких микросхем,
предназначенных для построения МПС с параллельными вычислениями, стала выпущенная в конце 1985 г. английской фирмой “Inmoc”
микросхема транспьютера Т414 (более совершенная ее версия –
Т800). Помимо основного транспьютера Т414 фирма “Inmos” также
предлагает несколько вспомогательных транспьютеров, среди которых арифметический транспьютер F424, графический транспьютер
G412, транспьютер контроллера жесткого диска М212 и др.
В МПС с новой нетрадиционной архитектурой используется
матричный принцип соединения транспьютеров, согласно которому
каждый из них располагается в ячейках матрицы и своими четырьмя
линиями связывается в транспьютере в соседних ячейках. В такой
МПС отдельные части процесса (исполняемой программы) выполняются параллельно различными транспьютерами, и поэтому, чем
больше матрица, тем выше производительность системы. Конечно, не
всякие алгоритмы допускают их простое расчленение на параллельно
выполняемые части, но это отдельная задача, решение которой возможно методами развивающейся теории параллельных вычислений.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
97
СПИСОК ИСПОЛЬЗОВАННОЙ И РЕКОМЕНДУЕМОЙ
ЛИТЕРАТУРЫ
1. Однокристальные микроЭВМ. - М.: МИКАП, 1994. – 400 с.
2. Гольденберг Л.М. и др. Цифровые устройства и микропроцессорные системы. - М.: Радио и связь, 1992. – 256 с.
3. Старостин О.В. Зарубежные микропроцессоры и их аналоги.М.: Радиософт, 2001. - Т. 1 – 6.
4. Яценков В.С. Микроконтроллеры Microchip. – М.: Горячая
линия – ТЕДЕКОМ, 2002. – 296 с.
5. Предко М. Справочник по PIC–микроконтроллерам. – М.:
ДМК 2002. – 512 с.
6. Андрэ Ф. Микроконтроллеры семейства SX фирмы "Scenic". –
М.: Додэка 2002. – 272 с.
7. Евстигнеев А.В. Микроконтроллеры AVR семейства Classic
фирмы "Atmel". – М.: Додэка, 2002. – 288 с.
8. Ремизевич Т.В. Микроконтроллеры для встраиваемых приложений: от общих подходов – к семействам НС05 и НС08 фирмы
Motorola. – М.: Додэка, 2002. – 272 с.
9. Каспер Э. Программирование на языке Ассемблера для микроконтроллеров семейства i8051. – М.: Горячая линия – ТЕЛЕКОМ,
2003. – 191 с.
10. Микропроцессоры: Учеб. пособие для вузов. Ч.1–8 / П.В.
Нестеров, В.Ф. Шаньгин, А.Е. Костин и др./ Под ред. Л.Н. Преснухина. – М.: Высш. шк., 1984 – 1985.
11. Вычислительная и микропроцессорная техника: Учеб. для
вузов / Э.В. Евреинов, Ю.Т. Бутыльский, И.А. Мамзелев и др.: Под
ред. Э.В. Евреинова. – М.: Радио и связь, 1991. – 464 с.
12. Калабеков Б.А. Микропроцессоры и их применение в системах передачи и обработки сигналов: Учеб. пособие для вузов. – М.:
Радио и связь, 1988. – 368 с.
13. Клингман Э. Проектирование микропроцессорных систем:
Пер. с англ. – М.: Мир, 1985.-272 с.
14. Алексеенко А.Г., Галицын А.А., Иванников А.Д. Проектирование радиоэлектронной аппаратуры на микропроцессорах: Программирование, типовые решения, методы отладки. – М. Радио и
связь, 1984. – 272 с.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
98
15. Каган Б.М., Сташин В.В. Основы проектирования микропроцессорных устройств автоматики. - М.: Энергоатомиздат, 1987. –
304 с.
16. Микропроцессоры и микропроцессорные комплекты интегральных микросхем: Справ. В 2 т. / В-Б. Абрайтис, Н.Н. Аверньянов,
А.И. Белоус и др./ Под ред. В.А. Шахнова. М.: Радио и связь, 1988. –
Т. 1, 2.
17. Микропроцессоры. Сборник примеров и задач / П.В. Нестеров, В.Ф. Шаньгин, А.Е. Костин и др./ Под ред. Л.Н. Преснухина. –
М.: Высш. шк., 1985. – 96 с.
18. Балашов Е.П., Григорьев В.Л., Петров Г.А. МикроЭВМ:Учеб. пособие для вузов. - Л.: Энергоатомиздат, 1984.- 224 с.
19. Соколов П.А. Микропроцессоры и основы построения микроЭВМ:- Учеб. пособие. – М.: ВЗЭИС, 1986.-272 с.
20. Куньсянь Л., Дж. А. Франц, Р. Саймер. Цифровые процессоры обработки сигналов серии ТМS 320 // ТИИЭР. – 1987. – Т. 75. - №
9. - С. 8 – 27.
21. Микропроцессоры: Справ. - Л.: Судостроение, 1988.- 272 с.
22. Сташин В.В., Урусов А.В., Мологонцева О.Ф. Проектирование цифровых устройств на однокристальных микроконтроллерах. –
М.: Энергоатомиздат, 1990. – 224 с.
23. Гуртовцев А.Л., Гудыменко С.В. Программирование для
микропроцессоров. – Минск: Высш. шк., 1989. – 352 с.
24. Цифровой процессор обработки сигналов TMS 32010 и его
применение / Под ред. А.А. Ланиэ. – Л.: ВАС, 1990. – 296 с.
25. В. В. Гребнев. Однокристальные микроЭВМ семейства АТ89
фирмы Atmel. ЭФО. - СПб, 1998. - 76 с.
26. Микропроцессорные системы: Учеб. пособие для вузов/Под
общ. ред. Д.В. Пузанкова - СПб.: Политехника, 2002. - 934 с.
27. Ульрих В.А. Микроконтроллеры PIC16X7XX: – СПб.: Наука
и техника, 2002. – 319 с.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
99
ПРИЛОЖЕНИЯ
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
100
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
101
Приложение 2
Основные характеристики некоторых ОМК семейства MCS-51
Тактовая
частота,
МГц
FLASH,
кбайт
AT89C2051
24
2
-
AT89C4051
24
4
-
AT89C51
24
4
AT89LV51
12
AT89C2052
ТИП
EEPROM, SRAM,
кбайт
байт
Интерфейсы
Таймер
UART
2х16-bit
128
UART
2х16-bit
-
128
UART
2х16-bit
4
-
128
UART
2х16-bit
24
8
-
256
UART
3х16-bit
AT89LV52
12
8
-
256
UART
3х16-bit
AT89C55WD
33
20
-
256
UART
3х16-bit
AT89LV55
12
20
-
256
UART
3х16-bit
AT89C5132
40
64
-
2500
UART, USB,
SPI, I2S
3х16 bit
WDT
AT89S51
33
4
-
128
UART
2х16-bitWDT
AT89LS51
16
4
-
128
UART
2х16-bitWDT
AT89S52
33
8
-
256
UART
3х16-bitWDT
AT89S8252
24
8
2
256
UART,SPI
3х16-bitWDT
AT89LS8252
12
8
2
256
UART,SPI
3х16-bitWDT
AT89S53
24
12
-
256
UART,SPI
3х16-bitWDT
AT89LS53
12
12
-
256
UART,SPI
3х16-bitWDT
T89C51RB2M
40
16
-
1280
UART,SPI
3х16-bitPCAWDT
AT89C51IC2
40
32
-
1280
UART,SPI,
I2C
3х16-bitPCAWDT
AT89C51AC2
40
32
2
1280
UART
3х16-bitPCAWDT
AT89C51RD2M
40
64
-
1280
UART
3х16-bitPCAWDT
AT89C51CC01
40
32
2
1280
UART,CAN
3х16-bitPCAWDT
2304
UART, IDE,
USB1.1, SPI, I2S,
MP3 Decoder
2х16-bitWDT
AT89C51SND1
20
64
-
128
КМОП-микроконтроллер АТ89С2051совместим по системе команд и по
выводам со стандартными приборами семейства MCS-51. Микроконтроллер
содержит 2 Кбайта флэш-памяти, 128 байтов ОЗУ, 15 линий ввода/вывода, один
16-разрядный таймер/счетчик событий, полнодуплексный порт UART, пять
векторных прерываний, встроенный прецизионный аналоговый компаратор,
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
102
встроенные генератор и схему формирования тактовой последовательности.
Программирование флэш-памяти программ ведется с использованием напряжения 12 В, ее содержимое может быть защищено от несанкционированных записи/считывания. Имеется возможность очистки флэш-памяти за одну операцию,
возможность считывания встроенного кода идентификации. Потребление тока
в активном режиме на частоте 12 МГц не превышает 15 и 5,5 мА при напряжении питания 6 и 3 В, соответственно. В стоповом режиме потребление не превышает 100 и 20 мкА при напряжении питания 6 и 3 В соответственно.
В состав микроконтроллеров подсемейства AT89S53 включено новое
устройство SPI (Serial Peripheral Interface - последовательный периферийный
интерфейс, который может использоваться для программной загрузки). Всего в
этом подсемействе 12 модификаций ОМК: AT89S53-16AA, AT89S53-16JA,
AT89S53-16PA, AT89S53-24AC, AT89S53-24JC, AT89S53-24PC, AT89S53-24AI,
AT89S53-24JI, AT89S53-24PI, AT89S53-33AC, AT89S53-33JC, AT89S53-33PC.
Все ОМК содержат ПЗУ объемом 12 кбайт, ОЗУ объемом 256 байт, три обычных (16 бит) таймера/счетчика и один аппаратный сторожевой таймер (WDT),
девять векторов прерываний, один последовательный и четыре параллельных
порта ввода/вывода, SPI. Тактовая частота ОМК 16, 20 или 24 МГц. Регистровое пространство ОМК AT89S53 расширено в сравнении с предшественниками.
Появились три регистра, обслуживающие SPI: SPCR (0D5H), SPSR (0AAH) и
SPDR (086H). Сторожевой таймер обслуживается регистром WCON (096H).
Микроконтроллеры AT89S53 допускают программирование с использованием как 12-, так и 5-вольтного интерфейса. Однако если у ОМК AT89C51,
AT89C52, AT89C55 для достижения подобной гибкости пришлось изготавливать различные версии изделий, допускающих работу только с одним из интерфейсов, то каждый из ОМК семейства AT89S53 содержит обе эти возможности. Режим параллельного программирования, идентичный тому, который
предусмотрен для AT89C51, AT89C52, AT89C55, использует 12-вольтный сигнал Upp. Пятивольтная загрузка, делающая возможным перепрограммирование
микроконтроллера в аппаратуре пользователя, использует для этого интерфейс
SPI.
ОМК AT89S8252, AT89LS8252 отличаются от ОМК AT89S53 объемом
размещенной на кристалле памяти программ (8 Кбайт) и наличием в нем внешней 2-килобайтной флэш-памяти данных, доступной по командам MOVX. Число циклов программирования первой, как и у остальных контроллеров Atmel,
равно 1 тыс., ресурс второй увеличен до 100 тыс. циклов стирания/записи, поскольку данные обновляются гораздо чаще самой программы. Размещенная на
кристалле энергонезависимая внешняя память данных позволяет хранить константы, таблицы и другие данные, которые должны допускать возможность
оперативного изменения в процессе работы без потери их при выключении питания. Назначение выводов ОМК AT89S8252, AT89LS8252 - такое же, как у
AT89C51.
В состав подсемейства входят 22 ОМК. Выпускаются 12-, 16-, 24 и 33мегагерцевые модификации этих изделий. Объем ПЗУ - 8 Кбайт, ОЗУ 256+2048 байт. Контроллеры содержат три обычных (16 бит) и один стороже-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
103
вой таймер WDT, девять векторов прерываний, 1 последовательный и 3 параллельных порта ввода/вывода, SPI.
ОМК AT89S8252 и AT89LS8252 подобно AT89S53 допускают как параллельное (12-вольтное), так и последовательное (пятивольтное) программирование, ориентированное на перепрограммирование ПЗУ в аппаратуре пользователя. Но есть и отличие. ОМК AT89S8252 и AT89LS8252 имеют два массива
флэш-памяти: внутреннюю память программ и внешнюю (с точки зрения системы команд), но находящуюся внутри кристалла памяти данных. Оба режима
программирования допускают занесение информации в тот и в другой массив.
Но если при последовательном программировании они находятся в разных адресных пространствах и для каждого из них предусмотрен свой набор команд
чтения/записи, то при параллельном их адресное пространство едино (память
команд занимает адреса с 0000H по 1FFFH, а флэш-память данных - с 2000H по
27FFH). Таким образом, в последнем случае пользователь имеет контроллер как
бы с 10-килобайтной внутренней памятью, подлежащей программированию.
При этом первые 8 Кбайт памяти содержат коды программ и таблицы констант,
а последние два - оперативные данные, которые могут изменяться самим контроллером в процессе его работы.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Приложение 3
Основные команды ОМК семейства МК-48
Мнемоника
Код
Описание
A,R0
A,R1
A,R2
A,@R0
A,@R1
A,#DATA
A,R0
A,R1
A,R2
68
69
6А
60
61
03
58
59
5А
Сложение содержимого аккумулятора
с: R0; R1 – содержимым регистров;
@R0; @R1 – содержимым ячеек памяти адрес которых находится в регистрах;
# DATA – непосредственными данными
(результат сложения заносится в аккумулятор)
A,@R0
A,@R1
A,#DATA
CALL ADDRES
A
C
CLR
F0
F1
A
R0
DEC
R1
R2
50
51
53
14
27
97
85
A5
07
C8
C9
CA
ADD
ANL
DJNZ
INC
R0,ADDR
E8
A
17
R0
18
R1
19
R2
1A
Логическое И содержимого аккумулятора
с: R0; R1 – содержимым регистров;
@R0; @R1 – содержимым ячеек памяти, адрес которых находится в регистрах;
# DATA – непосредственными данными
(результат заносится в аккумулятор)
Вызов подпрограммы по адресу ADDRES
Установка нулевых значений содержимого аккумулятора и флагов C; F0; F1
Уменьшение значения содержимого операнда на
единицу
Уменьшение значения операнда на единицу и переход к подпрограмме, расположенной по адресу
ADDRES, если содержимое операнда не равно 0.
Увеличение значения содержимого операнда на
единицу
JMP ADDRES
04
Безусловный переход по адресу ADDRES
JMPP @A
B3
Безусловный переход по адресу, заданному содержимым аккумулятора
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
105
Окончание прил. 3
Мнемоника
Код
A,PSW
A,R0
A,R1
A,T
PSW,A
R0,A
MOV
R1,A
R0,#DATA
R1,#DATA
@R0,A
@R1,A
@R0,#DATA
@R1,#DATA
T,A
A,@R0
A,@R1
MOVX
@R0,A
@R1,A
NOP
A,R0
A,R1
A,R2
ORL
A,@R0
A,@R1
A,#DATA
OUTL P1,A
RET
23
С7
F8
F9
42
D7
A8
A9
B8
B9
A0
A1
B0
B1
62
80
81
90
91
00
48
49
4А
40
41
43
39
83
RR A
77
RL A
E7
7RB0
RB1
STOP TCNT
SEL
C5
D5
65
STRT CNT
45
STRT T
55
Описание
Пересылка содержимого второго операнда в содержимое первого
Пересылка содержимого внешней памяти, адресуемой косвенно в аккумулятор и наоборот
Холостая операция
Логическое ИЛИ содержимого аккумулятора
с: R0; R1 – содержимым регистров;
@R0; @R1 – содержимым ячеек памяти адрес которых находится в регистрах;
# DATA – непосредственными данными
(результат заносится в аккумулятор)
Вывод содержимого аккумулятора в порт Р1
Возврат из подпрограммы
Циклический сдвиг содержимого аккумулятора
вправо на один двоичный разряд
Циклический сдвиг содержимого аккумулятора
влево на один двоичный разряд
Выбор банка рабочих регистров
Остановка таймера-счетчика
Запуск таймера/счетчика в режиме счета внешних
событий
Запуск таймера/счетчика в режиме внутреннего
таймера
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Приложение 4
Система команд ВЕ51
Система насчитывает 111 команд, из них 49 однобайтовых, 45 двухбайтовых и 17 трехбайтовых. Все команды выполняются за 1 или 2 машинных цикла
(12 тактов ALE) за исключением команд MUL и DIV, которые требуют 4 цикла.
Большинство 2-байтовых команд одноцикловые, а все 3-байтовые команды –
2-цикловые. Это объясняется тем, что за один машинный цикл может вводиться
до 2 байтов, программного кода. Все множество команд удобно разбить на 5
групп: пересылки (28), логической обработки (25), арифметической обработки
(24), передачи управления (17), булевого процессора (17). В процессе исполнения команды влияют на ряд флажков-признаков результата, входящих в состав
регистра PSW (табл. 1). Признак Р устанавливается всякий раз, когда приемником результата служит аккумулятор, включая операции пересылки.
Таблица 1
Флажки
Флажки
Мнемоника
Мнемоника
CY OV AC
CY OV AC
ADD
+ + +
CLR С 0
--ADDC
+ + +
CPL С
+ - SUBB
+ + +
ANL C,bi
+ - MUL
0 + ANL C,/bit
+ - DIV
0 + ORL C,bit
+ - DA
+ - ORL C,/bit
+ - RRC
+ - MOV C,bit
+ - RLC
+ - CJNE
+ - SET С
1 - Группа команд пересылки (табл. 2) содержит команды MOV, MOVC,
MOVX, команды обращения к стеку PUSH и POP, а также 2 команды обмена
ХСН и XCHD. Наиболее емкой инструкцией является команда MOV, которая
использует 4 способа адресации: регистровый (A, Rn, DPTR), прямой (direct),
косвенный (@Ri) и непосредственный (#data, #data 16). Для указания приемника служат 3 способа адресации (кроме непосредственного), для указания источника все 4. Трехбайтовая команда MOV direct, direct обеспечивает пересылку
между 2 любыми ячейками памяти, включая регистры МК. Тем не менее для
обмена с регистрами предусмотрены специальные 2- и 1-байтовый форматы:
MOV Rn, direct; MOV direct, Rn; MOV A, Rn.
Их использование позволяет существенно сократить длину программного
кода. Специальная команда MOV DPTR, #datal6 позволяет загрузить 16разрядный указатель DPTR значением data16.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Таблица 2
Мнемоника
Число
циклов
Флажки
Код
Описание
СV.АС.F0.R
S.RS.ОV.P
MOV A,Rn
1
Е8 – EF - - - - - - +
A < Rn, n = 0-7
MOV A,dircct
1
Е5
------+
А < (direct)
MOV A,@Ri
1
Еб - Е7 - - - - - - +
A < (Ri), i = 0-1
MOV A, #data
1
74
------+
А < data
MOV Rn,A
1
F8 – FF - - - - - - Rn < A, n = 0-7
MOV Rn,direct
2
А8 – AF - - - - - - Rn < (direct), n = 0-7
MOV Rn,#data
1
78 - 7F - - - - - - Rn < data, n = 0-7
MOV direct,A
1
F5
------(direct) < A
MOV direct, Rn
2
88 - 8F - - - - - - (direct) < Rn, n = 0-7
MOV direct,direct
2
85
------(direct) < (direct)
MOV direct, @Ri
2
86 – 8
------(direct) < (Ri), i = 0-1
MOV direct, #data
2
75
------(direct) < data
MOV @Ri,A
1
F6 - F7 - - - - - - (Ri) < A, i = 0-1
MOV @Ri,direct
2
А6 - А7 - - - - - - (Ri) < (direct), i=0-1
MOV @Ri,#data
1
76 – 77 - - - - - - (Ri) < data, i = 0-1
MOV DPTR,#data 16 2
90
------DPTR < data16
MOVC A,@A + DPTR 2
93
------+
A < CSEG(A + DPTR)
MOVC А,@А + РС 2
83
------+
A < CSEG(A + PC)
MOVX A,@Ri
2
Е2- ЕЗ - - - - - - +
A < XSEG(P2:Ri). i = 0-1
MOVX A,@DPTR
2
Е0
------+
A < XSEG(DPTR)
MOVX @Ri,A
2
F2 - F3 - - - - - - XSEG (P2:Ri) < A.
MOVX @DPTR,A
2
F0
------i = 0-1 XSEG(DPTR) < A
PUSH direct
2
С0
- - - - - - - + (SP) < (direct)
POP direct
2
D0
± ± ± ± ± ± ± (direct) < (SP)
XCH A,Rn
1
С8 – CF - - - - - - +
A - Rn, n=0-7
XCH A,direct
1
С5
-----+
A - (direct)
XCH A,@Ri
1
С6 - С7 - - - - - - +
A - (Ri), i = 0-1
XCHD A,@Ri
1
D6 - D7 - - - - - - +
A0-3 - (Ri)0-3, i = 0-1
При выполнении команды считывания данных из программной памяти
MOVC могут быть применены два способа адресации: по базе DPTR и относительный. В обоих случаях целое без знака смещение (индекс) хранится в аккумуляторе. Приемником результата также служит аккумулятор. Команда дает
возможность выполнять быструю перекодировку по таблицам, осуществлять
доступ к массивам памяти. Обращение к внешней памяти осуществляется с помощью команды MOVX. Обмен производится по байтам между аккумулятором
и ячейкой внешней памяти данных. Ячейка XSEG может быть адресована 2
способами: косвенно через 16-разрядный указатель DPTR и странично косвенно через 8-разрядный указатель Ri. i = 0-1. В последнем случае регистром страниц служит выходной регистр Р2. Операции PUSH и POP используют толь-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ко прямой способ адресации, однако это не мешает им манипулировать
содержимым регистров, которые рассматриваются как ячейки памяти. Две типовые операции обмена ХСН и XCHD дополняют одностороннюю пересылку
двусторонней. При выполнении операции ХСН обмену подлежат байты, при
XCHD - младшие тетрады байтовых операндов. Приведенная в табл. 3 группа
команд логических операций, содержит 3 типовые 2-местные операции: ANL логическое И. ORL - логическое ИЛИ и XRL - логическое исключающее ИЛИ.
Таблица 3
Флажки СV.АС.
Число
Мнемоника
Код
Описание
циклов
F0.RS.RS.ОV.P
ANL A,Rn
1
58 - 5F - - - - - - +
A < A AND Rn, n = 0-7
ANL A,direct
1
55
------+
А < А AND (direct)
ANL A,@Ri
1
56 – 57 - - - - - - +
A < A AND (Ri), i = 0-1
ANL A,#data
1
54
------+
A < A AND data
ANL direct, A
1
52
------(direct) < (direct) AND A
ANL direct,#data 2
53
------(direct) < (direct) AND data
ORL A,Rn
1
48 - 4F - - - - - - +
A < A OR Rn, n = 0-7
ORL A,direct
1
45
------+
A < A OR (direct)
ORL A,@Ri
1
46 – 47 - - - - - - +
A < A OR (Ri), i = 0-1
ORL A,#data
1
44
------+
A < A OR data
ORL direct A
1
42
------(direct) < (direct) OR A
ORL direct, #data 2
43
------(direct) < (direct) OR data
XRL A,Rn
1
68 - 6F - - - - - - +
A < A XOR Rn, n = 0-7
XRL A,direct
1
65
------+
A < A XOR (direct)
XRL A, @Ri
1
66 – 67 - - - - - - +
A < A XOR (Ri), i = 0-1
XRL A,#data
1
64
------+
A < A XOR data
XRL direct, A
1
62
------(direct) < (direct) XOR A
XRL direct, #data 2
63
------(direct) < (direct) XOR data
CLR A
1
E4
------+
A<0
CPL A
1
F4
------A < NOT A
RL A
1
23
------A7 < A6 < ... < А0 < A7
RLC A
1
33
+-----+
CY < A7 < A6 < ... < AO < CY
RR A
1
03
------А0 < A1 < ... < A7 < А0
RRC A
1
13
+-----+
CY < А0 < A1 < ... < A7 < CY
SWAP A
1
C4
------A4-7 - A0-3
Источником первого операнда и одновременно приемником результата
служит либо аккумулятор, либо прямо адресуемая ячейка памяти. Второй операнд задается одним из 4 основных методов адресации. В состав группы входит
также ряд одноместных операций: CLR - очистки, CPL - логического дополнения (инверсия), а также RL, RLC, RR и RRC - операции циклического и расширенного сдвигов вправо и влево. Все операции манипулируют содержимым
только аккумулятора. Сюда же включена операция обмена тетрад в аккумуля-
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
торе SWAP, которая может интерпре- тироваться как циклический сдвиг байта на 4 разряда.
В состав группы команд арифметической обработки (табл. 4) входят: операция сложения ADD, сложения с учетом переноса ADDC, вычитания с учетом
займа SUBB, увеличения и уменьшения на единицу INC и DEC, десятичная
коррекция сложения в 2/10-коде упакованного формата DA. умножение MUL и
деление DIU. Операции выполняются над беззнаковыми целыми числами. В
операциях сложения и вычитания первым операндом и приемником результата
служит аккумулятор. В качестве второго операнда выступает либо рабочий регистр Rn (n = 0…7), выбранного регистрового банка, либо ячейка памяти данных, адресуемая прямо direct или косвенно @Ri (i = 0-1), либо непосредственные данные #data.
Таблица 4
Флажки CY.AС.
Мнемоника Число
Код
Описание
циклов
F0.RS.RS.0V.P
ADD A,Rn
1
28 - 2F
++---++
A < A + Rn, n = 0-7
ADD A.direct 1
25
++---++
A < A + (direct)
ADD A,@Ri
1
26 – 27
++---++
A < A + (Ri), i = 0-1
ADD A,#data
1
24
++---++
A < A + data
ADDC A,Rn
1
38 - 3F
++---++
A < A + Rn + CY, n=0-7
ADDC A,direct 1
35
++---++
A < A + (direct) + CY
ADDC A, @Ri 1
36 – 37
++---++
A < A + (Ri) + CY, i=0-1
ADDC A, #data 1
34
++---++
А < A + data + CY
SUBB A, Rn
1
98 - 9F
++---++
A < A - Rn-CY, n = 0-7
SUBB A, direct 1
95
++---++
A < A - (direct) - CY
SUBB A, @Ri
1
96 – 97
++---++
A < A - (Ri) - CY, i = 0-1
SUBB A, #data 1
94
++---++
A < A - data-CY
INC A
1
04
++---++
A < A+1
INC Rn
1
08 - 0F
------Rn < Rn+1, n = 0-7
INC direct
1
05
------(direct) < (direct) + 1
INC @Ri
1
06 – 07
------(Ri) < (Ri)+1, i = 0-1
INC DPTR
2
A3
------DPTR < DPTR+1
DEC A
1
14
------+
A < A-1
DEC Rn
1
18 - 1F
------Rn < Rn-1, n = 0-7
DEC direct
1
15
------(direct) < (direct)-1
DEC @Ri
1
16 – 17
------(Ri) < (Ri)-1, i=0-1
MUL АВ
4
A4
0----++
BA < A x В
DIV AB
4
84
0----++
АВ < А/В
DA A
1
D4
+-----+
A < 2/10-коррекция А
Операции INC и DEC применимы к аккумулятору, одному из рабочих регистров или к ячейке памяти, адресуемой как прямо, так и косвенно. Кроме этого, операция увеличения на единицу может быть применена к содержимому регистра указателя DPTR. В операциях целочисленного умножения и деления без
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
знака участвуют аккумулятор и ре- гистр В. При умножении 8-разрядное
значение А умножается на 8-разрядное значение В, а 16-разрядный результат
записывается в пару ВА. При этом регистр В хранит старшую часть произведения. Флажок переполнения OV устанавливается, если произведение больше
255. При делении 8-разрядного значения А на 8-разрядное значение в частное
записывается в А, а остаток в В. При попытке деления на 0 устанавливается
флажок переполнения. Операция десятичной коррекции для сложения DA осуществляется стандартным способом.
В составе группы команд передачи управления (табл.5) находятся команды перехода AJMP, LJMP, SJMP, JMP, условного перехода JZ, JNZ, CJNE, вызова ACALL, LCALL, возврата RET, RETI и модификации с условным переходом DJNZ. Сюда же включена пустая команда NOP. В командах передачи
управления широко применяется относительная адресация, которая поддерживает перемещаемые программные модули.
Таблица 5
Число
Мнемоника
Код Флаг С
Описание
циклов
ACALL addr11
2
ааа10001 + (SP) < PC, PC0-10 < addr11
LCALL addr16
2
12
+ (SP) < PC, РС < addr16
RET
2
22
PC < (SP) RETI
2
32
PC < (SP) -, конец прерывания
AJMP addr11l
2
ааа00001 РС <10 < addr11
LJMP addrl6
2
02
PC < addr16
SJMP rel
2
80
PC < PC + rel
JMP @A + DPTR
2
73
PC < DPTR + A
JZ rel
2
60
Если А = 0, то PC < PC + rel
JNZ rel
2
70
Если А . 0, то PC < PC + rel
CJNE A, direct, rel
2
В5
+
Если А . (direct), то PC < PC + rel
CJNE A, #data, rel
2
В4
+
Если A . data, то PC < PC + rel
Если Rn . data,
CJNE Rn, #data, rel 2
В8 – BF +
CJNE @Ri, #data, rel 2
DJNZ Rn, rel
DJNZ direct, rel
2
2
В6 – В
D8 – DF
D5
+-
то PC < PC + rel, n = 0-7
Если (Ri) . data,
-
то PC < PC + rcl, i = 0-1
Rn < Rn-1, Если Rn . 0,
-
то PC < PC + rel, n = 0-7
(direct) < (direct) - L Если (direct) . 0,
то PC < PC + rel
NOP
1
00
Heт операции
В качестве относительного адреса выступает 8-разрядное смещение rel со знаком, обеспечивающее ветвление от текущего положения PC в обе стороны на ±
127 байт.
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Все эти типы адресации могут быть применены только к операции
перехода, а для операции вызова допустимы только прямой addr16 и внутристраничный addr11 способы адресации. Во всех условных операциях может
использоваться только относительная адресация. Когда МК ВЕ51 опознает запрос на прерывание, она генерирует 1 из команд типа LCALL addr16, что автоматически обеспечивает запоминание адреса возврата в стеке. Однако в отличие от ОМК серии ВЕ48 у ОМК ВЕ51 нет автоматически сохраняемой информации о состоянии. При этом логика прерываний перестает срабатывать на запросы того уровня, который был принят к обслуживанию. Для понижения
уровня прерывания служит команда возврата из прерывания RETI, которая
кроме операции, эквивалентной RET, включает операцию разрешения прерывания данного уровня. К типовым условным операциям ОМК ВЕ51 относятся
также операции JZ и JNZ, JC и JNC. Две последние включены в группу булевых.
Ряд команд, предназначенных для выполнения операций пересылки, проверки условий и логической обработки булевых (одноразрядных) переменных,
образует отдельную группу (табл. 6). В качестве одного из операндов они применяют флажок переноса CY, в качестве другого прямо адресуемый элемент
пространства BSEG. Флажок CY при выполнении операций И и ИЛИ может
рассматриваться как булевый аккумулятор. В группу входят также операции
безусловного и условного переходов с относительным 8-разрядным смещением
rel. Условный переход может быть осуществлен как при установленном бите
JB, так и при сброшенном бите JNB.
Таблица 6
Число
Мнемоника
Код Флаг СY
Описание
циклов
MOV C, bit
1
A2
+
CY < BSEG(bit)
MOV bit,C
2
92
BSEG(bit) < CY
CLR С
1
СЗ
0
CY < 0
CLR bit
1
С2
BSEG(bit) < 0
SETB С
1
D3
1
CY < 1
SETB bit
1
D2
BSEG(bit) < 1
CPL С
1
ВЗ
+
CY < NOT CY
CPL bit
1
В2
BSEG(bit) < NOT BSEG(bit)
ANL C,bit
2
82
+
CY < CY AND BSEG(bit)
ANL C,/bit
2
В0
+
CY < CY AND NOT BSEG (bit)
ORL C,bit
2
72
+
CY < CY OR BSEG(bit)
ORL C,/bit
2
А0
+
CY < CY OR NOT BSEG (bit)
JC rel
2
40
Если CY = 1, то SJMP rel
JNC rel
2
50
Если CY = 0, то SJMP rel
JB bit,rel
2
20
Если BSEG(bit) = 1, то SJMP rel
JNB bit,rel
2
30
Если BSEG(bit) = 0, то SJMP rel
JBC bit, rel
2
10
Если BSEG(bit) = 1, то SJMP rel и
BSEG(bit) < 0
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
ОГЛАВЛЕНИЯ
ПРЕДИСЛОВИЕ
.
.
.
.
.
.
.
.
1. МИКРОПРОЦЕССОРНАЯ ТЕХНИКА. .
.
.
.
1.1. Основные узлы и системы микропроцессорной техники
1.2. Общая структура МПС .
.
.
.
.
.
1.3. Архитектура микроЭВМ
.
.
.
.
.
2. МИКРОПРОЦЕССОРЫ
.
.
.
.
.
.
2.1. Виды процессорных устройств
.
.
.
.
2.2. Внутренняя архитектура микропроцессора
.
.
2.3. Универсальные микропроцессоры .
.
.
.
2.4. Цифровые процессоры
.
.
.
.
.
3. ОДНОКРИСТАЛЬНЫЕ МИКРОКОНТРОЛЛЕРЫ
.
3.1. Структура однокристальных контроллеров
.
.
3.2. Микроконтроллеры семейства МК-48
.
.
.
3.3. Микроконтроллеры семейства MCS-51 фирмы Intel и
совместимые с ними
.
.
.
.
.
.
.
3.4. Микроконтроллеры INTEL MCS-96
.
.
.
3.5. Микроконтроллеры фирмы Motorola
.
.
.
3.6. PIC– контроллеры
.
.
.
.
.
.
3.7. AVR-контроллеры
.
.
.
.
.
.
3.8. Разработка и отладка контроллеров
.
.
.
4. УСТРОЙСТВА ВВОДА/ВЫВОДА
.
.
.
.
4.1. Cпособы передачи информации
.
.
.
.
4.2. Методы ввода/вывода
.
.
.
.
.
4.3. Подсистема прямого доступа в память МПС .
.
5. УСТРОЙСТВА ПАМЯТИ МПС
.
.
.
.
.
5.1. Организация памяти .
.
.
.
.
.
5.2. Постоянные запоминающие устройства
.
.
5.3. Оперативные запоминающие устройства
.
.
5.4. Перспективы совершенствования устройств памяти
ЗАКЛЮЧЕНИЕ
.
.
.
.
.
.
..
.
СПИСОК ИСПОЛЬЗОВАННОЙ И РЕКОМЕНДУЕМОЙ
ЛИТЕРАТУРЫ
.
.
.
.
.
.
.
.
ПРИЛОЖЕНИЯ
.
.
.
.
.
.
.
.
Приложение 1. Основные характеристики некоторых
AVR-контроллеров
.
.
.
.
.
.
Приложение 2. Основные характеристики некоторых
ОМК семейства MCS-51 .
.
.
.
.
.
Приложение 3. Основные команды ОМК семейства
МК-48 .
.
.
.
.
.
.
.
.
Приложение 4. Система команд ВЕ51
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
5
5
7
11
16
16
21
24
30
35
36
38
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
43
50
53
55
58
65
69
70
76
82
86
86
88
90
92
95
.
.
97
99
.
100
.
101
.
.
104
106
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Документ
Категория
Без категории
Просмотров
149
Размер файла
1 110 Кб
Теги
техника, микропроцессорам, 345, основы, учебно, пособие
1/--страниц
Пожаловаться на содержимое документа