Вы находитесь на странице: 1из 121

Міністерство освіти і науки, молоді і спорту України

ОДЕСЬКИЙ НАЦІОНАЛЬНИЙ ПОЛІТЕХНІЧНИЙ УНІВЕРСИТЕТ


ІНСТИТУТ ЕНЕРГЕТИКИ I КОМП’ЮТЕРНО-ІНТЕГРОВАНИХ СИСТЕМ

К.В.Беглов

Конспект лекцій з дисципліни


«МІКРОПРОЦЕСОРНА ТЕХНІКА»

для студентів напряму 6.050202

2016
СОДЕРЖАНИЕ

1 Общие сведения по истории развития микропроцессоров и технологиях их изготовления...................................4


1.1 Поколения микропроцессоров фирмы Intel..........................................................................................................4
1.2 Поколения микропроцессоров фирмы Motorolla.................................................................................................4
1.3 Классификация микропроцессоров.......................................................................................................................5
1.4 Основные серии МП-комплектов, выпускаемых в СНГ и за рубежом:............................................................5
1.5 Технологии изготовления микросхем...................................................................................................................5
1.6 Материалы, используемые при изготовлении МС...............................................................................................5
1.7 Этапы изготовления микросхем............................................................................................................................6
2 Архитектуры микропроцессора (МП) и микропроцессорной системы (МПС).......................................................8
2.1 Отличительными особенностями архитектуры МП:....................................................................................8
2.2 Архитектура МПС...............................................................................................................................................10
2.3 Класификация МПС...........................................................................................................................................11
2.4 Характеристики МП...........................................................................................................................................11
2.5 Основные технические характеристики МПС..............................................................................................12
2.6 Внешние устройства МПС.................................................................................................................................12
3 ИНТЕРФЕЙСЫ МПС................................................................................................................................................14
3.1 Классификация интерфейсов............................................................................................................................14
3.2 Стандартные интерфейсы.................................................................................................................................14
3.3 Внутрисистемный интерфейс...........................................................................................................................16
3.4 Классификация интерфейсов МПС управления..........................................................................................17
3.5 Работа совмещенной системной магистрали МПИ......................................................................................18
4 ЗАПОМИНАЮЩИЕ УСТРОЙСТВА МПС...............................................................................................................21
4.1 Основные характеристики ЗУ:.........................................................................................................................21
4.2 Дополнительные характеристики ЗУ.............................................................................................................21
4.3 Классификация ЗУ..............................................................................................................................................21
4.4 Организация ОЗУ с произвольной выборкой на больших ИС...................................................................22
4.5 Работа запоминающего элемента статического типа..................................................................................25
4.5.1 ЗЭ на биполярных транзисторах (ТТЛ-технология)..............................................................................25
4.5.2 ЗЭ на двух инверторах (по технологии И²Л)...........................................................................................26
4.5.3 ЗЭ на МОП-транзисторах...........................................................................................................................27
4.5.4 ЗЭ динамических ЗУ....................................................................................................................................28
4.5.5 Постоянные запоминающие устройства (ПЗУ)......................................................................................28
5. Построение центрального процессора.......................................................................................................................33
6. Системная шина процессора.......................................................................................................................................43
7. Подключение внешних устройств к микропроцессору............................................................................................49
8. Описание интерфейса SPI............................................................................................................................................59
9. Описание интерфейса I2C...........................................................................................................................................62
10. ЭТАПЫ ПРОЕКТИРОВАНИЯ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ...........................................................68
10.1 Основные этапы разработки...........................................................................................................................68
10.2 Разработка и отладка аппаратных средств...................................................................................................71
10.3 Разработка и отладка программного обеспечения......................................................................................71
10.4 Методы и средства совместной отладки аппаратных и программных средств....................................72

2
ВВЕДЕНИЕ

Первый микропроцессор (МП) был изобретён сотрудниками фирмы Intel в 1971 году,
он был четырёхразрядным, работал на тактовой частоте 108 кГц, состоял из 2300
транзисторов.
Современные микропроцессоры работают на тактовых частотах до 3-4 ГГц, содержат
более 200 млн. транзисторов, имеют быстродействие более 2 млрд. операций в секунду. С
изобретением МП стоимость и потребляемая мощность компьютеров уменьшились в 100
тыс. раз, а габариты уменьшились в 10 тыс. раз, что привело к крупнейшей мировой
промышленной революции. В мире сейчас производится десятки млрд. микропроцессоров в
год, технические устройства содержат десятки встроенных микропроцессорных систем
контроля и управления.
Крупнейшими мировыми фирмами-производителями микропроцессоров являются:
1. Intel
2. DEC
3. AMD
4. Texas Instruments
5. Motorola
6. Zilog… всего более 100 фирм.

3
1 Общие сведения по истории развития микропроцессоров и технологиях их
изготовления

1.1 Поколения микропроцессоров фирмы Intel

1. 1971 г., I4004 – 4-разрядный, тактовая частота 108 кГц.


2. 1979 г., I8080 – 8-разрядный, MOП-технология, тактовая частота 2,5 МГц.
3. 1985 г., I8086 – 16-разрядный, объем оперативной памяти 1 МВ, тактовая частота
20 МГц. Операционная система DOS.
4. I80286 – 16-разрядный, работал в двух режимах:
а. Реальный режим.
б. Защищенный режим, в котором адресуемая память может увеличиваться до 16
МБ, выполняются функции защиты памяти, используемой каждой программой.
5. I80386 – 32-разрядный, объем памяти до 4 ГБ, предусмотрены два режима работы:
а. Страничная организация памяти – при использовании операционной системы
МП может работать со всей установленной памятью.
б. Виртуальный процессор – для возможности выполнения всех программ,
разработанных для всех уже существующих процессоров, но с резким уменьшением
быстродействия, т.к. доступно ОЗУ только в 640 КВ, в то время как ОЗУ может иметь объем
до 4 ГВ.
6. I80486 – 32-разрядный МП, мало отличающийся от 386; отличие в 6
дополнительных командах работы с кэш-памятью. Организована совместимость с
программным обеспечением компьютеров фирмы Motorola. Программное обеспечение
позволяет определить, для какого из микропроцессоров была разработана программа.
7. Современные мощные МП Pentium, Itanium с разрядностью 64. В них число
транзисторов на кристалле доведено до более 200 млн., тактовая частота до 3-4 ГГц,
применяются сложнейшие технологии изготовления, многоконвейерная обработка данных,
встроенная кэш-память большого объема, многоядерная архитектура, редуцированная
система команд и др. усовершенствования, дающие резкое увеличение быстродействия.
Однако, если 386-й микропроцессор имел 250 тыс. транзисторов и завод по его производству
стоил 200 млн. USD, то завод для производства МП Pentium стоит более 10 млрд. USD.

1.2 Поколения микропроцессоров фирмы Motorolla

МП фирмы Motorola в основном применяются в промышленных компьютерах и


контроллерах, встраиваются в бытовую аппаратуру. В отличие от МП фирмы Intel, в них с
самого начала отсутствовали ограничения на объем подключаемой памяти. Основные
поколения МП фирмы Motorolla:
1. Серия 6800 – МП с 32–разрядной адресной шиной.
Эти микропроцессоры используются в компьютерах фирмы Макинтош, входящую в
корпорацию Apple. Объем адресуемой памяти 8 МВ. Отличие от предыдущих МП
заключается в увеличении объема подключаемой памяти
2. 68020 – вместо платы из нескольких микросхем, разработана отдельная микросхема
управления памятью (80–82 гг.)
3. 68030 – МП со встроенной кэш-памятью, работающей на частоте МП, и блоком
управления памятью (кэш-память используется для хранения часто повторяющихся блоков
программ и позволяет на порядок увеличить быстродействие процессора за счет устранения
доступа к медленной внешней оперативной памяти).
4. 68040 – кэш-память увеличена до 4 кВ, используется встроенный сопроцессор
арифметических операций с плавающей запятой.
Основное отличие МП фирмы Motorolla: система команд не совместима с системой
команд микропроцессоров Intel.

4
1.3 Классификация микропроцессоров

По разрядности: МП выпускаются с 2, 4, 8, 16, 32 и 64-разрядными шинами данными


(2n).
По изготовлению:
– Модульные, необходимую разрядность шины данных получают набором из
нескольких малоразрядных секционных МП.
– Однокристальные (8–64 разрядные).
– Однокристальные микроЭВМ (ОЭВМ), часто называемые также
микроконтроллерами (МК).
– Специализированные МП – графические процессоры, процессоры для
спектрального анализа сигналов (процессоры для Фурье-преобразования), определяющие в
реальном масштабе времени статистические параметры случайных сигналов); процессоры
для обработки видеоизображений.

1.4 Основные серии МП-комплектов, выпускаемых в СНГ и за рубежом:

Выпускались МП комплекты (семейства, серии, наборы):


К1800 (ЭСЛ-технология) – 4-разрядные;
К1802 (ТТЛШ-технология) – 8-разрядные;
К1804 (ТТЛШ-технология) – 16-разрядные;
Ам29300 – 32-разрядная.
Однокристальная серия I8080 – полным аналогом является отечественная серия
КР580.

1.5 Технологии изготовления микросхем

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


интегральных микросхем (СБИС), на которых расположено большое число электронных
элементов, в основном, транзисторов.
Самые простые интегральные микросхемы (МС) содержат несколько сотен
транзисторов, самые сложные СБИС – более 200 млн. транзисторов.
При изготовлении микросхем используются следующие виды технологий (логики):
ТТЛ – транзисторно-транзисторная логика (биполярные транзисторы), отличающаяся
большим потреблением энергии, но имеющая высокое быстродействие;
ТТЛШ – транзисторно-транзисторная логика на диодах Шоттки, с пониженным
потреблением энергии;
ЭСЛ – эмиттерно-связанная логика;
МОП – металл-окисел-полупроводник (полевые транзисторы). В зависимости от
проводимости транзисторов различают n-МОП и p-МОП технологии;
КМОП – комплементарная технология металл-окисел-полупроводник;
И²Л – биполярная интегрально-инжекционная логика.
Кроме цифровых интегральных микросхем с 80 гг. выпускаются аналоговые
интегральные микросхемы операционных усилителей и компараторов:
– аналогово-цифровые преобразователи (АЦП);
– цифро-аналоговые преобразователи (ЦАП);
– стабилизаторы напряжения;
– усилители низкой промежуточной частоты.
На аналоговых МС построены устройства связи с объектом (УСО).

1.6 Материалы, используемые при изготовлении МС

5
Основой для изготовления МС является кристалл из химически чистого кремния или
рубина, который выращивается в искусственных условиях. Этот кристалл разрезается на
пластины толщиной 0,2-0,3 мм и тщательно шлифуется. Для изготовления электронных
элементов методом напыления в вакууме используются химически чистые элементы: бор,
галлий, алюминий – для формирования p-областей; сурьма, мышьяк, фосфор – для создания
n-областей.
Для изготовления проводников, соединяющих элементы, используется алюминий при
технологии 0,23 мкм (ширина проводников). Более узкие проводники шириной до 0,1 мкм
получают при использовании технологии медного напыления. Чем уже соединительные
проводники, тем больше можно разместить элементов на кристалле, выше тактовая частота,
но и выше тепловыделение.
На рисунке 1.1,а показана многослойная структура МС, реализующая один
биполярный резистор и один резистор, где цифрами обозначены: 1 – исходная
монокристаллическая пластина – подложка; 2 – открытый слой; 3-эпитаксиальный слой (он
же коллекторный); 4 – разделительный слой; 5 – базовый слой; 6 – эмиттерный слой; 7 –
изолирующий слой с контактными окнами; 8 – слой металлизации; 9 – защитный слой
(обычно SiO2).

Рисунок 1.1 – Фрагмент интегральной микросхемы: а – структура, б – топология

Топология этой структуры изображена на рисунке 1.1,б. Каждый из слоёв 2…6


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

1.7 Этапы изготовления микросхем

1. Механическая обработка пластины кремния.


2. Эпитаксиальное наращивание пленки с заданным типом проводимости.
3. Окисление слоя в атмосфере кислорода.
4. Фотолитография.

6
5. Диффузия примесей кремния при температуре 1200 °C.
6. Удаление ненужных участков наращенного слоя.
7. Многократное наращивание слоев для образования электронных элементов и
дорожек между ними.
8. Разделение пластины на отдельные кристаллы.
9. Помещение кристалла в металлический или пластмассовый корпус и подключение
его выводов к выводам микросхемы.

7
2 Архитектуры микропроцессора (МП) и
микропроцессорной системы (МПС)

Основой микропроцессорной вычислительной системы является микропроцессор.


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

2.1 Отличительными особенностями архитектуры МП:


1. Структура.
2. Способы обращения ко всем доступным для пользователя элементам структуры.
3. Способы представления и форматы данных.
4. Набор операций, выполняемых (система команд).
5. Способы адресации данных, участвующих в адресации.
6. Форматы управляющих слоев, поступающих в МП извне.
7. Характеристики и назначение вырабатываемых управляющих сигналов.
8. Реакция на внешние сигналы.
Архитектурой МП называется его логическая организация, определяемая
возможностями МП по аппаратному или программному принципу для реализации функций,
необходимых для микропроцессорной системы.
МП обрабатывают данные 3-х типов:
– данные;
– адреса;
– команды.
Над данными выполняются арифметические и логические операции, состоящие из
набора всего трех элементарных операций: сложения, сдвига в регистрах,
инвертирования.
Обработка адресов определяется способом хранения и доступом к данным и
командам. Основана на арифметических операциях.
Обработка команд заключается в формировании микроопераций, т.е.
последовательности управляющих воздействий (микрокоманд в соответствии с алгоритмом
выполнения команд).
Каждая микрооперация выполняется в определенный промежуток времени, который
называется машинным тактом.
Совокупность машинных тактов образует машинный цикл или микропрограмму
выполнения команд.
Для выполнения перечисленных действий любой МП содержит (рисунок 3.1):
1. Сверхоперативное запоминающие устройство (СОЗУ) – устройство для хранения
и обработки данных и адресов.
2. Устройство микропрограммного управления и синхронизации (УУиС).
3. Арифметико-логическое устройство (АЛУ) – центральное устройство для
непосредственной обработки данных.
4. Генератор тактовых импульсов (ГТИ).

8
Рисунок 3.1 – Структурная схема простейшего микропроцессора

Разрядность АЛУ определяет разрядность МП в целом. В АЛУ выполняются все


арифметические и логические операции над данными и адресами, определяемые системой
команд МП (100-200 команд для МП с полной системой команд (CISC-процессоров) и 30-35
команд – для МП с сокращенной системой команд (RISC-процессоров)).
Для повышения скорости обработки данных в состав МП могут вводиться
конвейеры, позволяющие выполнять в одном машинном такте одновременно несколько фаз
разных команд.
К МП могут подключаться внешние устройства (ВУ): умножители, сумматоры,
многошаговые сдвигатели, которые обобщенно называются сопроцессорами операций с
плавающей запятой.
Для обработки адресов в МП добавляются устройства для параллельной обработки
данных и адресов (например, программный счетчик, сумматоры адресов, адресные
регистры).
СОЗУ реализуется в виде набора регистров общего назначения (РОН), стековой
памяти, запоминающего устройства с произвольной выборной, кэш-памяти (встроенной либо
внешней). Кэш-память имеет виртуальную адресацию (это ассоциативное ЗУ).
Устройство управления и синхронизации (УУиС) предназначено для управления и
синхронизации работы внутренних узлов МП и внешних элементов микропроцессорной
системы и формирует следующие режимы работы МП:
1. Режим ожидания или остановки.
2. Режим выполнения команды обработки данных.
3. Режим обработки прерывания по внешним сигналам.
4. Режим захвата шин.
5. Режим начальной установки.
Длительность машинного такта определяется частотой сигналов тактового
генератора.

9
ЗУ для МП подразделяется на оперативные (ОЗУ) и постоянные (ПЗУ), они
являются внешними по отношению к МП и предназначены:
1. ОЗУ – устройство памяти для хранения часто меняющихся программ и
обрабатываемых данных.
2. ПЗУ – устройство памяти для хранения не меняющихся программ и данных.
Информация в ПЗУ заносится либо на этапе изготовления (BIOS, программы работы
управляющих контроллеров) либо записываются на длительный срок с помощью
программаторов. ПЗУ подразделяются на ЗУ программ и ЗУ данных, все они являются
внешними по отношению к МП.

2.2 Архитектура МПС

Микропроцессорная система (МПС) – цифровая система обработки информации и


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

Програма, дані

ЗП

ЦПр
СШ

До зовнішніх Програмований До зовнішніх


пристроїв … інтерфейс … пристроїв
виведення введення

До зовнішніх пристроїв
введення-виведення
Рисунок 1.3 – Спрощена структурна схема мікропроцесорної системи

МПС называется также и микроЭВМ потому, что реализуется на основе цифровой


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

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

2.3 Класификация МПС

Различается 3 вида МПС:


1. Специализированные;
2. Универсальные;
3. Многопроцессорные системы.

2.3.1 Специализированные МПС (СМПС) предназначены для решения в реальном


масштабе времени специальных задач управления или обработки информации в составе
технических систем (ТС) управления или приборов.
СМПС подразделяются на:
1. Контроллеры с жесткой программой функционирования.
2. Процессоры сигналов, которые выполняют цифровую обработку сигналов
(сжатие информации при передаче по сетям, обработку мультимедийной информации, и
т.п.).
3. Графические процессоры, предназначенные для обработки графической
информации при ее вводе или выводе.
Аппаратной основой таких МПС являются одноплатная микроЭВМ или наборы
нескольких плат, объединенных общим интерфейсом.
Программное обеспечение СМПС – прикладные программы, размещаемые в ПЗУ.
Отладка программного обеспечения для специализированных МПС выполняется на
больших ЭВМ, моделирующих все процессы в малых ЭВМ или на виртуальных машинах.

2.3.2 Универсальные МПС ориентируются на решение широкого круга


вычислительных задач и оснащены резидентными средствами подготовки и отладки
программ. В отличие от специализированных МПС, работают в автономном режиме.
Системное программное обеспечение выполнено в виде стандартной операционной
системы (ОС) в виде DOS, WINDOWS, UNIX и др.
Наиболее распространенные персональные ЭВМ являются открытыми системами:
1. Имеют возможность выполнения большинства программ;
2. Для наращивания функциональных возможностей возможно подключение любого
промышленного стандартного устройства, использующего для подключения стандартные
интерфейсы.

2.3.3 Многопроцессорная МПС – многомашинная или многопроцессорная


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

2.4 Характеристики МП

1. Разрядность – длина информационного слова, которое может быть одновременно


обработано МП (2-32 разряда);
2. Быстродействие – продолжительность выполнения одной средней операции
(скорость передачи информации из регистра в регистр, либо средняя скорость выполнения
стандартной тестовой программы, состоящей из набора команд МП, либо средняя скорость
выполнения операций с плавающей запятой).

11
Быстродействие МП определяется:
– тактовой частотой в МГц;
– количеством регистровых операций в секунду, оп/с;
– количеством операций с плавающей запятой в секунду – Flops.
3. Вид МП (универсальный или специализированный).
4. Технология изготовления.
Информация о технологии изготовления МП дает представление о его
энергопотреблении и быстродействии (технологии упоминалась выше).
5. Емкость адресуемой памяти – наибольший номер ячейки памяти, к которой
может обращаться МП.
Объем памяти вычисляется по формуле: N = 2ⁿ, где n – разрядность адресной шины.
6. Принцип управления: Возможны два варианта управления выполнением команд
МП:
а. Микропрограммное управление, при котором алгоритмы выполнения всех
команд МП постоянно хранятся в ПЗУ устройства управления и синхронизации. Машинный
код команды вызывает формирование в УУиС последовательности управляющих сигналов
для выполнения микрокоманд МП.
б. Программное управление с жесткой логикой, чаще используется в
специализированных МП, когда часть программы находится внутри МП, а часть – снаружи
во внешнем ЗУ.
7. Мощность потребления, Вт.
8. Питающее напряжение – количество уровней, уровень, допустимое отклонение.
9. Конструктивные данные.
10. Допустимые условия эксплуатации – интервал рабочих температур,
относительная влажность, допустимые вибрации.
11. Надежность (время наработки до отказа, интенсивность потока отказов).
12. Стоимость.

2.5 Основные технические характеристики МПС

1. Разрядность обрабатываемых данных.


2. Объем памяти – оперативной и постоянной (ОЗУ и ПЗУ), в Битах (б), Байтах (Б),
Килобитах (Кб), Килобайтах (КБ), Мб, МБ, ТБ и т.д.
3. Производительность (быстродействие) – операций в секунду;
4. Число каналов подключения внешних устройств и их пропускная способность
(бит/с или бод – число изменений уровня сигнала в секунду).
5. Система команд – набор выполняемых команд, операций или функций;
6. Состав программного обеспечения.

2.6 Внешние устройства МПС

Внешние устройства МПС предназначены для обмена информацией МПС с внешней


средой. К ним относятся:
1. Устройства внешней памяти:
а. С произвольным доступом:
– накопители на жестких магнитных дисках НМД, емкость до нескольких ТБ.
– накопители на гибких магнитных дисках (НГМД) 3,5 дюйма, емкость 1,45 МБ, 5,25
дюйма – от 180 КБ до 1,2 МБ;
– накопители на электронных дисках, флэш-карты;
– CD-ROM – компакт-диски с оптической записью, 700МБ;
– DVD-ROM, емкостью до17 ГБ, отличаются плотностью записи;
– Blueray – оптические диски емкостью более 100 ГБ;

12
– магнитооптические диски, объемом до ТБ.
б. С последовательным доступом – кассетный накопитель на магнитной ленте
(КНМП) емкостью до 700 ГБ.
2. Устройства связи с оператором – специализированные клавиатуры, пульты
управления, которые отличаются от стандартной клавиатуры назначением и количеством
клавиш, чаще всего проектируются по заказу.
3. Стандартная клавиатура.
4. Мониторы – с электронно-лучевой трубкой и плоские жидкокристал-лические,
светодиодные, графические и алфавитно-цифровые плазменные, лазерные и светодиодные
табло и экраны.
5. Принтеры: матричные, лазерные, светодиодные, струйные, термопечатные.
6. Плоттеры (принтеры для вывода графиков).
7. Устройства для ввода-вывода аудио и видеоинформации: микрофоны,
аудиосистемы, вебкамеры, компьютерные проекторы.
8. Сканеры (планшетные, ручные, протяжные),
9. Манипуляторы – мышь, трекбол, джойстик.
10. Сенсорные экраны, площадки, планшеты – для ввода рукописного текста,
рисунков и команд.
11. Устройство сопряжения с объектом управления (УСО) – устройство для ввода
в МПС аналоговой и дискретной информации о состоянии объекта управления и вывода
регулирующих воздействий.
Основные блоки УСО: аналогово-цифровые и цифро-аналоговые преобразователи
(АЦП, ЦАП); дискретно-цифровые и цифро-дискретные преобразователи (ДЦП, ЦДП),
коммутаторы аналоговых сигналов, служащие для подключения к АЦП нескольких
аналоговых электрических сигналов; мультиплексоры – устройства для коммутации
цифровых (дискретных) сигналов, устройства для запоминания аналоговых сигналов.
12. Устройства дистанционной связи:
а) Модемы (телефонные, радио, GSM и GPRS-модемы), обеспечивающие передачу
цифровой информации в различных сетях и работающие по принципу модуляции-
демодуляции сигналов постоянного напряжения в сигналы переменного напряжения и
наоборот.
б) Сетевые карты, которые используются для передачи информации в локальных и
глобальных компьютерных сетях.
в) Проволочные линии связи – коаксиальные кабели и витая пара.
г) Оптоволоконные линии (одно- и многомодовые) – для передачи цифровой
информации путем многократного отражения световой волны в стеклянных или
пластмассовых проводниках с минимальным затуханием.
д) Телефонно-телеграфные линии связи – для передачи цифровой информации по
обычным проволочным линиям на средние расстояния.
е) Высоковольтные линии связи – для передачи цифровой информации по линиям
электропередач (ЛЭП) в энергосистемах.

Программное обеспечение (ПО) МПС подразделяется на:


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

13
3 ИНТЕРФЕЙСЫ МПС

Интерфейс – устройство сопряжения, обеспечивающее конструктивное,


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

3.1 Классификация интерфейсов

1. По назначению:
– машинные;
– системно-модульные;
– системно-приборные;
Машинные – интерфейсы, которые решают задачу соединения центрального
процессора ЭВМ с ее функциональными блоками, а также подключение УСО (устройств
связи с объектом).
Системно-модульные – решающие задачу унификации сопряжения модулей или
функцию блоков вне МПС (например, интерфейс НЖД). Такие интерфейсы используют для
подключения устройств, не могущих работать автономно.
Системно-приборные – для подключения в МПС приборов или модулей,
работающих автономно, для которых характерны значительные функциональные
возможности.

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


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

Различают 5 видов совместимости интерфейсов:


1. Информационная, при которой используется одни и те же правила формирования
и расшифровки передаваемой информации.
2. Конструктивная, при которой должны использоваться стандартные конструкции
разъемов и кабелей.
3. Энергетическая, при которой используются стандартные уровни передаваемых
сигналов, сопротивления нагрузок цепей, допустимые токи.
4. Метрологическая, при которой должны обеспечиваться соизмеримые
метрологические характеристики приборов, соединенных в информационную систему при
помощи интерфейса.
5. Эксплуатационная, при которой должна обеспечиваться возможность
непрерывной круглосуточной работы приборов, соединенных в информационную систему,
их ремонтопригодность.

3.2 Стандартные интерфейсы

Существует 3 вида стандартных интерфейсов:


1. По способу подключения внешних устройств к ядру МПС:

14
а. Интерфейсы каскадные (ИК), применяются в измерительно-информационных
системах (рисунок 4.1).

Модуль Модуль … Модуль


ИК ИК ИК

Рисунок 4.1 – Структурная схема каскадного интерфейса

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

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


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

Центральный модуль
Интерфейс радиальный

ИР ИР ИР
Модуль Модуль Модуль

Рисунок 4.2 – Структурная схема радиального интерфейса

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


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

Центральный модуль
Интерфейс магистральный

Магистраль

ИМ ИМ ИМ
Модуль Модуль Модуль
Рисунок 4.3 – Структурная схема магистрального интерфейса
Интерфейсы м.б. реализованы также на регистрах ввода-вывода (др. название –
порты) либо на запоминающих устройствах ввода-вывода.

15
Наиболее широко используется программно-управляемый вывод с обслуживанием
по программе (драйверу ввода-вывода) или по прерыванию.
Достоинством программно-управляемого вывода является простота технической
реализации и программирования канала ввода-вывода.
Недостаток: Невысокая пропускная способность канала, вызванная необходимостью
участия микропроцессора в обмене информацией.
Скорость обмена информацией на порядок выше обеспечивает канал прямого
доступа в память (КПДП). В такой МПС исключено участие центрального модуля в обмене
информацией, а его функцию по управлению потоком информации выполняет либо
процессор ввода-вывода, либо контроллер ввода-вывода, то есть управление осуществляется
не программным, а в основном схемным методом.
Все каналы ввода-вывода подразделяются на параллельные и
последовательные.
Параллельный интерфейс применяется в случае, когда информационное слово
передается за один машинный цикл, для чего каждый бит информации передается по
отдельному проводнику. Расстояние передачи небольшое – несколько метров.
Последовательный интерфейс – в нем информационное слово передается по одной
(прямой) линии последовательно бит за битом, при этом вторым проводником является
общий проводник (земля). Последовательная передача информации длится столько
машинных тактов, сколько информационных, контрольных и служебных бит необходимо
передать в одном сеансе связи. Расстояние передачи информации по последовательным
интерфейсам практически не ограничено и может выполняться по проволочным,
радиоканалам, оптическим, GSM-каналам связи и др.
Последовательный интерфейс может работать в синхронном или асинхронном
режимах передачи информации.
Синхронный режим применяется, когда длительность передачи одного бита
неизменна, а начало и конец передачи байта сопровождается синхронизирующими
сигналами, которые передаются по линии связи, независимо от того, есть передача или нет.
Режим применяется при высоком качестве линии связи и высоком быстродействии внешнего
устройства.
Асинхронный режим отличается тем, что передача начинается по запросу одного из
устройств. После окончания передачи канал освобождается, им могут пользоваться любые
другие устройства. Скорость передачи информации в этом режиме переменная и зависит от
качества линии связи и быстродействия внешнего устройства.

3.3 Внутрисистемный интерфейс

Внутрисистемный интерфейс в виде системной шины (СШ) используется для


соединения узлов МП системы, конструктивно расположенных на одной системной плате
(нескольких платах).
СШ состоит из 3 шин: шины адреса (ША), шины данных (ШД) и шины
управления (ШУ), количество линий в ней может достигать ста и более. Для передачи
данных и команд могут используется либо отдельные шины данных и адреса, либо
совмещенные.
Отдельные шины используется, когда число выводов МП (портов) достаточно для
использования их для ввода-вывода только одного типа сигналов.
Совмещенные шины используется в случае ограниченного числа выводов МП и
поэтому в течение одной части машинного такта системная шина используется как ША, а в
течение другой части – как ШД.
В однопроцессорных МПС применяются однопользовательские СШ, которые
управляются либо МП, либо КПДП.

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

3.4 Классификация интерфейсов МПС управления

МПС управления (МПСУ) называются микропроцессорные системы,


предназначенные для применения в системах автоматического управления
технологическими процессами.
Различают 5 уровней сопряжения устройств в промышленных МПСУ (рисунок 4.4):
1 уровень – сопряжение с помощью системного магистрального интерфейса. С
его помощью организуется центральное ядро МПСУ, состоящее из МП, оперативного
запоминающего устройства (ОЗУ), постоянного запоминающего устройства (ПЗУ),
устройства связи с объектом (УСО) и контроллеров ввода-вывода. В некоторых случаях
добавляются адаптеры (А) межсистемного взаимодействия.
Стандартный промышленный интерфейс И-41 применяется в случаях, когда
используется раздельные шины данных и адреса. Такие интерфейсы используется в МПС с
8-разрядной ШД и с 16-разрядной ШД в управляющих вычислительных комплексах типа
СМ.
Интерфейсы типа МПИ используется в случаях, когда совмещается шина адреса и
шина данных.
Обозначения на рисунке 4.4:
К – контроллер для управления подключенными внешними устройствами. Он
получает команду от МПС при приеме или передачи информации и формирует
последовательность управляющих сигналов, обеспечивая работу подключенных внешних
устройств.
А – адаптер, это устройство согласования уровней, фронтов и длительностей
управляющих сигналов.
УСО – устройство связи с объектом, обладают такими же возможностями, как и
контроллер, и дополнительными для согласования аналоговых интерфейсов датчиков и
исполнительных механизмов с цифровыми интерфейсами устройств МПС.
ПУ – периферийное устройство.
УПД – устройство передачи данных.
2 уровень – малые интерфейсы УСО и периферийных устройств, применяется в
случаях, когда периферийные устройства и УСО не могут подключаться напрямую к
системной магистрали, такие интерфейсы называются радиальными, технически
выполняются в виде последовательных и параллельных портов.

17
Рисунок 4.4 – Интерфейсы МПСУ

Стандартные радиальные интерфейсы: ИРПР – интерфейс радиальный параллельный


(типа Сentronics), ИРПС – интерфейс радиальный последовательный (типов RS-232, RS-485,
USB и др.).
С помощью стандартных интерфейсов подключаются периферийные устройства:
мышь, сканер. Кроме этих интерфейсов, существуют и специализированные интерфейсы для
устройств, имеющих высокую скорость передачи информации (н.п. накопители на
магнитных и оптических дисках).
3 уровень. Интерфейс датчиков и исполнительных механизмов (ИМ) – для
согласования входных и выходных сигналов и преобразования информации из аналоговой в
цифровой форму и наоборот, т.е. для согласования аналоговых и цифровых интерфейсов
технических устройств.
4 уровень. Интерфейсы передачи данных на расстояние, служат для связи
устройств с помощью различных каналов связи (телефонных, высокочастотных,
оптоволоконных, радиоканалов и др.).
5 уровень. Внешние относительно МПСУ интерфейсы, предназначенные для
обмена информацией между компьютерами разного уровня иерархии АСУ – шлюзы.

3.5 Работа совмещенной системной магистрали МПИ

Системная магистраль МПИ состоит из двунаправленной 16-ти разрядной


совмещенной СШ (магистрали) адреса и данных, по которой с разделением во времени
передаются либо адреса, либо данные, и линий связи для передачи управляющих и
синхронизирующих сигналов.
Обмен информацией осуществляется по принципу «активный-пассивный».
Активное устройство управляет прохождением информации по магистрали,
разрешает прерывание и предоставляет прямой доступ к памяти. Пассивное устройство
принимает и передает информацию только по сигналу управления активного устройства.
В МПИ предусмотрены следующие виды обмена информацией:
1. Ввод (чтение).
2. Вывод (запись).
3. Ввод-пауза-вывод (чтение-модификация-запись).

18
По магистрали МПИ сигналы передаются в инверсном виде, т.е. сигнал логического
нуля («лог. 0») представляется в виде высокого уровня напряжения, а логической единицы
(«лог. 1») – низкого.
Временная диаграмма работы МПИ в режиме ввода данных приведена на рисунке
4.5,а, в режиме вывода – на рисунке 4.5,б.
В режиме ввода данных активное устройство (МП) выставляет на шину
адреса/данных (А/Д) адрес устройства, от которого будет принимать данные (адрес – порт
или адрес ячейки) и выдает сигнал признака адреса СИА. Этот адрес будет храниться в
специальном регистре адреса пассивного устройства. СИА – стробирующий импульс адреса,
сигнал подтверждения, что в данный момент на шине А/Д находится адрес.

Рисунок 4.5 – Временные диаграммы работы системной магистрали МПИ

После выдачи адреса МП подает команду «Чтение», устанавливая нулевой сигнал на


линии управления «Ввод».
Пассивное устройство в ответ выставляет на шину А/Д запрашиваемые данные, и
выставляет стробирующий импульс признака данных СИП.
После принятия информации из шины А/Д МП снимает команду «Ввод», в ответ
пассивное устройство снимает данные с шины А/Д и сигнал признака данных СИП.
МП освобождает системную магистраль и снимает сигнал СИА. Магистраль свободна
для выполнения следующих команд.
В режиме вывода данные передаются от активного устройства (МП) к пассивному.
МП захватывает шину адреса данных, выставляя адрес пассивного устройства и
подтверждает это сигналом признака адреса СИА.
Затем МП выставляет на шину А/Д данные и подает команду «Запись», устанавливая
нулевой сигнал на линии управления «Вывод».

19
По этому сигналу включается пассивное устройство, подтверждая это сигналом
признака приема данных СИП. При этом данные записываются во входной регистр
пассивного устройства.
Цикл вывода осуществляется снятием МП команды «Запись», после чего пассивное
устройство отключается, снимает сигнал СИП.
Активное устройство МП освобождает системную магистраль, сняв сигнал СИА.
Магистраль свободна.

20
4 ЗАПОМИНАЮЩИЕ УСТРОЙСТВА МПС

Запоминающие устройства (ЗУ) МПС предназначены для хранения информации в


виде программ и данных.

4.1 Основные характеристики ЗУ:


1. N – объем ЗУ (емкость), бит, байт;
2. n – разрядность (ширина выборки), бит;
3. Быстродействие: время выборки, время обращения к ЗУ, время цикла обращения
к динамическому ЗУ.
Для статических ЗУ цикл обращения и время выборки одинаковые, для динамических
– разные.

4.2 Дополнительные характеристики ЗУ


1. Потребляемая мощность, Вт.
2. Надежность хранения, оценивается по интенсивности потока отказа в единицу
времени. λ‚ c-¹ или по времени наработки до отказа.
3. Скорость обмена информацией между ЗУ и другими устройствами, если
разрядность шины данных ЗУ устройства меньше разрядности системной ШД МПС.
4. Экономические характеристики: стоимость 1 бита хранимой информации.
5. Конструктивные характеристики: тип корпуса.
6. Возможность хранения информации при отключении питания.

4.3 Классификация ЗУ

а) По функциональному назначению:
1. Сверхоперативное (СОЗУ) – набор регистров, содержимое которых
непосредственно используется в виде информации.
2. Оперативное (ОЗУ) – ЗУ, хранящее информацию, используемую в ходе
выполнения программ, в виде операндов и частей программ.
3. Постоянное (ПЗУ) – предназначенное для длительного хранения информации, не
изменяющейся в процессе эксплуатации МПС.
ПЗУ подразделяется на виды по способу занесения информации.
– Программируемые логические матрицы (ПЛМ) – масочное ЗУ,
программируемое на заводе.
– Программируемые ПЗУ (ППЗУ), которые могут программировать пользователи
путем пережога лишних связей на матрице.
– Репрограммируемые ПЗУ (РПЗУ), в которых носителем информации является
заряд, образованный на одном из переходов полевого транзистора и который может
храниться до 10 лет. Перепрограммирование РПЗУ выполняется после снятия предыдущей
информации путем облучения микросхемы ультрафиолетовым излучением.
– Электрически репрограммируемое ПЗУ (ЭРПЗУ), в которых заряд снимают не
ультрафиолетовым, а электрическим способом, подачей большого напряжения.
4. Полупостоянные ПЗУ.
5. Внешние ЗУ (ВЗУ), предназначены для хранения больших объемов информации.
Такие устройства называются накопителями – НМД, НМЛ, НГМД, НМБ.
6. Буферные ЗУ, предназначаются для согласования памяти различных уровней,
например, для согласования памяти МПС и памяти функциональных внешних устройств.

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


1. Магнитное ЗУ – используется свойство ферромагнитных материалов менять
направление внутреннего магнитного поле после воздействия на него внешнего магнитного

21
поля и сохранять это состояние бесконечно долго. Пример: НМД, НГМД, НМП – магнитные
диски, ленты, ферритовые кольца.
2. ЗУ на линиях задержки: ультразвуковых, магнитострикционных материалах и на
кварцевых материалах.
3. Криогенные ЗУ – низкотемпературные запоминающие устройства, которые
расположены в сосудах с жидким азотом (сосудах Дьюара). Используется явление
сверхпроводимости, при котором ток в сверхпроводящем запоминающем элементе (катушке)
поддерживается бесконечно долго без потерь.
4. Голографические ЗУ, в которых информация хранится в трехмерном виде в виде
оптических полей с различными фазами и частотами.

в) По способу обмена информации между ЗУ и МП системой:


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

г) По физической реализации:
1. ЗУ в кристалле МП;
2. ЗУ в виде отдельной микросхемы;
3. ЗУ в виде модуля, содержащего несколько микросхем памяти и дополненного
схемой управления;
4. ЗУ в виде внешнего, по отношению к МПС, модуля;
5. Внешние универсальные модули ЗУ (накопители).

д) По способу занесения информации в ПЗУ:


1. Однократно программируемые (ПЗУ)
2. Репрограммируемые (РПЗУ):
– УФРПЗУ (с ультрафиолетовым стиранием);
– ЭРПЗУ (с электрическим стиранием)

4.4 Организация ОЗУ с произвольной выборкой на больших ИС

ОЗУ с произвольной выборкой выполняются в виде матриц запоминающих элементов


(ЗЭ), в которых доступ к отдельным ЗЭ выполняется с помощью дешифраторов адреса
строки Х и столбца Y (рисунок 5.1). Схема управления формирует сигналы чтения (вывод) и
записи (ввод).

22
Рисунок 5.1 – Структурная схема ИС ОЗУ

В статических ОЗУ в качестве основного (ЗЭ), хранящего один бит информации,


используются статические триггеры, обладающими двумя устойчивыми состояниями,
обозначаемыми как логическая единица «лог. 1» и логический нуль «лог. 0».
В динамических ОЗУ бит информации хранится в емкости, образованной между
плавающим (не подключенном) затвором и стоком полевого транзистора.
Для изготовления МС статических ОЗУ используются следующие технологии:
1. ТТЛ-технология, в которой статический триггер выполнен на двух биполярных
транзисторах.
2. МОП-технология (триггер состоит из 4-6 полевых транзисторов).

Обозначения ИС памяти по ГОСТ:


РУ – ОЗУ, например, КР565РУ5А (64К×1),
РЕ – ПЗУ (однократно программируемое ЗУ), н.п., К596РЕ1 (8К×8),
РТ – ППЗУ (многократно программируемое ЗУ), н.п., КР556РТ12 (1К×4),
РФ – УФ РПЗУ (репрограммируемое ПЗУ с ультрафиолетовым стиранием), н.п.,
К573РФ5 (2К×8),
РР – ЭРПЗУ (репрограммируемое ПЗУ с электрическим стиранием), н.п., КР558РР2А
(2К×8).

При использовании ИС памяти с разрядностью, меньшей разрядности ЗУ, и при


равных объемах памяти ЗУ и ИС требуемая разрядность ЗУ обеспечивается параллельным
включением микросхем памяти (рисунок 5.2).
Количество микросхем памяти в ЗУ в этом случае определяется по выражению

m = n/nИC , (5.1)

где n – разрядность ЗУ;


nИC – разрядность ИС памяти.
Например, при n = 8, nИС = 4, получаем m = 2, т.е. 8-разрядное ЗУ должно состоять из
2 параллельно включенных 4-разрядных ИС памяти с объемом, равным объему ЗУ.

23
Рисунок 5.2 – Параллельное подключение ИС памяти к ШД

При использовании ИС памяти с недостаточными объемом, но с разрядностью,


соответствующей разрядности ЗУ, требуемый объем памяти ЗУ достигается
последовательным включением микросхем памяти (рисунок 5.3), общий объем памяти
которых равен требуемой величине объема памяти ЗУ. Такое включение ИС памяти
называется страничным.
Количество микросхем в ЗУ (страниц) рассчитывается по формуле:

L = N/NИC, (5.2)

где N – объем ЗУ;


NИC – объем ИС памяти.
Например, при N = 2 кБ, NИC = 1 кБ, получаем L = 2 т.е. ЗУ должно содержать две
последовательно включенных микросхемы памяти с разрядностью, равной разрядности ЗУ.

Рисунок 5.3 – Двухстраничное ЗУ

Включение нужной страницы памяти ЗУ выполняется селектором адреса страницы


ЗУ, управляемом старшими разрядами адреса ЗУ. При двух страницах памяти роль селектора
адреса страницы выполняет триггер, при большем количестве страниц памяти – дешифратор.
При использовании ИС памяти с недостаточными и объемом, и разрядностью,
сначала рассчитывается количество групп ИС памяти L (страниц) по выражению (5.2), а затем
количество ИС в странице по выражению (5.1) (рисунок 5.4).

24
Рисунок 5.4 – Восьмистраничное ЗУ емкостью 2 кБ с использованием по восемь
одноразрядных ИС памяти емкостью по 256 байт в странице

Например, при использовании одноразрядных ИС памяти емкостью по 256 байт


восьмиразрядное ЗУ общей емкостью 2 кБ будет состоять из восьми страниц памяти, в
каждой из которых содержится по восемь ИС (всего ЗУ будет содержать 64 ИС). Три
старших разряда адреса в таком ЗУ используются для адресации страниц памяти с помощью
дешифратора адреса страниц, восемь младших адресов – для адресации ячеек памяти внутри
страниц.

4.5 Работа запоминающего элемента статического типа

4.5.1 ЗЭ на биполярных транзисторах (ТТЛ-технология)

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


транзисторами, вследствие чего всегда один из транзисторов открыт, а второй закрыт
(рисунок 5.5). Состояние открытого транзистора обозначается как «лог. 1», закрытого – «лог.
0». Т.о. статический триггер является ЗЭ и используется для хранения одного бита
информации. Транзисторы в ИС памяти имеют несколько эмиттеров.
Главными параметрами ЗЭ являются ток считывания ІСЧ и напряжение на разрядной
линии UР.
Статический RS-триггер (SET – установить, RESET – сбросить) работает в 3
режимах:
1. Хранение;
2. Запись;
3. Считывание.

1. Режим хранения
Пусть транзистор VT1 открыт, a VT2 – закрыт.
Если напряжение на линии адреса Uа < (UP = UOП), то по эмиттеру 1 транзистора VT1
течет ток от большего напряжения к меньшему, по эмиттеру 2 ток не течет. Триггер не
меняет своего состояния, т.е. информация может храниться до тех пор, пока подается
напряжение питания UИП.

25
Рисунок 5.5 – Принципиальная электрическая схема триггера на биполярных транзисторах
по ТТЛ-технологии (а) и временная диаграмма его работы (б)

2. Режим считывания
Пусть VT2 – открыт, VT1 – закрыт, т.е. в RS-триггер записана «лог. 1».
Если напряжение на линии адреса Ua > (UP = UOП), то транзистор VT2 закрывается по
эмиттеру 1 и открывается по эмиттеру 2.
Ток считывания ІСЧ течет в разрядную шину, на которой появляется напряжение «лог. 1».
Если транзистор VТ2 при считывании закрыт, то тока считывания не будет (ІСЧ = 0) и на
разрядной шине будет низкое напряжение («лог. 0»).

3. Режим записи
Режим записи зависит от начального состояния триггера.
Если в триггер была записана «лог.1» (VТ1 закрыт, VТ2 открыт), то для записи в него
«лог. 0» необходимо напряжение разрядной шины сделать большим опорного Ua > (UP >
UOП). Для записи «лог. 0» необходимо выполнить обратное условие Ua > (UP < UOП).

4.5.2 ЗЭ на двух инверторах (по технологии И²Л)

ЗЭ выполняется на RS-триггере, состоящем из транзисторов VТ1, VТ2, VТ3 (рисунок


5.6).
Транзистор VТ3 предназначен для управления режимами записи и чтения. Если ЗЭ по
ТТЛ-технологии потребляет Р = 0,5…1,5 мВт/бит, быстродействие 30-40 нс, то для ЗЭ по
технологии И²Л P < 0,1 мВт/бит, но время выборки значительно меньше.

Рисунок 5.6 – Принципиальная электрическая схема триггера на биполярных транзисторах


по И2Л-технологии

26
4.5.3 ЗЭ на МОП-транзисторах

Запоминающие устройства на МОП-транзисторах могут быть выполнены как на


статических, так и на динамических ЗЭ. Статические ЗЭ основаны на статическом триггере,
состоящем из двух МОП-транзисторов VT1, VT2 (рис.5.7а). Нагрузочные сопротивления
формируются на двух транзисторах VT3, VT4, работающих в режиме динамической нагрузки.
Транзисторы VT5, VT6 используются в качестве вентилей для обращения к триггеру по
адресной шине Хi, а VT7, VT8 – по адресной шине Yi. В режиме хранения на адресные шины
Хi и Yi подается потенциал ~ 0, а на разрядные шины РШО и РШI – положительный
потенциал, близкий к Un, при этом транзисторы VT5, VT6, VT7, VT8 – заперты, изолируя тем
самым триггер от разрядных шин. В режиме записи на адресные шины Х i, Yi подается
положительный потенциал и потенциал ~ 0 в соответствующую разрядную шину РШО или
РШI, при этом на выходах триггера устанавливаются требуемые уровни. При
считывании в результате подачи импульса >U n на адресные шины транзисторы VT6 и VT8
открываются, и измеряется ток, протекающий через открытую половину триггера (рис.5.7,б).

Рисунок.5.7. Статический ЗЭ на МОП-транзисторах: а – схема; б – диаграмма его работы; в –


триггерный усилитель считывания

В качестве усилителя считывания обычно используется дифференциальный каскад


триггерного типа (рис.5.7,в), который обладает высокой чувствительностью. Усилитель
считывания связан непосредственно с ЗЭ. В режиме хранения (тактовый сигнал ТС=0)
транзисторы VT1, VT3 закрыты, а потенциалы шин РШО, РШI установлены в нуль
дополнительными схемами, не показанными на рис.5.7,в. В режиме считывания на обе
разрядные РШО, РШI подается сигнал считывания от выбранного ЗЭ. Сигнал ТС=1
открывает VT1, VT3, и паразитные емкости Сп1, Сп2 заряжаются от источника Еп через VT1,
VT3 и транзисторы ЗЭ. В зависимости от хранимой в ЗЭ информации на разрядных шинах
РШО, РШI устанавливается разбаланс напряжений, и по достижении порога срабатывания
триггера на РШI, РШО установятся логические уровни в соответствии с кодом хранимой
информации.
Существенное снижение потребляемой мощности и увеличение быстродействия
статических ЗЭ можно достичь за счет применения КМОП-транзисторов (рис.8.4,а). здесь
один из транзисторов в последовательной паре всегда открыт, а второй – всегда закрыт,
поэтому потребляемая мощность мала и определяется в статическом режиме лишь
величиной токов утечки. Быстродействие ЗЭ на КМОП-транзисторах значительно выше, чем
на одноканальных МОП-транзисторах. Это обусловлено тем, что перезаряд нагрузочных

27
емкостей происходит через малое сопротивление открытого транзистора противоположного
типа проводимости в отличие от большого нелинейного сопротивления нагрузочного МОП-
транзистора того же типа проводимости, что и активный прибор.

Рисунок.5.8. Схема ЗЭ: а – статического на КМОП-транзисторах;


б – динамического на МОП-транзисторах

4.5.4 ЗЭ динамических ЗУ

В основу работы динамических ЗЭ положен принцип накопления и восстановления


заряда на затворе МОП-транзистора. Основа динамического ЗЭ – конденсатор,
накапливающий заряд (примем, что отсутствие заряда на конденсаторе означает состояние
«0», а наличие – состояние «1»). Поскольку конденсаторам свойственна утечка, то
накопленный заряд должен периодически восстанавливаться. Поэтому в ЗУ на динамических
ЗЭ необходимы схемы восстановления заряда, которые с интервалом времени не реже 2 мкс
ее считывают изаписывают обратно. Эта процедура называется регенерацией памяти..
Периодическое, а не постоянное поступление энергии в ЗЭ позволяет значительно сократить
мощность потребления и упростить схему элемента, а следовательно, повысить плотность их
компоновки на кристалле.
На рис. 5.8, б показана схема динамического ЗЭ.ЗЭ представляет собой триггер без
нагрузочных резисторов. Транзисторы VT3 и VT4 совмещают функции возбуждения
числовых шин и нагрузки. Запись информации в ЗЭ производится подачей положительного
импульса >Un в адресную шину (АШ) и отрицательного импульса в соответствующую
разрядную шину. При этом VT3 и VT4 открываются, и информация с разрядных шин РШО и
РШI заносится в триггер. В режиме хранения информации в ЗЭ хранится в виде зарядов
паразитных емкостей Сп1, и Сп2. Заряд, накопленный в режиме записи на паразитных
емкостях Сп1 или Сп2, уменьшается из-за токов утечки. Поэтому для восстановления
информации в ЗЭ периодически возбуждается АШ и одновременно на разрядные шины
подается одинаковое по знаку напряжение (отрицательное для р-канальных транзисторов).
При считывании информации возбуждается АШ, и ток считывания через транзистор VT 3 и
VT4 поступает в разрядную шину, подсоединенную к открытому плечу триггера.
Потребляемая мощность ЗЭ уменьшается при этом еще на несколько порядков из-за
низкого сопротивления цепей и энерговыделения. В то же время быстродействие такого ЗЭ
несколько меньше, чем на биполярных транзисторах.
В устройствах памяти большой емкости применяются однотранзисторные ЗЭ
динамического типа.

4.5.5 Постоянные запоминающие устройства (ПЗУ)

28
В ПЗУ хранится информация, которая не изменяется в процессе эксплуатации
устройства: программы работы микроконтроллеров, начальные загрузчики (BIOS) в
компьтерах, таблицы констант и др.
Микросхемы ПЗУ выпускаются как:
1. ROM – oднократно программируемые на заводе-изготовителе (масочные).
2. PROM – oднократно программируемые пользователем.
3. EPROM, EEPROM, FLASH – репрограммируемые.

В реальных ПЗУ запись информации производится при помощи последней операции


производства микросхемы – металлизации. Металлизация производится при помощи маски,
поэтому такие ПЗУ получили название масочных ПЗУ.
ИС ПЗУ состоит матрицы, на пересечениях строк и столбцов которой записан один
бит информации. При наличии команды выборки кристалла CS двоичный адрес строки
матрицы преобразуется в восьмиричную систему счисления дешифратором DC (рисунок 5.9)
так, что напряжение «лог. 1» появляется только на одной строке матрицы. Если между
строкой и столбцом матрицы установлена перемычка, то напряжение «лог. 1» передается из
строки в данный столбец, если перемычка отсутствует, то в столбце будет низкое
напряжение «лог. 0» из-за связи столбца с «землей» через резистор. Выходной
демультиплексор MUX по команде RD передает на выход ИС напряжение со столбца,
указанного в адресе столбца.
Условное графическое обозначение (УГО) масочных ПЗУ на принципиальных схемах,
показано на рисунке 5.10,а. Адреса ячеек памяти в этой микросхеме подаются на выводы
A0...A9. Микросхема выбирается сигналом CS . При помощи этого сигнала можно
наращивать объем ПЗУ в страничных ПЗУ. Чтение микросхемы производится сигналом RD .
Программирование масочного ПЗУ производится на заводе изготовителе, что очень
неудобно для мелких и средних серий производства, не говоря уже о стадии разработки
устройства. Естественно, что для крупносерийного производства масочные ПЗУ являются
самым дешевым видом ПЗУ, и поэтому широко применяются в настоящее время.

Рисунок 5.9 – Схема масочного постоянного запоминающего устройства (ROM)

29
а) б)

Рисунок 5.10 – УГО масочных (а) и программируемых (б) ПЗУ на принципиальных схемах

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


микросхемы, которые можно программировать в специальных устройствах –
программаторах. В этих ПЗУ постоянное соединение проводников в запоминающей матрице
заменяется плавкими перемычками, изготовленными из поликристаллического кремния,
включенными последовательно с диодами или МОП-транзисторами. При производстве ПЗУ
изготавливаются все перемычки, что эквивалентно записи во все ячейки памяти ПЗУ «лог.
1». В процессе программирования ПЗУ на выводы питания и выходы микросхемы подаётся
повышенное питание. При этом, если на выход ПЗУ подаётся напряжение питания («лог. 1»),
то через перемычку ток протекать не будет и перемычка останется неповрежденной. Если же
на выход ПЗУ подать низкий уровень напряжения (присоединить к корпусу), то через
перемычку запоминающей матрицы будет протекать ток, который испарит ее и при
последующем считывании информации из этой ячейки ПЗУ будет считываться «лог. 0».
Такие микросхемы называются программируемыми ПЗУ (ППЗУ) или PROM и
изображаются на принципиальных схемах, как показано на рисунке 5.10,б.
В качестве примера ППЗУ можно назвать микросхемы 155РЕ3, 556РТ4, 556РТ8 и
другие. Программируемые ПЗУ оказались очень удобны при мелкосерийном и
среднесерийном производстве. Однако при разработке радиоэлектронных устройств часто
приходится менять записываемую в ПЗУ программу. ППЗУ при этом невозможно
использовать повторно, поэтому раз записанное ПЗУ при ошибочной или промежуточной
программе приходится выкидывать, что естественно повышает стоимость разработки
аппаратуры. Для устранения этого недостатка был разработан еще один вид ПЗУ, который
мог бы стираться и программироваться заново.

РПЗУ с ультрафиолетовым стиранием строится на основе запоминающей матрицы,


построенной на ячейках памяти, внутреннее устройство которой приведено на рисунке 5.11:

Рисунок 5.11 – Запоминающая ячейка ПЗУ с ультрафиолетовым и электрическим стиранием

30
Ячейка памяти представляет собой МОП-транзистор, изготовленный по ЛИЗМОП-
технологии, в котором затвор выполняется из поликристаллического кремния. Затем в
процессе изготовления микросхемы этот затвор окисляется и в результате он будет окружен
оксидом кремния – диэлектриком с прекрасными изолирующими свойствами. В описанной
ячейке при полностью стертом ПЗУ заряда в плавающем затворе нет, и поэтому транзистор
ток не проводит. При программировании ПЗУ, на второй затвор, находящийся над
плавающим затвором, подаётся высокое напряжение и в плавающий затвор за счет
туннельного эффекта индуцируются заряды. После снятия программирующего напряжения
индуцированный заряд остаётся на плавающем затворе, и, следовательно, транзистор
остаётся в проводящем состоянии. Заряд на плавающем затворе подобной ячейки может
храниться десятки лет.
Структурная схема описанного постоянного запоминающего устройства не
отличается от описанного ранее масочного ПЗУ. Единственное отличие – вместо плавкой
перемычки используется описанная выше ячейка. Такой вид ПЗУ называется
репрограммируемыми постоянными запоминающими устройствами (РПЗУ) или EPROM. В
РПЗУ стирание ранее записанной информации осуществляется ультрафиолетовым
излучением. Для того, чтобы этот свет мог беспрепятственно проходить к
полупроводниковому кристаллу, в корпус микросхемы ПЗУ встраивается окошко из
кварцевого стекла.
При облучении микросхемы РПЗУ, изолирующие свойства оксида кремния теряются,
накопленный заряд из плавающего затвора стекает в объем полупроводника, и транзистор
запоминающей ячейки переходит в закрытое состояние. Время стирания микросхемы РПЗУ
колеблется в пределах 10-30 минут.
Количество циклов записи-стирания микросхем EPROM находится в диапазоне от 10
до 100 раз, после чего микросхема РПЗУ выходит из строя. Это связано с разрушающим
воздействием ультрафиолетового излучения на оксид кремния. В качестве примера
микросхем EPROM можно назвать микросхемы 573 серии российского производства,
микросхемы серий 27сXXX зарубежного производства. В РПЗУ чаще всего хранятся
программы BIOS универсальных компьютеров. РПЗУ изображаются на принципиальных
схемах как показано на рисунке 5.12,а.
Высокая стоимость корпусов с кварцевыми окошками, а также малое количество
циклов записи-стирания привели к поиску способов стирания информации из РПЗУ
электрическим способом. Сейчас достаточно широко распространены микросхемы с
электрическим стиранием информации. В качестве запоминающей ячейки в них
используются такие же ячейки, как и в РПЗУ, но они стираются электрическим потенциалом,
поэтому количество циклов записи-стирания для этих микросхем достигает 1 млн. Время
стирания ячейки памяти в таких ПЗУ уменьшается до 10 мс. Схема управления для
электрически стираемых программируемых ПЗУ получилась сложная, поэтому наметилось
два направления развития этих микросхем:
1. ЕСППЗУ (EEPROM) – электрически стираемое программируемое ПЗУ. 
2. FLASH-ПЗУ.
Электрически стираемые ППЗУ (EEPROM) дороже и меньше по объему, но зато
позволяют перезаписывать каждую ячейку памяти отдельно. В результате эти микросхемы
обладают максимальным количеством циклов записи-стирания. Область применения
электрически стираемых ПЗУ – хранение данных, которые не должны стираться при
выключении питания. К таким микросхемам относятся отечественные микросхемы 573РР3,
558РР3 и зарубежные микросхемы EEPROM серии 28cXX.  Электрически стираемые ПЗУ
обозначаются на принципиальных схемах как показано на рисунках 5.12,б и 5.12,в.

31
а) б) в)

Рисунок 9 – УГО репрограммируемых ПЗУ со стиранием ультрафиолетовым излучением (а),


электрическим стиранием (б) и флэш-памяти (в) (EEPROM) на принципиальных схемах

В последнее время наметилась тенденция уменьшения габаритов ЭСППЗУ за счет


уменьшения количества внешних выводов микросхем. Для этого адрес и данные передаются
в микросхему и из микросхемы через последовательный порт. При этом используются два
вида последовательных портов – SPI порт и I2C порт (микросхемы 93сXX и 24cXX серий
соответственно). Зарубежной серии 24cXX соответствует отечественная серия микросхем
558РРX.
FLASH-ПЗУ отличаются от ЭСППЗУ тем, что стирание производится не каждой
ячейки отдельно, а всей микросхемы в целом или блока запоминающей матрицы этой
микросхемы, как это делалось в РПЗУ.
  При обращении к постоянному запоминающему устройству сначала необходимо
выставить адрес ячейки памяти на шине адреса, а затем произвести операцию чтения из
микросхемы. Эта временная диаграмма приведена на рисунке 5.13.

Рисунок 5.13 – Временные диаграммы сигналов чтения информации из ПЗУ

На рисунке 5.13 стрелочками показана последовательность, в которой должны


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

32
5. Построение центрального процессора
5.1 Арифметико-логические устройства
Теперь, можно перейти к устройствам, которые могут выполнять различные операции
над двоичными числами — суммировать, вычитать, увеличивать и уменьшать на единицу.
При этом выбор выполняемой операции желательно выполнять также при помощи
двоичного кода. Такое устройство получило название арифметического устройства. Если же
оно, кроме арифметических операций, выполняет еще и логические, то его называют
арифметико-логическим устройством (АЛУ).
Ранее были рассмотрены схемы, осуществляющие суммирование многоразрядных
кодов. Однако часто требуется осуществлять не только суммирование, но и вычитание
двоичных кодов. Двоичные коды, при помощи которых можно записывать отрицательные
числа, уже рассматривались в предыдущих разделах. Там же было показано, что при
использовании дополнительных кодов операцию вычитания двух положительных чисел
можно заменить операцией суммирования положительного и отрицательного числа, при
этом получение двоичного отрицательного числа из положительного является элементарной
операцией. Для этого необходимо про инвертировать число и прибавить к нему 1.
Схема вычитателя числа А из числа В приведена на рис. 4.16, а схема вычитателя
числа В из числа А приведена на рис. 4.17. В этих схемах прибавление единицы к
проинвертированному числу осуществляется подачей уровня логической единицы на вход
переноса сумматора PI Основным элементом этих двух схем является сумматор.
Различаются они лишь местом включения инверторов.

Рис. 4.16. Схема вычитателя числа А из Рис. 4.17. Схема вычитателя числа В из
числа В числа А

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


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

33
Рис. 4.18. Структурная схема арифметического устройства

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


для управления каждым из которых достаточно двух битов. То есть для управления всей
схемой в целом достаточно четырех сигналов управления. Попытаемся построить таблицу
операций, которые будет выполнять эта схема. На результат операции будет влиять входной
сигнал переноса сумматора PI, поэтому его тоже включим в состав кода, управляющего
схемой. Операции, которые выполняются арифметическим устройством в зависимости от
кода, поданного на управляющие линии, приведены в табл. 4.2.
Проанализируем эту таблицу. Если на все управляющие входы подать низкий
потенциал, то к входу сумматора будут подключены коды А и В без инверсии. В этом случае
будет производиться операция суммирования. Эта ситуация отображена первыми двумя
строками (с номерами 0 и 1) таблицы выполняемых операций.
Операция вычитания осуществляется строками 2, 3, 8 и 9. В этом случае один из
операндов поступает на вход сумматора через блок инверторов. Единица, требуемая для
получения дополнительного кода, подается на вход переноса сумматора PI

Таблица 4.2. Список команд арифметического устройства


Номер Управляющий код Выполняемая
строки К0 К1 К2 КЗ PI операция
0 0 0 0 0 0 S = A+ В
1 0 0 0 0 1 S = A + B+1
2 0 0 0 1 0 S=B-A-1
3 0 0 0 1 1 S = В -А
4 0 0 1 0 0 S = B-1
5 0 0 1 0 1 S=B
6 0 0 1 1 0 S=B
7 0 0 1 1 1 S = B+ 1
8 0 1 0 0 0 S=A-B-1
9 0 1 0 0 1 S = A-B
10 0 1 0 1 0 S=-A-B-2
11 0 1 0 1 1 S=-B-A-1
12 0 1 1 0 0 S=-B-2

34
13 0 1 1 0 1 S=-B-1
14 0 1 1 1 0 S=-B-1
15 0 1 1 1 1 S = -B
16 1 0 0 0 0 S = A-1
17 1 0 0 0 1 S=A
18 1 0 0 1 0 S=-A-2
19 1 0 0 1 1 S=-A-1
20 1 0 1 0 0 S = -2
21 1 0 1 0 1 S=-1
22 1 0 1 1 0 S = -1
23 1 0 1 1 1 S=0
24 1 1 0 0 0 S=A
25 1 1 0 0 1 S = A+ 1
26 1 1 0 1 0 S=-A-1
27 1 1 0 1 1 S = -A
28 1 1 1 0 0 S = -1
29 1 1 1 0 1 S=0
30 1 1 1 1 0 S=0
31 1 1 1 1 1 S = +1
Часто используемой операцией является увеличение числа на единицу
(инкрементирование) или уменьшение числа на единицу (декрементирование). Эти операции
позволяют легко организовывать циклы в программе и переходить от предыдущего операнда
к следующему. Они могут быть выполнены при помощи кодов, записанных в строках 4, 7, 16
и 25.
Кроме того, схема арифметического устройства может просто передавать на выход
любой из входных кодов без изменения, что позволяет осуществлять копирование данных
(суммирование с константой ноль) через это устройство без дополнительных схем
коммутации.
При небольшом изменении схемы такое устройство сможет осуществлять не только
арифметические, но и логические операции. Для этого нужно ввести дополнительный
коммутатор, который будет разрывать цепи переноса между разрядами. Эта управляющая
цепь обычно называется М.
Подчеркнем основную особенность полученного устройства: выбор вида
выполняемой операции при помощи кода, подаваемого на специальные выводы. Это дает
возможность использовать одно и то же устройство для выполнения различных функций.
Разработка такого устройства позволила обменивать большую скорость выполнения
отдельных операций на сложность реализуемого алгоритма, что, в конце концов, привело к
разработке микропроцессорных систем. Развитие этих систем изменило окружающий нас
мир.

5.2 Классификация микропроцессоров


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

35
В процессорах с полным набором команд используется уровень микро-
программирования, обеспечивающий декодирование и выполнение команд микропроцессора.
Команды микропрограмм называют микрокомандами. В этих процессорах формат команды не
зависит от аппаратуры процессора. На одной и той же аппаратуре при смене микропрограммы
могут быть реализованы различные микропроцессоры.
С другой стороны, смена аппаратуры никак не влияет на программное обеспечение
микропроцессора. При разработке новых микросхем можно использовать аппаратурные
решения, никак не связанные с предыдущей микросхемой. Главное, чтобы микропрограмма
эмулировала эту микросхему. То есть пользователь воспринимает новую микросхему как
полный аналог старой. С его точки зрения у микропроцессора только увеличивается
производительность, снижается потребление энергии, уменьшаются габариты устройств.
Определение микрокоманды и пример реализации микропрограммы будут подробно
рассмотрены ниже по тексту данной главы. Поэтому сейчас эти понятия уточняться не будут.
Неявным недостатком CISC-процессоров является то, что производители микросхем
стараются увеличить количество команд, которые может выполнять микропроцессор, тем
самым увеличивая сложность микропрограммы и замедляя выполнение каждой команды.
В RISC-процессорах декодирование и исполнение команды производятся аппаратно,
поэтому количество команд ограничено минимальным набором. В этих процессорах понятия
команда и микрокоманда совпадают. Преимуществом этого типа процессоров является то, что
команда может быть в принципе выполнена за один такт (не требуется выполнение мик-
ропрограммы), однако для выполнения тех же действий, которые выполняет одиночная команда
CISC-процессора, требуется выполнение некоторой последовательности команд RISC-
процессоров, иногда это последовательность довольно длинная. То есть выигрыш в
быстродействии микропроцессора может быть сведен к нулю.
В большинстве случаев быстродействие у RISC-процессоров выше, чем у CISC-
процессоров. Тем не менее, при выборе процессора нужно принимать в расчет все параметры в
целом. Нужно учитывать, что тактовая частота RISC-процессора может оказаться значительно
ниже, чем у CISC-процессора (особенно если в нем применяются специальные меры по
повышению производительности), разрядность команды может оказаться выше, чем у CISC-
процессора (что чаще всего и бывает). В результате общий объем исполняемой программы для
RISC-процессора, как правило, превышает объем подобной программы для CISC-процессора.
Следующий признак классификации архитектур микропроцессоров — это система
команд. По системе команд микропроцессоры отличаются огромным разнообразием,
зависящим от фирмы-производителя. Тем не менее, можно определить две крайние
архитектуры построения микропроцессоров:
□ аккумуляторные микропроцессоры;
□ микропроцессоры с регистрами общего назначения.
В микропроцессорах с регистрами общего назначения операнды математических
операций могут находиться в любом внутреннем регистре. В зависимости от типа операции
команда может быть одноадресной, двухадресной или трехадресной.
Принципиальным отличием аккумуляторных процессоров является то, что
математические операции могут производиться только над одной особой ячейкой памяти,
аккумулятором. Для того чтобы произвести операцию над произвольной ячейкой памяти, ее
содержимое необходимо скопировать в аккумулятор, выполнить требуемую операцию, а затем
скопировать полученный результат в произвольную ячейку памяти.
В настоящее время в чистом виде не существует ни та, ни другая архитектуры. Все
выпускаемые в настоящее время процессоры обладают системой команд с признаками, как
аккумуляторных процессоров, так и микропроцессоров с регистрами общего назначения.
Следующий признак, по которому классифицируются микропроцессоры, — это способ
работы с системной памятью. По способу работы с системной памятью существует два
основных принципа построения микропроцессоров:
□ гарвардская архитектура;

36
□ архитектура фон Неймана.
В гарвардской архитектуре принципиально различаются два вида памяти:
□ память программ;
□ память данных.
В гарвардской архитектуре принципиально невозможно производить операцию записи
в память программ, что исключает возможность случайного разрушения управляющей
программы в случае неправильных действий над данными. Кроме того, в ряде случаев для
памяти программ и памяти данных выделяются отдельные шины обмена данными. Эти
особенности определили области применения гарвардской архитектуры микропроцессоров.
Она применяется в микроконтроллерах, где требуется обеспечить высокую надежность работы
аппаратуры. В сигнальных процессорах эта архитектура, кроме высокой надежности работы
устройств, позволяет обеспечить высокую скорость выполнения программы за счет
одновременного считывания управляющих команд и обрабатываемых данных.
Отличие архитектуры фон Неймана заключается в принципиальной возможности
работы над управляющими программами точно так же, как и над данными. Это позволяет
производить загрузку и выгрузку управляющих программ в произвольное место памяти
процессора, которая в этой архитектуре не разделяется на память программ и память данных.
Любой участок памяти может служить как памятью программ, так и памятью данных. Причем в
разные моменты времени одна и та же область памяти может использоваться и как память
программ, и как память данных. Для того чтобы программа могла работать в произвольной
области памяти, ее необходимо модифицировать перед загрузкой, т. е. работать с нею как с
обычными данными. Эта особенность архитектуры позволяет наиболее гибко управлять
работой микропроцессорной системы, но создает принципиальную возможность искажения
управляющей программы, что понижает надежность работы аппаратуры. Архитектура фон
Неймана используется в универсальных компьютерах и в некоторых видах
микроконтроллеров.
В качестве примера реализации микропроцессора в дальнейшем рассмотрим
устройство процессора с полным набором команд. При этом будет рассматриваться
упрощенная модель процессора.
Ядро CISC-микропроцессора состоит из двух основных частей:
□ операционного блока;
□ блока микропрограммного управления.
Операционный блок (ОБ) предназначен для считывания команд из системной памяти и
выполнения считанных команд. Эти действия он осуществляет под управлением блока
микропрограммного управления (БМУ), который формирует последовательность
микрокоманд, необходимую для выполнения машинной команды. Микрокоманды меняются
каждый раз после прихода импульса синхронизации микропроцессора.
5.3 Операционный блок микропроцессора
Основным принципом работы любого цифрового устройства с памятью, в том числе и
микропроцессора, является наличие цепи синхронизации CLK. Синхросигнал, как и цепь
питания, подводится к любому регистру цифрового устройства. Схема одного из вариантов
операционного блока приведена на рис. 4.19.

37
Рис. 4.19. Операционный блок

В схеме, приведенной на рис. 4.19, явно просматривается, что отдельные биты


микрокоманды (обозначены надписями внизу схемы) управляют различными элементами ОБ,
поэтому их можно рассматривать независимо друг от друга. Такие группы битов называются
полями микрокоманды. Кроме битов, управляющих арифметико-логическим устройством
(АЛУ) и регистрами общего назначения (РОН), в микрокоманде есть биты, управляющие БМУ.
Формат микрокоманды рассматриваемого процессора приведен на рис. 4.20. Результат
выполнения микрокоманды записывается во внутренние регистры ОБ по сигналу
синхронизации микропроцессора CLK.

Рис. 4.20. Формат микрокоманды процессора

Попробуем реализовать аккумуляторный процессор с архитектурой фон Неймана. В


этом случае потребуется более простая система команд. Что такое команды микропроцессора и
как они реализуются, мы рассмотрим позднее.
Для реализации аккумуляторного процессора необходимо один из регистров ОБ
выделить в качестве аккумулятора АСС. Для хранения и декодирования выполняемой
команды выделим 8-разрядный регистр, который назовем RI.
Для дальнейших рассуждений лучше иметь перед глазами временную диаграмму записи
или чтения ОЗУ или чтения из ПЗУ. Можно воспользоваться временными диаграммами,
приведенными на рис. 3.30 или 4.25.
Для работы с микросхемами ОЗУ и ПЗУ, в которых может храниться программа,
требуется специальный счетчик, который будет определять начальный адрес команд
микропроцессора. Назовем это устройство программным счетчиком. Счетчик можно
реализовать на любом регистре, подключенном к АЛУ. Для этого к содержимому регистра
будем добавлять длину команды и, тем самым, вычислять адрес следующей команды.
Выход программного счетчика можно было бы подключить к внешним выводам
микропроцессора, в состав которого входит рассматриваемый операционный блок. Однако
кроме адресов команд нам потребуются адреса данных, над которыми будет производиться
работа. Поэтому выделим отдельный регистр, в который мы будем записывать необходимый
адрес. Выходы этого регистра подключим к внешним выводам микропроцессора. Этот регистр

38
назовем регистром адреса, а выводы, к которым будут подключены выходы этого регистра, —
шиной адреса.
Значения битов регистра адреса непосредственно определяют уровни сигналов на
линиях шины адреса. Таким образом, в данной главе впервые рассказано о записи двоичного
кода в регистр для формирования логических сигналов на внешних выводах микросхемы. Этот
метод широко используется в микропроцессорной технике, и примеры его применения будут
часто встречаться в последующих главах.
Определим необходимую разрядность шины адреса, а значит и разрядность регистра
адреса и программного счетчика. Так как в качестве примера мы выбрали 8-разрядный
микропроцессор, то и все регистры в этом процессоре восьмиразрядные. Максимальное
беззнаковое число, которое можно записать в такой регистр, — 255, но для большинства
программ такого объема памяти недостаточно.
В приведенной на рис. 4.19 схеме для того, чтобы получить 16-разрядный адрес
используются два 8-разрядных регистра адреса, которые образуют 16-разрядную пару
регистров. Теперь максимальное число, которое можно записать в этих двух регистрах, будет
65535, что во многих случаях достаточно для адресации программ и обрабатываемых ими
данных. Для того чтобы различать регистры старшего и младшего байта регистра адреса,
обозначим их как RA — старший байт и RA — младший байт.
То же самое можно сказать и про программный счетчик. Он тоже должен быть 16-
разрядным. И для него тоже выделим два 8-разрядных регистра. Для того чтобы различать
регистры старшего и младшего байта программного счетчика, обозначим их как РСН —
старший байт и PCL — младший байт. Это позволяет при помощи 8-разрядного АЛУ
формировать 16-разрядный адрес очередной команды при помощи последовательной работы с
младшим и старшим байтом адреса.
Для реализации операций чтения или записи ОЗУ, кроме адреса и собственно данных,
требуются еще сигналы управления. В простейшем случае это сигналы записи (WR) и чтения
(RD). Для их формирования используем еще один регистр, выходы которого выведем за
пределы микросхемы микропроцессора. Назовем его регистром управления (CR). Для
формирования необходимых сигналов достаточно записывать в определенный бит регистра
логический 0 или 1. Определим формат регистра управления. Пусть бит 0 этого регистра будет
сигналом записи, а бит 1 — сигналом чтения. Остальные биты этого регистра пока не важны.
Если потребуются дополнительные сигналы управления системной шиной, то можно
воспользоваться зарезервированными сейчас битами. Полученный формат регистра
управления приведен на рис. 4.21.

Рис. 4.21. Формат регистра управления (CR)

5.4 Блок микропрограммного управления


В простейшем случае блок микропрограммного управления можно построить на
счетчике с возможностью предварительной записи и ПЗУ. Структурная схема такого блока
приведена на рис. 4.22.

Рис. 4.22. Блок микропрограммного управления


В этой схеме адрес очередной микрокоманды формирует двоичный счетчик. Если
требуется осуществить безусловный или условный переход, то новый адрес записывается из ПЗУ

39
в этот счетчик, как в обычный параллельный регистр, по сигналу параллельной записи V.
Переход к следующему адресу микрокоманды производится по сигналу синхронизации
микропроцессора CLK.
В приведенной схеме условный переход возможен по знаку результата операции,
переносу, нулевому результату или переполнению. Следует заметить, что достаточно лишь
флага N (знака числа) для реализации перехода по нескольким условиям: больше, меньше,
больше или равно, меньше или равно.
Содержимое ПЗУ блока микропрограммного управления называется
микропрограммой. Именно эта микропрограмма и реализует конкретный микропроцессор.
При смене микропрограммы, в принципе, можно реализовать на одном и том же кристалле
другой микропроцессор.

5.5 Команды микропроцессора


Команды микропроцессора в отличие от микрокоманд разрабатываются независимо от
аппаратуры микросхемы, поэтому их разрядность обычно кратна восьми разрядам. Команда
микропроцессора содержит как минимум код операции (КОП). Она может состоять только из
кода операции, когда не требуется указывать адрес операнда (операнды это данные, над
которыми выполняется заданная операция), или может состоять из кода операции и адресов
операндов или данных. Однобайтовые команды позволяют работать с внутренними программно
доступными регистрами процессора. Многобайтные команды могут содержать адреса
операндов, размещенных в ОЗУ или ПЗУ, или сами операнды (данные). Форматы команд очень
сильно зависят от структуры процессора. Рассмотрим построение команд для 8-разрядного
процессора, построенного по архитектуре фон Неймана. Примеры форматов команд для такого
процессора приведены на рис. 4.23.

Рис. 4.23. Форматы различных команд микропроцессора


Если для кода операции используется 8-разрядное число (байт), то при помощи этого
числа можно закодировать 256 операций. В процессе разработки системы команд для операции
может быть назначен любой код. Система команд является важным признаком,
характеризующим конкретное семейство процессоров.
При кодировании команд разработчик микропроцессора может назначить любой
операции любое число. Например, для операции сложения можно назначить код 1, для
операции вычитания код 12 и т. д. Для выполнения одной и той же операции над разными
регистрами процессора назначаются разные коды команд. Поэтому для операции суммирования
может потребоваться 8 чисел (команд). Например, 1 — просуммировать аккумулятор с
регистром R0, 2 — просуммировать аккумулятор с регистром R1, 3 — просуммировать
аккумулятор с регистром R2 и т. д.
Запоминать эти коды очень утомительно для человека. При программировании в
машинных кодах легко совершить ошибку и очень трудно найти ее, особенно если коды

40
различаются только одним битом. Для сокращения объема записи вместо двоичного кода
можно воспользоваться шестнадцатиричным, однако это не увеличивает удобочитаемости про-
граммы. Фрагмент шестнадцатиричного представления исполняемого кода программы для
микропроцессора приведен на рис. 4.24.

75D7001207E81200261216581216B9E4
FF121147BEFF05BFFF02800AE4FF1211
3079291201BA7F01121147BEFF05BFFF
02800A7F01121130792D1201BA1217CF
120005900 0 0 3Е493С0Е0740193С0Е07 4
01С0Е0Е4С0Е07408 С 0 Е 0 7 В 0 57А007936
12080074FB2581F581121074B2AFC298
Рис. 4.24. Фрагмент исполняемого кода микропроцессора

Ну, как? Очень легко разобраться в такой последовательности чисел? Я думаю, не


слишком. Чтобы уменьшить объем запоминаемой информации и увеличить наглядность
исходного текста программы, для каждой операции процессора придумывают мнемоническое
обозначение.
В качестве мнемонического обозначения операции обычно используют сокращения
английских слов, образующих название этой операцию. Например, для операции копирования
используется мнемоническое обозначение MOV; для операции суммирования — ADD; для
операции вычитания — SUB; для операции умножения — MUL и т. д.
Полная запись команды содержит мнемоническое обозначение операции и
используемые этой операцией операнды, которые перечисляются через запятую. При этом
обычно операнд-приемник результата записывается первым, а операнд-источник операнда —
вторым. Например:
MOV R0, А ;Скопировать содержимое регистра А в регистр R0
ADD A, R5 ;Просуммировать содержимое регистров R5 и
А, ;результат поместить в регистр А
Приведенные выше команды — однобайтовые, т. к. в них используются только
внутренние регистры процессора. Если в команде используется константа в качестве операнда
или указывается адрес операнда в памяти, то код команды будет занимать в памяти два или три
байта. Например:
MOV А, 1025 ; Скопировать содержимое ячейки памяти с адресом 1025
в
; регистр А
ADD A, #110 ; Просуммировать содержимое регистра А с числом 110
Несмотря на то, что общий объем исходного текста программы увеличивается, скорость
написания и особенно отладки программ при применении мнемонического обозначения
команд возрастает. Кто сомневается, может попробовать разобраться в программе,
приведенной на рис. 4.24. Теперь вместо одного текста программы в памяти компьютера или
на бумаге придется хранить два варианта представления: один для человека, в дальнейшем
будем называть этот вариант исходным текстом программы; другой для микропроцессора, в
дальнейшем будем называть этот вариант загрузочным модулем.
Преобразование программы, записанной в мнемоническом виде, в машинные коды
является рутинной работой, которую можно поручить компьютерной программе. Язык
программирования, в котором для обозначения машинных команд используются
мнемонические обозначения, называется ассемблером. Точно так же называют и программу или
пакет программ, которые осуществляет трансляцию (преобразование) исходного текста
программы, написанной на языке программирования ассемблер (исходный модуль), в
машинные коды (загрузочный модуль).

41
Теперь, когда мы рассмотрели все составные части микропроцессора: операционный
блок, блок микропрограммного управления, — а также систему команд, можно, наконец,
приступить к реализации самого микропроцессора. Напомню, что архитектура
микропроцессора реализуется микропрограммой и очень мало зависит от аппаратуры, для
которой пишется эта микропрограмма. То есть, написав микропрограмму, мы тем самым
построим микропроцессор с конкретной архитектурой. Микропрограмма состоит из сотен
однотипных блоков, написанных для различных команд микропроцессора, поэтому достаточно
рассмотреть реализацию нескольких типовых команд.

42
6. Системная шина процессора.
Системная шина процессора предназначена для обмена информацией
микропроцессора с любыми внутренними устройствами микропроцессорной системы
(контроллера или компьютера). В качестве обязательных устройств, которые входят в состав
любой микропроцессорной системы, можно назвать ОЗУ, ПЗУ, таймер и порты ввода-
вывода. Структурная схема простейшего микропроцессорного устройства приведена на
рисунке 1.
В состав системной шины в зависимости от типа процессора входит одна или
несколько шин адреса, одна или несколько шин данных и шина управления. Несколько шин
данных и адреса применяется для увеличения производительности процессора и
используется только в сигнальных процессорах. В универсальных процессорах и
контроллерах обычно применяется одна шина адреса и одна шина данных.
В понятие шины вкладывают разное значение при рассмотрении различных вопросов.
В простейшем случае под понятием шина подразумевают параллельно проложенные
провода, по которым передаётся двоичная информация. При этом по каждому проводу
передаётся отдельный двоичный разряд. Информация может передаваться в одном
направлении, как, например, для шины адреса или шины управления, или в различных
направлениях (для шины данных). По шине данных информация передаётся либо к
процессору, либо от процессора в зависимости от операции записи или чтения, которую в
данный момент осуществляет процессор.
В любом случае все сигналы, необходимые для работы системной шины формируются
микросхемой процессора как это рассматривалось при изучении блока обработки данных.
Иногда для увеличения скорости обработки информации функции управления системной
шины берёт на себя отдельная микросхема (например контроллер прямого доступа к памяти
или сопроцессор). Арбитраж доступа к системной шине при этом осуществляет контроллер
системной шины (в простейшем случае достаточно сигнала занятости шины).
В некоторых случаях в понятие шина дополнительно включают требования по
уровням напряжения, которыми представляются нули и единицы, передаваемые по её
проводам. В состав требований могут быть включены длительности фронтов передаваемых
сигналов, типы используемых разъёмов и их распайка, последовательность передаваемых
сигналов и скорость их передачи.

Рисунок 1. Структурная схема подключения микропроцессорных устройств к


системной шине.

43
При подключении различных устройств к системной шине возникает вопрос - как
различать эти устройства между собой? Единственный способ сделать это использовать
индивидуальный адрес для каждого устройства, подключенного к системной шине
микропроцессора. Так как адресация производится к каждой ячейке устройства
индивидуально, то возникает понятие адресного пространства, занимаемого каждым
устройством и адресного пространства микропроцессорного устройства в целом.

6.2 Адресное пространство микропроцессорного устройства.


Адресное пространство микропроцессорного устройства изображается графически
прямоугольником, одна из сторон которого представляет разрядность адресуемой ячейки
этого микропроцессора, а другая сторона - весь диапазон доступных адресов для этого же
микропроцессора. Обычно в качестве минимально адресуемой ячейки памяти выбирается
восьмиразрядная ячейка памяти (байт). Диапазон доступных адресов микропроцессора
определяется разрядностью шины адреса системной шины. При этом минимальный номер
ячейки памяти (адрес) будет равен 0, а максимальный определяется из формулы:

Для шестнадцатиразрядной шины это будет число 65535 (64K). Адресное


пространство этой шины и распределение памяти микропроцессорной системы,
изображённой на рисунке 1, приведено на рисунке 2, а распределение памяти
микропроцессорной системы, изображённой на рисунке 1, приведено на рисунке 3.

Рисунок 2. Адресное пространство шестнадцатиразрядной шины адреса.

Рисунок 3. Распределение памяти микропроцессора с шестнадцатиразрядной шиной адреса.

Микропроцессоры после включения питания и выполнения процедуры сброса всегда


начинают выполнение программы с определённого адреса, чаще всего нулевого. Однако есть
и исключения. Например процессоры, на основе которых строятся универсальные
компьютеры IBM PC или Macintosh стартуют не с нулевого адреса. Программа должна
храниться в памяти, которая не стирается при выключении питания, то есть в ПЗУ.

44
Выберем для построения микропроцессорной системы микросхему ПЗУ объёмом 2
килобайта, как это показано на рисунке 1. При рассмотрении построения блока обработки
сигналов мы договорились, что процессор после сброса начинает работу с нулевого адреса,
поэтому разместим ПЗУ в адресном пространстве начиная с нулевого адреса. Для того,
чтобы нулевая ячейка ПЗУ оказались расположенной по нулевому адресу адресного
пространства микропроцессора, старшие разряды шины адреса должны быть равны 0.
При построении схемы необходимо декодировать старшие пять разрядов адреса
(определить, чтобы они были равны 0). Это выполняется при помощи дешифратора адреса,
который в данном случае вырождается в пятивходовую схему "ИЛИ-НЕ" Это связано с тем,
что внутри ПЗУ уже есть одиннадцативходовый дешифратор адреса. При использовании
дешифратора адреса, обращение к ячейкам памяти выше двух килобайт не приведёт к
чтению ячеек ПЗУ, так как на входе выбора кристалла CS уровень напряжения останется
высоким.
Теперь подключим микросхему ОЗУ. Для примера выберем микросхему объёмом 8
Кбайт. Для выбора любой из ячеек этой микросхемы достаточно тринадцатибитового адреса,
поэтому необходимо дополнительно декодировать три оставшихся разряда адреса. Так как
начальные ячейки памяти адресного пространства уже заняты ПЗУ, то  использовать нельзя.
Выберем следующую комбинацию цифр 001 и используем известные нам принципы
построения схемы по произвольной таблице истинности. Дешифратор адреса выродится в
данном случае в трёхвходовую схему "И-НЕ" с двумя инверторами на входе. Схема этого
дешифратора приведена на рисунке 1. Приведённый дешифратор адреса обеспечивает
нулевой уровень сигнала на входе CS только при комбинации старших бит 000. Обратите
внимание, что так как объём ПЗУ меньше объёма ОЗУ, то между областью адресов ПЗУ и
областью адресов ОЗУ образовалось пустое пространство неиспользуемых адресов памяти.
 И, наконец, так как все микропроцессоры предназначены для обработки данных,
поступающих извне, то в любой микропроцессорной системе должны присутствовать порты
ввода-вывода. Порт ввода-вывода отображается в адресное пространство
микропроцессорного устройства как одиночная ячейка памяти, поэтому порт ввода вывода
можно разместить по любому свободному адресу. Проще всего построить дешифратор числа
FFFFh. В этом случае дешифратор превращается в обычную 16-ти входовую схему "И-НЕ",
поэтому и выберем эту ячейку памяти в адресном пространстве микропроцессора для
размещения порта ввода-вывода.
6.3 Способы расширения адресного пространства микропроцессора.
Известно, что размер адресного пространства определяется разрядностью счётчика
команд микропроцессора. Достаточно часто при развитии микропроцессорной системы
возможности адресного пространства исчерпываются. В таком случае приходится прибегать
к методам расширения адресного пространства.
Для расширения адресного пространства можно воспользоваться параллельным
портом. Внешние выводы параллельного порта при этом используются в качестве старших
битов адресной шины. Такой метод расширения адресного пространства называется
страничным методом адресации. Регистр данных параллельного порта при использовании
его для расширения адресного пространства будет называться переключателем страниц.
Схема использования параллельного порта в качестве переключателя страниц памяти
приведена на рисунке 4.

45
Рисунок 4. Использование параллельного порта в качестве переключателя страниц памяти.

В этой схеме параллельный порт используется в качестве простейшего контроллера


памяти микропроцессорного устройства. При применении восьмиразрядного параллельного
порта в микропроцессорной системе появились дополнительные восемь линий адреса. В
результате адресное пространство микропроцессорной системы увеличилось до 16 Мегабайт.
Структура нового адресного пространства приведена на рисунке 5, а принцип формирования
нового адреса с использованием переключателя страниц приведён на рисунке 6.

Рисунок 5. Структура страничного адресного пространства.

Рисунок 6. Формирование адреса с использованием переключателя страниц.


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

46
системной памяти процессора остаётся много неиспользуемых областей. Решить возникшую
проблему позволяет метод сегментной организации памяти.
При сегментном методе организации памяти для расширения адресного пространства
используется базовый регистр, относительно которого производится адресация команд или
данных в программе. Разрядность базового регистра обычно выбирают равной разрядности
счётчика команд. В качестве базового регистра, как и при страничной организации памяти,
можно использовать параллельный порт.
Для формирования физического адреса используется параллельный двоичный
сумматор. На входы этого сумматора подаётся содержимое базового регистра и содержимое
счётчика команд. Суммирование производится со смещением содержимого базового
регистра влево на несколько бит относительно счётчика команд (рисунок 8). В результате
максимальный размер сегмента определяется разрядностью программного счётчика, а
максимальная неиспользуемая область памяти – смещением базового регистра относительно
программного счётчика.
Адресное пространство при использовании сегментного метода адресации приведено
на рисунке 7.

Рисунок 7. Пример адресного пространства с разделением на сегменты.


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

Рисунок 8. Формирование адреса при сегментной адресации.

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

Рисунок 9. Применение окна для расширения адресного пространства.


Оконная адресация часто используется при развитии микропроцессорных семейств,
когда размера областей памяти, отведённых для конкретных задач в младших моделях
семейства, не хватает для старших моделей семейства, а при этом нужно поддерживать
аппаратную совместимость с младшими моделями семейства. В качестве примера можно
привести микросхемы I81c96 фирмы INTEL или TMS320c5410 фирмы Texas Instrument, где
для расширения области регистров специальных функций используется оконная адресация.

48
7. Подключение внешних устройств к микропроцессору.
7.1. Использование портов микропроцессора
В устройствах связи микропроцессорные системы чаще всего используются для
управления устройствами, блоками или системами связи. При этом в качестве
микропроцессорного устройства может выступать универсальный компьютер или группа
компьютеров объединенных локальной или глобальной сетью связи (для больших и дорогих
систем связи, таких как автоматические телефонные станции или коммутационные центры
сотовых систем связи) или специализированное микропроцессорное устройство в качестве
которого чаще всего выступает однокристальный микроконтроллер для дешевой и
портативной аппаратуры.
Внешними устройствами называются любые устройства, которыми управляет или
которым передает информацию микропроцессор или устройства, от которых он получает
информацию. В качестве внешних устройств может выступать принтер или дисплей
клавиатура или модем, но для устройств связи в качестве внешних устройств чаще
выступают микросхемы приемников, передатчиков (в том числе построенные на базе
сигнальных процессоров), синтезаторов частоты или электрически стираемые постоянные
запоминающие устройства.
Согласование микросхем между собой не представляет трудностей, так как
практически все современные микросхемы по входу и выходу согласованы с TTL уровнями.
Если же это не так, то для согласования нестандартных уровней с TTL уровнями
выпускаются специальные микросхемы. Несколько иначе обстоит дело с индикаторами и
различными исполнительными устройствами.
В качестве простейшего индикатора рассмотрим светодиодный индикатор. Схема
подключения такого индикатора показана на рисунке 1а. Транзистор служит для увеличения
тока параллельного порта, при помощи которого микропроцессор зажигает и гасит
светодиодный индикатор. Кроме того, транзистор позволяет согласовать уровни напряжения,
необходимые для работы цифровых микросхем, к которым относятся и микропроцессорные
устройства и уровни напряжения, необходимые для работы светодиодного индикатора.
Гальванической развязки транзисторный ключ не обеспечивает.

а) б)
Рис. 1. Подключение одиночного светодиодного индикатора а) и подключение
внешнего устройства с индуктивной нагрузкой б).

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


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

49
Несколько сложнее выглядит схема подключения внешних исполнительных устройств
с индуктивной нагрузкой (например реле или электромагнит) см. рис. 1б

Диод VD1 в этой схеме служит для ограничения напряжения импульсов самоиндукции,
которые могут вывести из строя транзистор VT1.
При считывании информации из внешнего устройства возникают аналогичные
проблемы. Источники дискретной информации могут иметь различную физическую
природу. Они могут находиться на значительном расстоянии от контроллера, иметь
различное напряжение питания, но их данные должны быть надежно введены в
микропроцессор.
Для решения указанных проблем и реализации гальванической развязки датчиков и
микропроцессорного устройства, все датчики с точки зрения схемы представляют собой
контакты, работающие на замыкание. Поэтому схема подключения датчика и кнопки не
различаются. Со стороны микропроцессорного устройства необходимо преобразовать
замыкание/размыкание контактов в логические уровни, необходимые для правильной работы
микропроцессорного устройства. Такая схема приведена на рисунке 3.

Рисунок 3. Подключение источника дискретной информации с гальванической


развязкой.
Иногда требуется вводить информацию с большого количества кнопок. В этом случае
для уменьшения количества линий ввода-вывода используется клавиатура. Для подключения
клавиатуры используется два порта: порт ввода и порт вывода. Схема подключения
клавиатуры приведена на рисунке 4.

50
Рисунок 4. Подключение клавиатуры к микропроцессорному устройству.

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


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

Рисунок 5. Временные диаграммы напряжения на выводах порта вывода.

7.2 Принципы построения параллельного порта.


Параллельные порты предназначены для обмена информацией микропроцессора с
внешними устройствами, при этом в качестве внешнего устройства может использоваться
другой компьютер. Параллельные порты позволяют согласовывать низкую скорость работы
внешнего устройства и высокую скорость работы системной шины микропроцессора. С
точки зрения внешнего устройства порт представляет собой обычный источник или
приемник информации со стандартными цифровыми логическими уровнями (обычно ТТЛ), а
с точки зрения микропроцессора  - это ячейка памяти, в которую можно записывать данные
или в которой сама собой появляется информация.
В качестве внешнего устройства может служить любой объект управления или
источник информации (различные кнопки, датчики, микросхемы приемников, синтезаторов
частот, дополнительной памяти, исполнительные механизмы, двигатели, реле и т.д.).
В зависимости от направления передачи данных параллельные порты называются
портами ввода, вывода или портами ввода вывода.
Структурная схема порта ввода приведена на рис 1.
В качестве порта ввода может быть использована
схема с открытым коллектором или с третьим (Z)
состоянием. В настоящее время обычно используются
схемы с третьим состоянием. Микросхема, объединяющая
несколько таких схем, называется шинным
формирователем. Из порта ввода возможно только чтение
информации.
Выход шинного формирователя подключается к
внутренней шине. Значение сигнала с внешнего вывода
порта считывается по сигналу "RD".
Для отображения этого шинного формирователя
только в одну ячейку памяти адресного пространства
Рис. 1. Структурная схема порта ввода. микропроцессорного устройства в составе порта ввода-

51
  вывода всегда присутствует дешифратор адреса.
Так как с точки зрения программиста эта ячейка памяти ничем не отличается от
регистра данных порта вывода, то по аналогии она называется регистром данных порта
ввода.
Структурная схема порта вывода приведена на рис 2.
В качестве порта вывода может быть использован
параллельный регистр. В порт вывода возможна только
запись.
Данные с внутренней шины микроконтроллера
записываются в регистр по сигналу "WR". Выходы "Q"
регистра могут быть использованы как источники
логических уровней для управления внешними
устройствами.
Для отображения этого регистра только в одну ячейку
памяти адресного пространства микропроцессорного
устройства в составе порта ввода-вывода всегда
присутствует дешифратор адреса. Этот регистр называется
Рис. 2. Структурная схема портарегистром данных порта вывода.
вывода.
Так как из порта ввода возможно только чтение, а в порт вывода возможна только
запись, то для них обычно отводится один и тот же адрес в адресном пространстве памяти
микропроцессора.
Порты выпускаются в качестве универсальных микросхем, но на заводе, где
производятся эти микросхемы неизвестно сколько на самом деле потребуется линий ввода
информации, и сколько потребуется линий вывода информации. Количество же ножек у
микросхемы ограничено. Поэтому в одной универсальной микросхеме размещаются и порт
ввода и порт вывода информации, а для подключения этих портов к внешним ножкам
микросхемы используется коммутатор. Для управления этим коммутатором используется
еще один (внутренний) параллельный порт вывода, регистр данных которого называется
регистром управления параллельного порта ввода-вывода, а сам порт называется портом
ввода-вывода. Адрес для регистра управления обычно назначается рядом с адресом регистра
данных порта ввода-вывода.

Рис. 3. Структурная схема параллельного порта ввода-вывода.

52
В некоторых микропроцессорах для портов ввода вывода выделяется отдельное
адресное пространство. В этом случае для записи в порт и для чтения из порта используются
отдельные сигналы чтения и записи. Чаще всего они называются IOWR# и IORD#.
Параллельные порты, предназначенные для обмена данными между компьютерами,
или компьютером и принтером, устроены несколько иначе. Основным отличием обмена
данных между компьютерами или контроллерами от обмена данными между компьютером и
простым внешним устройством является большой объём передаваемых данных. В этом
случае недостаточно выдачи на выход порта одного или даже нескольких байт информации,
поэтому приходится передавать данные последовательно байт за байтом через один и тот же
параллельный порт. Байты необходимо каким либо образом отличать друг от друга, поэтому
вводится специальный сигнал синхронизации CLK, который позволяет отличать один байт
от другого. Для формирования такого сигнала можно воспользоваться вторым параллельным
портом, и получить его программным способом, но обычно этот сигнал формируется
аппаратно из сигнала WR# при записи очередного байта в параллельный порт вывода.
Временная диаграмма обмена данными через параллельный порт приведена на рисунке 4.

Рис. 4. Временная диаграмма работы параллельного порта.

В лекции приведены только основы работы параллельного порта. Кому интересно


познакомиться с особенностями работы параллельных портов может обратиться к
специализированной литературе.

7.3 Принципы построения последовательного порта.


Последовательные порты предназначены для обмена информацией
микропроцессоров между собой, а также для связи с устройствами в которых критично
количество соединительных проводов. В настоящее время широко используются два вида
последовательных портов:
1. синхронные последовательные порты;
2. асинхронные последовательные порты.

7.3.1 Синхронные последовательные порты


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

53
Рисунок 5. Временная диаграмма передачи одного кадра двоичной информации по
последовательному порту.

Временная диаграмма, приведённая на рисунке 5, применяется в синхронных


последовательных портах, которые используются чаще всего в сигнальных процессорах для
обмена информацией с кодеками речи, аналого-цифровыми и цифро-аналоговыми
преобразователями. На приведённой временной диаграмме показаны два сигнала
синхронизации: сигнал тактовой синхронизации CLK и сигнал кадровой синхронизации FS.
Сигнал кадровой синхронизации формируется аппаратно из сигнала WR# при записи
очередного байта в параллельный порт вывода. Полярность сигналов синхронизации зависит
от конкретного типа применяемых микросхем, поэтому в большинстве сигнальных
процессоров возможна настройка полярности сигналов синхронизации.
Упрощённая схема синхронного последовательного порта приведена на рисунке 6. На
этой схеме видно, что в состав последовательного порта входит параллельный порт, который
позволяет подключаться к системной шине микропроцессора. Для преобразования
параллельного кода, который поступает из системной шины в последовательный,
используется сдвиговый регистр. При обращении центрального процессора к
последовательному порту вырабатывается сигнал записи в последовательный порт, который
подаётся на вход параллельной записи V универсального регистра. Этот же сигнал
используется в качестве сигнала кадровой синхронизации FS. Сигнал тактовой
синхронизации CLK, вырабатываемый отдельным генератором, подаётся на вход
последовательного сдвига C универсального регистра порта.

Рисунок 6. Упрощённая схема синхронного последовательного порта

Количество передаваемых в одном кадре бит может меняться от восьми до тридцати


двух. В качестве примера использования синхронного последовательного порта на рисунке 7
приведена схема подключения аналого-цифрового преобразователя фирмы Analog Devices к
синхронному последовательному порту сигнального процессора той же фирмы.

54
Рисунок 7. Схема подключения кодека к синхронному последовательному порту.

В рассмотренной схеме синхронного последовательного порта на приёмном конце


необходимо подсчитывать количество тактовых импульсов, прошедшее после импульса
кадровой синхронизации. Кроме того, в таком синхронном последовательном порту
информация передаётся непрерывно, что, конечно, удобно для устройств с непрерывным
потоком информации, как, например, в кодеках речи. Но существуют устройства, к которым
необходимо обращаться только периодически, как, например, синтезаторы частоты,
микросхемы приёмников, блоков цветности телевизоров, микросхем памяти данных и
многие другие устройства. В этих случаях используются другие виды синхронных
последовательных портов такие как SPI порт и I2C шина. Временная диаграмма SPI
интерфейса приведена на рисунке 8.

Рисунок 8. Временная диаграмма SPI интерфейса.

Основное отличие этого интерфейса от приведённого выше, заключается в том, что


сигнал тактовой синхронизации передаётся только в момент действия импульса кадровой
синхронизации. Активный уровень сигнала кадровой синхронизации длится до окончания
передачи последнего бита в передаваемом кадре. По одним и тем же линиям передачи
данных MISO (вход для главного, выход для ведомого) и MOSI (выход для главного, вход
для ведомого) может передаваться информация к совершенно различным микросхемам.
Выбор, для какой из микросхем предназначена информация, производится сигналом SS
(выбор ведомого). В SPI интерфейсе в приёмнике не требуется счётчик тактовых импульсов.
Запись принятой информации производится по окончанию кадрового импульса.
Если в устройстве используется несколько микросхем, то количество линий выбора
ведомого становится значительным, поэтому в таких случаях используется ещё один вид

55
синхронного последовательного интерфейса: I2C шина. Временная диаграмма этого
интерфейса приведена на рисунке 9. В I2C шине приём и передача данных, а также передача
адреса микросхемы и адреса регистра внутри микросхемы, к которому осуществляется
обращение, производится по одному и тому же проводу. Для подключения к этому проводу
используются микросхемы с открытым коллектором. Нагрузкой для всех микросхем,
подключенных к линии SDA служит внешний резистор. Естественно, что скорость передачи
данных по такому порту будет ниже, по сравнению с SPI портом. Тактовая синхронизация в
I2C шине передаётся по линии SCL. Начало работы с микросхемой обозначается особой
комбинацией сигналов SDA и SCL, которая называется условием старта. Эта же комбинация
одновременно осуществляет кадровую синхронизацию. Завершение работы с микросхемой
обозначается ещё одной комбинацией сигналов SDA и SCL. В качестве примера микросхем,
использующих интерфейс I2C можно назвать микросхемы EEPROM серии 24сXX.

Рисунок 9. Временная диаграмма I2C интерфейса.

7.3.2 Асинхронные последовательные порты

Рассмотренные синхронные последовательные порты позволяют достигнуть больших


скоростей передачи данных, но провод, по которому ведётся передача синхросигнала,
практически не несёт информации. Такой сигнал можно было бы сформировать и на
приёмном конце линии передачи, если заранее договориться о скорости передачи.
Единственная проблема - это то, что невозможно построить два абсолютно одинаковых
генератора. Генераторы необходимо синхронизировать. Для синхронизации внутренних
генераторов используется особое условие начала асинхронной передачи: старт. Всё время,
пока не ведётся передача информации, на линии присутствует стоп-сигнал единичного
уровня. Перед началом передачи каждого байта передаётся старт-бит, сигнализирующий
приемнику о начале посылки данных, за которым следуют информационные биты.
Стартовый бит всегда передаётся нулевым уровнем с длительностью, равной длительности
информационных бит. В некоторых случаях после передачи информационных бит может
передаваться, бит паритета (четности). Завершается передача данных стоп-сигналом.
Минимальная длительность стопового сигнала должна быть 1,5 длительности
информационных бит, но обычно используют паузу между соседними пакетами данных две
длительности информационного бита. Временная диаграмма передаваемых сигналов при
асинхронной передаче приведена на рисунке 10.

Рисунок 10. Временная диаграмма передаваемых сигналов при асинхронной передаче.

 Продолжительность стопового бита не ограничена. Это позволяет регулировать


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

56
Формат асинхронной посылки позволяет выявлять следующие возможные ошибки
передачи:
□если принят перепад, сигнализирующий о начале посылки, а по стробу старт-бита
зафиксирован уровень логической единицы, то старт-бит считается ложным и приемник
снова переходит в состояние ожидания. Об этой ошибке приемник может и не сообщать;
□если во время, отведенное под стоп-бит, обнаружен уровень логического нуля, то
фиксируется ошибка стоп-бита;
□если применяется контроль четности, то после посылки битов данных передается
контрольный бит. Он дополняет количество единичных битов данных до четного или
нечетного в зависимости от принятого соглашения. Прием байта с неверным значением
контрольного бита приводит к фиксации ошибки.
Наиболее распространенным в настоящее время является последовательный
асинхронный порт, работающий по стандарту RS-232. Временная диаграмма этого порта
приведена на рис. 11. Используются уровни сигналов ±10В, что позволяет контролировать
обрыв линии.

Рис. 11. Временная диаграмма сигналов интерфейса RS-232

Существует ряд международных стандартов на асинхронные последовательные


интерфейсы: RS-232C, RS-423A, RS-422A и RS-485. На рис. 12 приведены схемы
соединения приемников и передатчиков, а также показаны ограничения на длину линии (L) и
максимальную скорость передачи данных (V) по этим интерфейсам.
Несимметричные линии интерфейсов RS-232C и RS-423A имеют самую низкую
защищенность от синфазной помехи, хотя дифференциальный вход приемника RS-423A
несколько смягчает ситуацию. Лучшие параметры имеет двухточечный интерфейс RS-422A
и его магистральный (шинный) аналог RS-485, работающие на симметричных линиях связи.
В них для передачи каждого сигнала используются дифференциальные сигналы с отдельной
(витой) парой проводов.

57
Рис. 12. Схемы соединения приемников и передатчиков различных стандартных
асинхронных последовательных интерфейсов
Последовательный асинхронный порт, работающий по стандартам RS-232, RS-423A и
RS-422A, позволяет соединять между собой только два устройства. Это связано с тем, что
при параллельном соединении двух передатчиков их выходные каскады могут выйти из
строя. В ряде случаев требуется объединить несколько устройств. Для того чтобы выходные
каскады передатчиков последовательных портов не выходили из строя, необходимо
применять специальные меры, которые обсуждались в предыдущих главах. Эти меры
реализованы в интерфейсе RS-485.

58
8. Описание интерфейса SPI
http://www.radiohlam.ru/teory/SPI.htm
Интерфейс SPI - это один из самых популярных на сегодняшний день
последовательных интерфейсов. Он был придуман фирмой Motorola и очень быстро завоевал
популярность благодаря своей исключительной простоте и высокой скорости. При этом, SPI,
наверное, нельзя назвать в полной мере интерфейсом, скорее это просто принцип связи,
поскольку всё, что подразумевается под SPI, - это логика передачи данных между двумя
устройствами ("Ведущий"-"Ведомый"), физике же уделяется гораздо меньшее внимание, она
реализуется, можно сказать, "по обстоятельствам", а никакого протокола нижнего уровня
вообще нет, тут каждый производитель придумывает что-то своё.
Ну что ж, - с главного и начнём. Итак, в чём же тут логика? Логика в том, что данные
передаются последовательно, побитно, при этом считывание и установка данных разделены
во времени с помощью специального синхросигнала на специальной шине. Эта шина
называется шиной тактирования (или шиной синхронизации), а суть разделения заключается
в том, что считывание и установка данных происходят по противоположным фронтам
генерируемых на шине синхроимпульсов. Такое, чётко разделённое во времени, чередование
установок и считываний даёт возможность использовать один и тот же регистр и для приёма,
и для передачи данных. Ранее (когда память была маленькой и дорогой, операционки
хранились на дискетах, а по полям бегали мамонты) это было серьёзным преимуществом,
более того, именно под это на самом деле изначально и затачивался SPI, однако сейчас
никаких проблем с обьёмом памяти нет и большинство устройств спокойно могут позволить
себе иметь отдельные входной и выходной регистры.
Устройство, управляющее шиной тактирования (то есть генерирующее на ней
синхроимпульсы), является "Ведущим" или "Мастером". Собственно, "Master" управляет
всем обменом данными, - он решает: когда начинать обмен, когда заканчивать, сколько бит
передать и т.д. Второе устройство, участвующее в обмене, является "Ведомым" или "Slave".
В SPI, в отличии от, например, того же I2C, "Slave" совсем бесправен, он вообще никак не
может влиять на шину тактирования и никак не может сообщить мастеру, что не успевает
или, наоборот, что уже готов к обмену. То есть "Мастер" сам должен знать: когда, что и на
какой скорости спросить у "Слэйва", чтобы тот смог ему ответить.
Всего, для полнодуплексного обмена (в обе стороны одновременно), в интерфейсе SPI
используются 4 линии (смотрим рисунок): SCLK, MOSI, MISO и SS.

SCLK - шина тактирования (на этой линии мастер генерирует синхроимпульсы)


MOSI (Master Out, Slave In) - выход ведущего, вход ведомого (по этой линии мастер
передаёт данные слэйву)
MISO (Master In, Slave Out) - вход ведущего, выход ведомого (по этой линии мастер
принимает данные от слэйва)
SS (Slave Select) - выбор ведомого (с помощью этой линии мастер управляет сеансами
обмена)
"1" и "0" кодируются уровнем напряжения на шинах данных (MOSI, MISO) в обычной
положительной логике, то есть высокий уровень напряжения на шине соответствует
"единице", а низкий уровень соответствует "нулю". При этом, то, каким образом
организуется установка на шинах этих уровней, - нигде не оговаривается, то есть выходы
передатчиков могут быть как "push-pull", так и "с открытым коллектором". Высокий уровень
обычно соответствует напряжению питания микросхемы (то есть если мы имеем дело с

59
пятивольтовыми микрухами, то высокий уровень - это напряжение, близкое к пяти вольтам,
если речь идёт о микрухах, питающихся от 3,3В, то высокий уровень - это напряжение,
близкое к 3,3В).

Сигнал SS отмечает начало и конец сеанса обмена. Этот сигнал обычно инверсный, то
есть во время сеанса обмена данными мастер должен устанавливать на линии SS низкий
уровень, а при отсутствии обмена - высокий. Наличие сигнала SS позволяет мастеру
организовать подключение к нескольким слэйвам, используя один и тот же синхросигнал и
одни и те же шины данных, без каких-либо дополнительных протоколов (вариант такого
подключения показан на рисунке слева). Правда тут есть один минус: в этом случае мастеру
придётся к каждому слэйву подключаться по отдельной линии SS (чтобы управлять сеансами
обмена с каждым слэйвом независимо друг от друга), что увеличивает общее количество
используемых проводов.
Названия линий, в общем-то, не являются каким-то стандартом и могут отличаться в
зависимости от производителя (например, вместо MOSI, MISO и SCLK линии могут
называться DI, DO и SC, или SI, SO и CLK, линия SS может называться CS или RESET).
Более того, линий не обязательно должно быть четыре, - иногда их может быть только
три, например, если данные передаются только в одном направлении или вместо двух
однонаправленных шин данных используется одна двунаправленная. Очевидно, что в
последнем случае возможен только полудуплексный обмен, то есть в один момент времени
можно только передавать или только принимать данные (а передавать и принимать
одновременно — нельзя).
То есть, ни по названию линий, ни по уровням напряжения на них, ни даже по их
количеству, однозначно идентифицировать SPI нельзя, зато это отлично можно сделать по
самому методу передачи данных, по тому как происходит их установка на шину и
считывание.
Как я уже упоминал, - данные передаются побитно, а установка и чтение данных
происходит по противоположным фронтам сигнала тактирования. Момент чтения данных в
англоязычной литературе называется latch (фиксация, защёлкивание), а момент установки
данных на шину - shift (сдвиг). Сдвигом момент установки называется в силу особенностей
большинства последовательных интерфейсов. Обычно никто не передаёт данные по одному
биту, как правило, их посылают пачками по 8 и более бит (размер пачки чаще всего всё же
кратен восьми). В связи с этим, на выходе передатчика делают сдвиговый регистр, куда
загружают сразу всю пачку передаваемых бит, при этом значение младшего или старшего
бита этого сдвигового регистра устанавливается на шине данных (смотря как передаём -
младшим или старшим битом вперёд), а для установки на шине следующего передаваемого
бита - достаточно "сдвинуть" этот регистр. Так устроены передатчики и в SPI, и в I2C, и в
привычном RS232, и много где ещё (так просто аппаратно удобнее). Ну, ладно, - вернёмся к
нашему SPI.
Логический уровень сигнала на шине тактирования в неактивном состоянии (когда нет
передачи данных) называют полярностью и обозначают CPOL (то есть, если при отсутствии

60
передачи на шине SCLK низкий уровень, то CPOL=0, а если в это время на шине SCLK
высокий уровень, то CPOL=1). Порядок чередования считываний и сдвигов называют фазой
и обозначают CPHA (если по первому фронту на SCLK происходит считывание, то CPHA=0,
а если по первому фронту на SCLK происходит сдвиг, то CPHA=1).
В зависимости от сочетания значений CPOL и CPHA различают 4 режима работы
интерфейса SPI, которые так и обозначают Mode0, Mode1, Mode2 и Mode3. Ниже приведена
картинка, иллюстрирующая как происходит установка и чтение данных, в зависимости от
выбранного режима.
Хотелось бы подчеркнуть, что SS - это именно линия управления сеансом обмена, а не
просто линия выбора слэйва. Разница тут в том, что если считать SS просто линией выбора
слэйва, то при подключении мастера к одному единственному слэйву возникает соблазн этой
линией не управлять, а жёстко закоротить её на общий провод (типа чтоб слэйв всегда был
выбран). Однако, логика слэйва обычно такова, что начало сеанса сопровождается
различными подготовительными процедурами, такими как загрузка данных в выходной
сдвиговый регистр и сброс счётчика импульсов, а выполнять какие-то действия (в
соответствии с принятыми по SPI командами от мастера) слэйв начинает только после
завершения сеанса обмена. Кроме того, вам ведь вполне может понадобиться несколько
сеансов общения (например, если в первом сеансе вы посылаете команды, а в следующем
хотите получить отчёт о результате их выполнения). Думаю понятно, что если жёстко
притянуть линию SS к общему проводу, то ни о каком распознавании начала и конца сеанса
обмена (начало распознаётся по спаду на линии SS, а конец - по подъёму) не может быть и
речи, соответственно весь обмен данными будет нарушен. Так что важность сигнала SS не
стоит недооценивать.

Ну и напоследок скажу, что наиболее популярными являются режимы Mode0 и Mode3.


Более подробно о том, как происходит обмен, что должен уметь SPI-мастер и как это
программно реализовать на микроконтроллере (на примере контроллеров PIC и AVR) можно
почитать в статье "Программная реализация ведущего шины SPI"

61
Преимущества и недостатки интерфейса SPI
Преимущества
 Полнодуплексная передача данных по умолчанию.
 Более высокая пропускная способность по сравнению с I²C или SMBus.
 Возможность произвольного выбора длины пакета, длина пакета не ограничена
восемью битами.
 Простота аппаратной реализации:
 более низкие требования к энергопотреблению по сравнению с I²C и SMBus;
 возможно использование в системах с низкостабильной тактовой частотой;
 ведомым устройствам не нужен уникальный адрес, в отличие от таких
интерфейсов, как I²C, GPIB или SCSI.
 Используется только четыре вывода, что гораздо меньше, чем для параллельных
интерфейсов.
 Однонаправленный характер сигналов позволяет при необходимости легко
организовать гальваническую развязку между ведущим и ведомыми устройствами.
 Максимальная тактовая частота ограничена только быстродействием устройств,
участвующих в обмене данными.
Недостатки
 Необходимо больше выводов, чем для интерфейса I²C.
 Ведомое устройство не может управлять потоком данных.
 Нет подтверждения приема данных со стороны ведомого устройства (ведущее
устройство может передавать данные «в никуда»).
 Нет определенного стандартом протокола обнаружения ошибок.
 Отсутствие официального стандарта, что делает невозможным сертификацию
устройств.
 По дальности передачи данных интерфейс SPI уступает таким стандартам, как UART
и CAN.
 Наличие множества вариантов реализации интерфейса.
 Отсутствие поддержки горячего подключения устройств.

9. Описание интерфейса I2C


http://www.radiohlam.ru/teory/I2C.htm
Интерфейс I2C (или по другому IIC) - это достаточно широко распространённый
сетевой последовательный интерфейс, придуманный фирмой Philips и завоевавший
популярность относительно высокой скоростью передачи данных (обычно до 100 кбит/с, в
современных микросхемах до 400 кбит/с), дешевизной и простотой реализации.
1) Физика.

62
Физически сеть представляет собой двухпроводную шину, линии которой называются
DATA и CLOCK (необходим ещё и третий провод - земля, но интерфейс принято называть
двухпроводным по количеству сигнальных проводов). Соответственно, по линии DATA
передаются данные, линия CLOCK служит для тактирования. К шине может быть
подключено до 128 абонентов, каждый со своим уникальным номером. В каждый момент
времени информация передаётся только одним абонентом и только в одну сторону.
Устройства I2C имеют выход с "открытым коллектором". Когда выходной транзистор
закрыт - на соответствующей линии через внешний подтягивающий резистор
устанавливается высокий уровень, когда выходной транзистор открыт - он притягивает
соответствующую линию к земле и на ней устанавливается низкий уровень (смотрите
рисунок). Резисторы имеют номинал от нескольких килоом до нескольких десятков килоом
(чем выше скорость - тем меньше номинал резисторов, но больше энергопотребление). На
рисунке треугольниками на входе показано, что входы высокоомные и, соответственно,
влияния на уровни сигналов на линиях они не оказывают, а только "считывают" эти уровни.
Обычно используются уровни 5В или 3,3В.
2) Логика.
Любое устройство на шине I2C может быть одного из двух типов: Master (ведущий)
или Slave (ведомый). Обмен данными происходит сеансами. "Мастер"-устройство полностью
управляет сеансом: инициирует сеанс обмена данными, управляет передачей, подавая
тактовые импульсы на линию Clock, и завершает сеанс.
Кроме этого, в зависимости от направления передачи данных и "Мастер" и "Слэйв"-
устройства могут быть "Приёмниками" или "Передатчиками". Когда "Мастер" принимает
данные от "Слэйва" - он является "Приёмником", а "Слэйв" - "Передатчиком". Когда же
"Слэйв" принимает данные от "Мастера", то он уже является "Приёмником", а "Мастер" в
этом случае является "Передатчиком".
Не надо путать тип устройства "Мастер" со статусом "Передатчика". Несмотря
на то, что при чтении "Мастером" информации из "Слэйва", последний выставляет данные
на шину Data, делает он это только тогда, когда "Мастер" ему это разрешит, установкой
соответствующего уровня на линии Clock. Так что, хотя "Слэйв" в этом случае и управляет
шиной Data, - самим обменом всё равно управляет "Мастер".
В режиме ожидания (когда не идёт сеанс обмена данными) обе сигнальные линии (Data
и Clock) находятся в состоянии высокого уровня (притянуты к питанию).
Каждый сеанс обмена начинается с подачи "Мастером" так называемого Start-условия.
"Старт-условие" - это изменение уровня на линии Data с высокого на низкий при наличии
высокого уровня на линии Clock.
После подачи "Старт-условия" первым делом "Мастер" должен сказать с кем он хочет
пообщаться и указать, что именно он хочет - передавать данные в устройство или читать их

63
из него. Для этого он выдаёт на шину 7-ми битный адрес "Слэйв" устройства (по другому
говорят: "адресует "Слэйв" устройство"), с которым хочет общаться, и один бит,
указывающий направление передачи данных (0 - если от "Мастера" к "Слэйву" и 1 - если от
"Слэйва" к "Мастеру"). Первый байт после подачи "Старт"-условия всегда всеми "Слэйвами"
воспринимается как адресация.
Поскольку направление передачи данных указывается при открытии сеанса вместе с
адресацией устройства, то для того, чтобы изменить это направление, необходимо открывать
ещё один сеанс (снова подавать "Старт"-условие, адресовать это же устройство и указывать
новое направление передачи).
После того, как "Мастер" скажет, к кому именно он обращается и укажет направление
передачи данных, - начинается собственно передача: "Мастер" выдаёт на шину данные для
"Слэйва" или получает их от него. Эта часть обмена (какие именно данные и в каком порядке
"Мастер" должен выдавать на шину, чтобы устройство его поняло и сделало то, что ему
нужно) уже определяется каждым конкретным устройством.
Заканчивается каждый сеанс обмена подачей "Мастером" так называемого Stop-
условия, которое заключается в изменении уровня на линии Data с низкого на высокий,
опять же при наличии высокого уровня на линии Clock. Если на шине сформировано Stop-
условие, то закрываются все открытые сеансы обмена.
Внутри сеанса любые изменения на линии Data при наличии высокого уровня на линии
Clock запрещены, поскольку в это время происходит считывание данных "Приёмником".
Если такие изменения произойдут, то они в любом случае будут восприняты либо как
"Старт"-условие (что вызовет прекращение обмена данными), либо как "Стоп"-условие (что
будет означать окончание текущего сеанса обмена). Соответственно, во время сеанса обмена
установка данных "Передатчиком" (выставление нужного уровня на линии Data) может
происходить только при низком уровне на линии Clock.
Несколько слов по поводу того, в чём в данном случае разница между "прекращением
обмена данными" и "окончанием сеанса обмена". В принципе "Мастеру" разрешается, не
закрыв первый сеанс обмена, открыть ещё один или несколько сеансов обмена с этим же
(например, как было сказано выше, для изменения направления передачи данных) или даже с
другими "Слэйвами", подав новое "Старт"-условие без подачи "Стоп"-условия для закрытия
предыдущего сеанса. Управлять линией Data, для того, чтобы отвечать "Мастеру", в этом
случае будет разрешено тому устройству, к которому "Мастер" обратился последним,
однако старый сеанс при этом нельзя считать законченным. И вот почему. Многие
устройства (например те же eeprom-ки 24Схх) для ускорения работы складывают данные,
полученные от "Мастера" в буфер, а разбираться с этими полученными данными начинают
только после получения сигнала об окончании сеанса обмена (то есть "Стоп-условия").
То есть, например, если на шине висит 2 микросхемы eeprom 24Cxx и вы открыли
сеанс записи в одну микросхему и передали ей данные для записи, а потом, не закрывая этот
первый сеанс, открыли новый сеанс для записи в другую микросхему, то реальная запись и в
первую и во вторую микросхему произойдёт только после формирования на шине "Стоп-
условия", которое закроет оба сеанса. После получения данных от "Мастера" eeprom-ка
складывает их во внутренний буфер и ждёт окончания сеанса, для того, чтобы начать
собственно процесс записи из своего внутреннего буфера непосредственно в eeprom. То
есть, если вы после после передачи данных для записи в первую микруху не закрыли этот
сеанс, открыли второй сеанс и отправили данные для записи во вторую микруху, а потом,
не сформировав "Стоп-условие", выключили питание, то реально данные не запишутся ни в
первую микросхему, ни во вторую. Или, например, если вы пишете данные попеременно в две
микрухи, то в принципе вы можете открыть один сеанс для записи в первую, потом другой
сеанс для записи во вторую, потом третий сеанс для записи опять в первую и т.д., но если
вы не будете закрывать эти сеансы, то в конце концов это приведёт к переполнению
внутренних буферов и в итоге к потере данных.

64
Здесь можно привести такую аналогию: ученики в классе ("слэйвы") и учитель
("мастер"). Допустим учитель вызвал какого-то ученика (пусть будет Вася) к доске и
попросил его решить какой-то пример. После того как Вася этот пример решил, учитель
вызвал к доске Петю и начал спрашивать у него домашнее задание, но Васю на место не
отпустил. Вот в этом случае вроде бы разговор с Васей закончен, - учитель разговаривает с
Петей, но Вася стоит у доски и не может спокойно заниматься своими делами (сеанс
общения с ним не закрыт).
В случае, если "Слэйв" во время сеанса обмена не успевает обрабатывать данные, - он
может растягивать процесс обмена, удерживая линию Clock в состоянии низкого уровня,
поэтому "Мастер" должен проверять возврат линии Clock к высокому уровню после того, как
он её отпустит. Хотелось бы подчеркнуть, что не стоит путать состояние, когда "Слэйв"
не успевает принимать или посылать данные, с состоянием, когда он просто занят
обработкой данных, полученных в результате сеанса обмена. В первом случае (во время
обмена данными) он может растягивать обмен, удерживая линию Clock, а во втором
случае (когда сеанс обмена с ним закончен) он никакие линии трогать не имеет права. В
последнем случае он просто не будет отвечать на "обращение" к нему от "Мастера".
Внутри сеанса передача состоит из пакетов по девять бит, передаваемых в обычной
положительной логике (то есть высокий уровень - это 1, а низкий уровень - это 0). Из них 8
бит передаёт "Передатчик" "Приёмнику", а последний девятый бит передаёт "Приёмник"
"Передатчику". Биты в пакете передаются старшим битом вперёд. Последний, девятый бит
называется битом подтверждения ACK (от английского слова acknowledge - подтверждение).
Он передаётся в инвертированном виде, то есть 0 на линии соответствует наличию бита
подтверждения, а 1 - его отсутствию. Бит подтверждения может сигнализировать как об
отсутствии или занятости устройства (если он не установился при адресации), так и о том,
что "Приёмник" хочет закончить передачу или о том, что команда, посланная "Мастером", не
выполнена.
Каждый бит передаётся за один такт. Та половина такта, во время которой на линии
Clock установлен низкий уровень, используется для установки бита данных на шину
передающим абонентом (если предыдущий бит передавал другой абонент, то он в это время
должен отпустить шину данных). Та половина такта, во время которой на линии Clock
установлен высокий уровень, используется принимающим абонентом для считывания
установленного значения бита с шины данных.
Вот собственно и всё. На рисунках ниже всё это описание показано в графической
форме.
3) Диаграммы и тайминги.

65
Мин.
Параметр Обозн. Комментарий
знач.
это минимальное время, в течении которого обе линии
Свободная шина tBUF 4,7 мкс должны находиться в свободном состоянии перед
подачей "Старт"-условия
Фиксация t минимальное время от подачи "Старт"- условия до
4,0 мкс
"Старт"- условия HD;STA начала первого такта передачи
Готовность tSU;STO минимальное время, через которое можно подавать
4,0 мкс
"Стоп"- условия "Стоп"- условие после освобождения шины Clock
Длительность
минимальная длительность полупериода установки
LOW полупер. tLOW 4,7 мкс
данных (когда на шине Clock низкий уровень)
шины Clock
Длительность
минимальная длительность полупериода считывания
HIGH полупер. tHIGH 4,0 мкс
данных (когда на шине Clock высокий уровень)
шины Clock
Удержание tHD;DAT то есть данные на шину Data можно выставлять сразу
0
данных после спада на линии Clock
Готовность tSU;DAT то есть поднимать уровень на шине Clock можно не
250 нс
данных ранее 250 нс после установки данных на шине Data

66
Минимальные значения времени в таблице указаны для максимальной скорости передачи
100 кбит/с.

67
10. ЭТАПЫ ПРОЕКТИРОВАНИЯ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ

10.1 Основные этапы разработки

МПС на основе МК используются чаще всего в качестве встроенных систем для


решения задач управления некоторым объектом. Важной особенностью данного применения
является работа в реальном времени, т.е. обеспечение реакции на внешние события в
течение определенного временного интервала. Такие устройства получили название
контроллеров.
Технология проектирования контроллеров на базе МК полностью соответствует
принципу неразрывного проектирования и отладки аппаратных и программных средств,
принятому в микропроцессорной технике. Это означает, что перед разработчиком такого
рода МПС стоит задача реализации полного цикла проектирования, начиная от
разработки алгоритма функционирования и заканчивая комплексными испытаниями в
составе изделия, а, возможно, и сопровождением при производстве. Сложившаяся к
настоящему времени методология проектирования контроллеров может быть представлена,
как показано на рисунке 2.1.

Рисунок 2.1 – Основные этапы разработки контроллера

68
В техническом задании формулируются требования к контроллеру с точки зрения
реализации определенной функции управления. Техническое задание включает в себя набор
требований, который определяет, что пользователь хочет от контроллера и что разрабатываемый
прибор должен делать. Техническое задание может иметь вид текстового описания, не
свободного в общем случае от внутренних противоречий.
На основании требований пользователя составляется функциональная
спецификация, которая определяет функции, выполняемые контроллером для пользователя
после завершения проектирования, уточняя тем самым, насколько устройство соответствует
предъявляемым требованиям. Она включает в себя описания форматов данных, как на входе,
так и на выходе, а также внешние условия, управляющие действиями контроллера.
Функциональная спецификация и требования пользователя являются критериями оценки
функционирования контролера после завершения проектирования. Может потребоваться
проведение нескольких итераций, включающих обсуждение требований и функциональной
спецификации с потенциальными пользователями контроллера, и соответствующую коррекцию
требований и спецификации. Требования к типу используемого МК формулируются на данном
этапе чаще всего в неявном виде.
Этап разработки алгоритма управления является наиболее ответственным,
поскольку ошибки данного этапа обычно обнаруживаются только при испытаниях
законченного изделия и приводят к необходимости дорогостоящей переработки всего
устройства. Разработка алгоритма обычно сводится к выбору одного из нескольких
возможных вариантов алгоритмов, отличающихся соотношением объема программного
обеспечения и аппаратных средств.
При этом необходимо исходить из того, что максимальное использование аппаратных
средств упрощает разработку и обеспечивает высокое быстродействие контроллера в целом, но
сопровождается, как правило, увеличением стоимости и потребляемой мощности. Это связано с
тем, что увеличение доли аппаратных средств достигается либо путем выбора более сложного
МК, либо путем использования специализированных интерфейсных схем. И то, и другое
приводит к росту стоимости и энергопотребления. Увеличение удельного веса программного
обеспечения позволяет сократить число элементов контроллера и стоимость аппаратных
средств, но это приводит к снижению быстродействия, увеличению необходимого объема
внутренней памяти МК, увеличению сроков разработки и отладки программного обеспечения.
Критерием выбора здесь и далее является возможность максимальной реализации
заданных функций программными средствами при минимальных аппаратных затратах и
при условии обеспечения заданных показателей быстродействия и надежности в полном
диапазоне условий эксплуатации.
Часто определяющими требованиями являются возможность защиты информации
(программного кода) контроллера, необходимость обеспечения максимальной
продолжительности работы в автономном режиме и другие. В результате выполнения этого
этапа окончательно формулируются требования к параметрам используемого МК.
При выборе типа МК учитываются следующие основные характеристики:
– разрядность;
– быстродействие;
– набор команд и способов адресации;
– требования к источнику питания и потребляемая мощность в различных режимах;
– объем ПЗУ программ и ОЗУ данных;
– возможности расширения памяти программ и данных;
– наличие и возможности периферийных устройств, включая средства поддержки
работы в реальном времени (таймеры, процессоры событий и т.п.);
– возможность перепрограммирования в составе устройства;
– наличие и надежность средств защиты внутренней информации;
– возможность поставки в различных вариантах конструктивного исполнения;
– стоимость в различных вариантах исполнения;

69
– наличие полной документации;
– наличие и доступность эффективных средств программирования и отладки МК;
– количество и доступность каналов поставки, возможность замены изделиями других
фирм.
Список этот не является исчерпывающим, поскольку специфика проектируемого
устройства может перенести акцент требований на другие параметры МК. Определяющими
могут оказаться, например, требования к точности внутреннего компаратора напряжений
или наличие большого числа выходных каналов ШИМ.
Номенклатура выпускаемых в настоящее время МК исчисляется тысячами типов изделий
различных фирм. Современная стратегия модульного проектирования обеспечивает потребителя
разнообразием моделей МК с одним и тем же процессорным ядром. Такое структурное
разнообразие открывает перед разработчиком возможность выбора оптимального МК, не
имеющего функциональной избыточности, что минимизирует стоимость комплектующих
элементов.
Однако для реализации на практике возможности выбора оптимального МК
необходима достаточно глубокая проработка алгоритма управления, оценка объема
исполняемой программы и числа линий сопряжения с объектом на этапе выбора МК.
Допущенные на данном этапе просчеты могут впоследствии привести к необходимости
смены модели МК и повторной разводки печатной платы макета контроллера. В таких
условиях целесообразно выполнять предварительное моделирование основных элементов
прикладной программы с использованием программно-логической модели выбранного
МК.
При отсутствии МК, обеспечивающего требуемые по ТЗ характеристики
проектируемого контроллера, необходим возврат к этапу разработки алгоритма управления и
пересмотр выбранного соотношения между объемом программного обеспечения и
аппаратных средств. Отсутствие подходящего МК чаще всего означает, что для реализации
необходимого объема вычислений (алгоритмов управления) за отведенное время нужна
дополнительная аппаратная поддержка. Отрицательный результат поиска МК с требуемыми
характеристиками может быть связан также с необходимостью обслуживания большого
числа объектов управления. В этом случае возможно использование внешних схем
обрамления МК.
На этапе разработки структуры контроллера окончательно определяется состав
имеющихся и подлежащих разработке аппаратных модулей, протоколы обмена между
модулями, типы разъемов. Выполняется предварительная проработка конструкции
контроллера. В части программного обеспечения определяются состав и связи программных
модулей, язык программирования. На этом же этапе осуществляется выбор средств
проектирования и отладки.
Возможность перераспределения функций между аппаратными и программными
средствами на данном этапе существует, но она ограничена характеристиками уже выбранного
МК. При этом необходимо иметь в виду, что современные МК выпускаются, как правило,
сериями (семействами) контроллеров, совместимых программно и конст