Xbox Live - карта оплаты 1000 рублей
Xbox Live - карта оплаты 1000 рублей


85 VISA VIRTUAL (RUS BANK)
85 VISA VIRTUAL (RUS BANK)


PSN 1500 рублей PlayStation Network
PSN 1500 рублей PlayStation Network


В начало

Интерфейс и его функции (Лекции)

ПЛАН ЛЕКЦИИ

1. Общие сведения об интерфейсах

2. Иерархия шин

3. Шинные формирователи и буферные регистры

4. Параллельные периферийные адаптеры

5. Программируемые связные адаптеры

6. Программируемые контроллеры прерываний

7. Контроллеры прямого доступа к памяти

8. Программируемые интервальные таймеры

 

1. Общие сведения об интерфейсах

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

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

Интерфейсы классифицируются:

-     по признакам конфигурации цепей связи между объектами (магистральные, радиальные и др.);

-     способу передачи информации (параллельные, последовательные, и др.);

-     режиму передачи данных (дуплексный, полудуплексный, симплексный);

-     способу обмена (синхронный, асинхронный).

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

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

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

Основная функция интерфейсов и стыков - обеспечение информационной, электрической и конструктивной совместимости СВТ.

Информационная совместимость - согласованность действий функциональных элементов в соответствии с совокупностью логических условий.

Логические условия информационной совместимости определяют функциональную и структурную организацию интерфейса.

Электрическая совместимость - согласованность статистических и динамических параметров электрических сигналов в системе шин с учетом ограничений на пространственное размещение устройств интерфейса и техническую реализацию приемопередающих элементов (ППЭ).

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

Линии интерфейсов – электрические цепи, являющиеся составными физическими связями интерфейса.

Магистраль - совокупность всех линий интерфейса. Выделяются две магистрали:

- информационного канала;

- управления информационным каналом.

По информационной магистрали передаются коды адресов, команд, данных, состояния.

 

2. Иерархия шин

Шина - совокупность линий, сгруппированных по функциональному назначению. Операции на шине называются транзакциями. Основные виды транзакций – транзакции записи и транзакции чтения. Если в обмене участвуют устройства ввода /вывода, говорят о транзакциях ввода/вывода. Шины адреса предназначены для выборки в магистрали узлов устройства, ячеек памяти. Шины команд используются для управления операциями на магистрали. В стандартах на интерфейс регламентируется минимально необходимый набор команд.

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

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

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

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

Если к шине подключено большое число устройств, ее пропускная способность падает, поскольку слишком частая передача прав управления шиной от одного устройства к другому приводит к ощутимым задержкам. По этой причине во многих ВМ предпочтение отдается использованию нескольких шин, образующих определенную иерархию. Сначала рассмотрим ВМ с одной шиной. Вычислительная машина с одной шиной. В структурах взаимосвязей с одной шиной имеется одна системная шина, обеспечивающая обмен информацией между процессором и памятью, а также между УВВ с одной стороны, и процессором либо памятью - с другой (Рисунок 39). Для такого подхода характерны простота и низкая стоимость. Однако одношинная организация не в состоянии обеспечить высокую интенсивность и скорость транзакций, причем «узким местом» становится именно шина.

 

Рис.  Структура взаимосвязей с одной шиной

 

Вычислительная машина с двумя видами шин. Хотя контроллеры устройств ввода/вывода (УВВ) могут быть подсоединены не посредственно к системной шине, больший эффект достигается применением одной или нескольких шин ввода/вывода (Рисунок 40). УВВ подключаются к шинам ввода/вывода, которые берут на себя основной трафик, не связанный с выходом на процессор или память. Адаптеры шин обеспечивают буферизацию данных при пересылке между системной шиной и контроллерами УВВ.

 

Рис.  Структура взаимосвязей с двумя видами шин

 

Это позволяет ВМ поддерживать работу множества устройств ввода/вывода и одновременно «развязать» обмен информацией по тракту процессор - память и обмен информацией с УВВ. Подобная схема существенно снижает нагрузку на скоростную шину «процессор-память» и способствует повышению общей производительности ВМ.

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

Рис. Структура взаимосвязей с тремя видами шин

 

Шины ввода/вывода подключаются к шине расширения, а уже с нее через адап­тер к шине «процессор-память». Схема еще более снижает нагрузку на шину «про­цессор-память». Такую организацию шин называют архитектурой с «пристройкой» (mezzanine architecture).

Интерфейс (шина) Microbus. Интерфейс (шина) Microbus использовался для построения 8 разрядных микропроцессоров Intel, Motorola 6800.

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

Интерфейс Microbus имеет 36 линий, в числе которых 16-разрядная шина адреса, 8-разрядная шина данных и 12 линий управления. В интерфейсе адресные пространства памяти и ВУ разделены, выполняются протоколы адресного (программного) обмена, обмена по прерываниям и прямого доступа к памяти.

 

Интерфейс И-41

Интерфейс разработан фирмой Intel Multibus и на его основе создан отечественный интерфейс И-41. Этот интерфейс является многомашинным, системным, магистральным, параллельным, полудуплексным. Допускается использование 8- и 16-разрядных модулей, один из которых (активный) играет роль задатчика, другой (пассивный) - исполнителя. При запросах управления магистралью одновременно от нескольких задатчиков решается задача арбитража. В состав линий входят 25-разрядная шина адреса (одна из ее линий передает признак двухбайтной передачи), 16-разрядная шина данных и две линии контроля каждого байта на четность, 8-разрядная шина управления адресным (программным) обменом, 9-разрядная шина прерываний, 7-разрядная шина управления интерфейсом, 10-разрядная вспомогательная шина и шина источников питания. На интерфейсе И-41 заданы протоколы:

-     адресного обмена (с возможным запретом обращения);

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

-     обработки прерываний;

-     аварии в системе электропитания.

 

Интерфейс МПИ

Интерфейс МПИ (на основе Q-bus) - магистральный, параллельный, полудуплексный, асинхронный при передаче данных и синхронный при передаче адреса. Адрес и данные передаются по одной и той же шине с разделением во времени (мультиплексируемой шине адресов-данных). Основное назначение интерфейса - построение однопроцессорных систем, точнее, систем с одним ведущим процессором. Выполняются адресный обмен (в том числе и блочный), захват магистрали и прерывания. Адресное пространство памяти и ВУ - общее (интерфейс "с общей шиной") и может составлять 64 К (16-разрядный адрес) или 16 М (24-разрядный адрес). Формат данных - байт или два байта. Для адресации ВУ отводится 8К в конце АП. Мультиплексирование адресов и данных снижает пропускную способность интерфейса, но значительно уменьшает число линий связи, упрощая и удешевляя шину.

В ЭВМ IBM PC/AT применяются интерфейсы (шины) ISA, EISA (Extended ISA) или MCA (микроканал). На уровне локальных шин сейчас широко применяется шина PCI (фирмы Intel), известна шина VL-bus и др. Тактовая частота современных системных шин составляет 66... 133 МГц и выше.

 

3. Шинные формирователи и буферные регистры

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

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

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

 

4. Параллельные периферийные адаптеры

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

Параллельный периферийный адаптер (ППА, PPI) типа Intel 8255А, имеющий отечественный аналог К580ВВ55а (Рисунок 42) имеет три двунаправленных 8-разрядных порта РА, РВ и PC, причем порт PC разделен на два четырехразрядных канала: старший РСH и младший PCL. Обмен информацией между каналами А, В, С и шиной данных МПС производится через буфер данных BD в соответствии с сигналами управления. Блок управления чтением/записью получает стробы чтения и записи  и  (это сигналы  и  стандартного интерфейса), сигнал сброса RESET, сигнал выбора адаптера , получаемый декодированием старших разрядов его адреса, и два младших разряда адреса A1 и А0 для адресации внутренних регистров. Адресуемых объектов 5: три порта (А, В и С), регистр управляющего слова РУС и команда установки/сброса битов порта С BSR (Bit-Set/Reset).

Рис. Структура параллельного периферийного адаптера

 

Адресация и направление передач информации определяются согласно таблице 1. Как видно из таблицы, адрес A1A0 = 11 соответствует передаче управляющих слов РУС (УС1) или BSR (УС2), причем чтение по этому адресу запрещено, допускается только запись. Передача двух разных УС при одном и том же адресе возможна только потому, что признаком того или иного УС служит значение старшего бита слов D7. Таким образом, этот бит выполняет дополнительную адресацию управляющих слов.

Работа адаптера начинается после загрузки с ШД в РУС управляющего слова УС1, задающего портам адаптера один из трех возможных режимов и направленность порта (ввод или вывод). Возможны три режима работы портов: 0, 1 и 2, причем порт А может работать в любом из трех режимов, порт В только в двух (0 и 1), а режим порта С зависит от режимов портов А и В.

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

Режимы работы портов:

-     режим 0 - однонаправленный ввод/вывод без квитирования, в этом режиме могут работать порты А и В, а также свободные (не занятые передачей служебных сигналов для портов А и В) линии порта С;

Таблица 1

А1

А0

Операция

0

0

0

1

0

Порт А -> ШД

0

1

0

1

0

Порт В -> ШД

1

0

0

1

0

Порт С -> ШД

1

1

0

1

0

Запрещенная комбинация

0

0

1

0

0

ШД -> Порт А

0

1

1

0

0

ШД -> Порт В

1

0

1

0

0

ШД -> Порт С

1

1

1

0

0

ШД -> РУС при D7 = 1

 

 

 

 

 

ШД -> BSR при D7 = 0

X

X

1

1

0

Шины отключены

X

X

X

X

1

Шины отключены

 

- режим 1 - однонаправленный ввод/вывод с квитированием;

- режим 2 - двунаправленный ввод/вывод с квитированием.

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

Рис. Форматы управляющих слов параллельного периферийного адаптера

 

Режим 0

В режиме 0 осуществляется прямой однонаправленный ввод-вывод данных без сигналов их сопровождения. Каждый из 4-х портов может быть использован для ввода или вывода независимо от других, так что возможны 16 вариантов режима 0. При вводе поступающая из ВУ информация адаптером не фиксируется и должна присутствовать на его входе во время действия сигнала чтения. При выводе информация от МП фиксируется в буферном регистре порта по заднему фронту сигнала записи и сохраняется до нового цикла вывода или смены режима работы порта. При вводе информация выдается на ШД при выполнении микропроцессором команды IN port, при выводе - при выполнении команды OUT port.

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

Режим 1

В режиме 1 каждая из двух 12-разрядных групп (А и В) может быть запрограммирована на однонаправленный ввод или вывод с квитированием. При этом входные и выходные данные фиксируются адаптером. По линиям портов Сн и CL передаются управляющие сигналы. Раздельная установка разрядов порта С позволяет ему играть роль схемы управления процедурами ввода-вывода, причем битам порта придается определенное функциональное назначение.

Режим 1 рассмотрим в полном объеме, т. к. он хорошо иллюстрирует принципы работы адаптера. При вводе используются следующие управляющие сигналы:

-             - строб загрузки данных в регистр (по заднему фронту);

-            IBF (Input Buffer Full) - входной буфер полон, сигнал подтверждения загрузки данных;

-            INT - запрос прерывания.

Имея данные для ввода в порт, ВУ при условии IBF = 0 вырабатывает сигнал готовности информации . Передний фронт этого сигнала устанавливает сигнал IBF, запрещающий внешнему устройству ввод следующего слова до освобождения адаптера (того порта, который имеется в виду). К моменту окончания  данные введены в буфер порта, и, если прерывания разрешены (внутренний триггер разрешения прерываний INTE установлен командой программы), то адаптер формирует запрос прерывания INT для МП, переходящего к подпрограмме обслуживания, содержащей команду IN port. При этом на адаптер поступают сигналы адресации и . Передний фронт  отмечает начало считывания слова микропроцессором и снимает запрос на прерывание INT. Пока прерывания не разрешены, осуществляется хранение данных в адаптере. Задний фронт  отмечает завершение считывания слова микропроцессором и снимает сигнал IBF, допуская новую запись слова со стороны ВУ.

При выводе используются следующие управляющие сигналы:

-      (Output Buffer Full) — выходной буфер полон, строб вывода новых данных;

-      (Acknowledge) — подтверждение приёма внешним устройством;

-     INT — запрос прерывания.

При выводе выполняется команда OUT port, и процессор устанавливает адрес порта и данные на ШД. При разрешенных прерываниях далее вырабатывается сигнал , загружающий данные с ШД в буфер адаптера и сбрасывающий запрос прерывания INT. После окончания записи в адаптер формируется сигнал , указывающий на готовность данных для ВУ. Приняв данные, ВУ выдает сигнал подтверждения приема , снимающий OBF, а по окончании сигнала  восстанавливается запрос прерывания (если триггер INTE установлен), что вызывает обслуживание следующего цикла вывода.

Режим 2 Особенности функциональной схемы порта А допускают его применение для двунаправленной передачи между ШД и ВУ. При этом 5 линий порта С передают управляющие сигналы. Двунаправленный асинхронный обмен через порт А выполняется как последовательность нескольких независимых этапов: записи с ШД в адаптер, ввода в адаптер из ВУ, чтения на ШД, вывода в ВУ, некоторые из которых могут совмещаться во времени. Используются сигналы управления: , IBF, , , INT, т. е. те же, что и для режима 1.

Ввод в адаптер управляющих слов УС1 и УС2 производится программным способом с помощью последовательности команд непосредственной загрузки аккумулятора и вывода данных в адресованный порт. На языке ассемблера фрагмент программы имеет вид:

MVI A, b2

OUT port,

где загружаемый в аккумулятор байт b2 представляет собою вводимое в адаптер слово УС1 или УС2, a port - адрес регистров управления, шесть старших разрядов которого дают номер (адрес) адаптера, а два младших содержат единицы. Указанный фрагмент программы повторяется столько раз, сколько необходимо для задания адаптеру режима и функций, а выходам порта С нужных значений.

Улучшенный вариант адаптера ВВ55А отличается от предшественника ВВ55 работой с расширенным стробом записи, свойственным, в частности, и микропроцессору К1821ВМ85А.

Для связи с периферийными устройствами, удаленными от МПС (на расстояние не более 15м), применяется интерфейс ИРПР (интерфейс радиальный параллельный), осуществляющий однонаправленные асинхронные передачи по 8-или 16-разрядной шине (в базовом варианте). Логические требования интерфейса ИРПР могут быть выполнены при использовании адаптера ВВ55/55А.

 

5. Программируемые связные адаптеры

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

На рисунке 44 показана структура ПСА (PCI, Programmable Communication Interface) типа 8251А фирмы Intel, аналогом которого является отечественный ПСА К580ВВ51А. Согласно типу реализуемых протоколов этот ПСА называют универсальным синхронно-асинхронным приемопередатчиком (УСАПП), чему в английской терминологии соответствует USART - Universal Synchronous/Asynchronous Receiver/Transmitter.

Адаптеры, в которых реализуются только асинхронные протоколы, называются УАПП (UART - Universal Asynchronous Receiver/Transmitter).

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

 

Рис. Структура программируемого связного адаптера

 

Буфер ШД - двунаправленный, восьмиразрядный, с тремя состояниями. Он связывает адаптер с системной шиной данных и принимает данные по командам OUT port, выдает - по командам IN port. Через буфер передаются также управляющие и командные слова и слово состояния адаптера. В буфере имеются регистры данных (входной и выходной), команд и состояния.

Блок управления чтением/записью принимает сигналы от системной шины данных и генерирует сигналы управления работой всех блоков адаптера.

Выводы и сигналы ПСА. Выводы и сигналы ПСА имеют следующее назначение:

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

-     CLK - вход тактовой частоты для внутреннего тактирования процессора.

Внешние входы и выходы адаптера не привязаны к тактам сигнала CLK, но частота этого сигнала должна быть выше битовой частоты передачи данных не менее чем в 30 раз;

-     ,  и  - сигналы, смысл которых уже известен (стробы чтения и записи и сигнал выбора микросхемы);

-     C/D (Control/Data) - указывает на тип передаваемой информации, при единичном значении этого сигнала вводятся управляющие слова или выводится слово состояния адаптера, при нулевом - передаются данные. Вместе с сигналами  и  определяет характер передачи. Обычно на этот вход подключается младший разряд адреса A0. Направления передачи и характер информации задаются для адаптера таблицей 2.

 

Таблица 2

C/D

Операция

0

0

1

0

ШД <- данные адаптера

0

1

0

0

Данные адаптера <- ШД

1

0

1

0

ШД <- слово состояния

1

1

0

0

Управляющее слово <- ШД

X

1

1

0

Отключено

X

X

X

1

Отключено

 

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

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

-       (Data Terminal Ready) - этот сигнал является реакцией на запрос . Активизируется соответствующим битом командного слова, если процессором разрешен обмен с модемом. Связан с разрешением модему посылки данных на вход приемника адаптера;

-      (Request to Send) - сигнал связан с одноразрядным выходным портом. Является запросом от адаптера готовности приемника терминала принять данные. Задается программированием соответствующего бита в командном слове, когда процессором разрешен обмен с модемом;

-  (Clear to Send) - сигнал готовности приемника терминала принять данные. Низкий уровень этого сигнала разрешает адаптеру передачу последовательных данных, если установлен бит TxEN в командном слове. При снятии TxEN или  во время работы передатчика он будет передавать все данные, записанные до запрещения передачи, прежде чем остановится.

Передатчик ПСА. Буфер передатчика адаптера (буфер Тх) принимает параллельные данные от буфера ШД, преобразует их в поток последовательных битов, вводит в этот поток служебные символы или биты и выдает составленный необходимым образом поток битов на вывод TxD по отрицательным фронтам импульсов частоты ТхС. Передача начинается после ее разрешения и при условии  = 0. Вывод TxD принимает высокий уровень напряжения после сброса, запретов по условиям TxEN или  либо при условии "передатчик пуст", связанном с сигналом ТхЕ (TxEmpty). Схема управления передатчиком (управление Тх) вырабатывает следующие внутренние и внешние сигналы для процессов передачи последовательных данных:

-     TxRDY - этот выходной сигнал указывает процессору на готовность передатчика адаптера принять символ данных. Сигнал может проверяться чтением слова состояния или использоваться как запрос прерывания (он может маскироваться битом TxEN  командного слова). Автоматически сбрасывается передним фронтом строба записи WR, когда символ данных загружается из процессора;

- ТхЕ - сигнал устанавливается, когда адаптер не имеет символа для передачи (входной буфер в блоке "буфер ШД" пуст, и после выхода символа из сдвигающего регистра передатчика этот регистр будет нечем загрузить).

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

-     ТхС и RxC - сигналы синхронизации передатчика и приемника, задающие скорость следования последовательных битов. При синхронных передачах бодовая скорость равна частоте ТхС (RxC), при асинхронных она является частью частоты ТхС (RxC) (это 1, или 1/16 или 1/64 от ТхС или RxC). Очень часто частоты ТхС и RxC идентичны. Их синхронности с сигналом CLK не требуется.

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

Блок управления приемником Rx обеспечивает управление всеми действиями, связанными с приемом информации. Схемы этого блока предотвращают восприятие неиспользуемой линии данных как L-активной в режиме паузы. Для начала приема требуется появление высокого уровня (марки) на входе RxD после сброса системы. Если это выполняется, то разрешается поиск отрицательного фронта входного сигнала (старт-бита). Истинность старт-бита устанавливается проверкой уровня сигнала в его середине. Ошибки работы адаптера устанавливают соответствующие биты в слове состояния (четности, формата или переполнения, если новая информация замещает старую раньше, чем она была использована).

RxRDY - выходной сигнал, показывающий, что адаптер имеет символ, готовый к выводу в процессор. Может проверяться чтением слова состояния или использоваться как запрос прерывания для процессора. Если команда разрешения приема RxEN отсутствует, то сигнал RxRDY находится в состоянии сброса. Отсутствие чтения принятого символа из выходного регистра адаптера до появления следующего ведет к загрузке нового символа и потере старого. Устанавливается ошибка переполнения.

SYNDET (SYNC Detect/Break Detect) этот вывод в синхронном режиме используется как SYNDET и может быть входом или выходом в зависимости от программирования адаптера. При внутренней синхронизации является выходом и устанавливается как признак выявления синхросимвола в режиме приема. Если запрограммированы два синхросимвола, SYNDET установится в середине последнего бита второго синхросимвола. Сигнал автоматически сбрасывается после операции чтения состояния. Когда используется как входной (режим внешней синхронизации), его появление заставляет адаптер начать прием данных. В асинхронном режиме вывод используется для сигнала Break Detect, который устанавливается при низком уровне на интервалах стоп-битов в двух последовательных посылках. Сигнал может быть выявлен чтением слова состояния. Сбрасывается при сбросе адаптера или возвращении входного сигнала к нормальному состоянию (появлению единиц на интервалах стоп-битов).

 

6. Программируемые контроллеры прерываний

При работе микропроцессорной системы в ней или внешней среде происходят события, требующие немедленной реакции, что обеспечивается прерыванием выполняемых программ и переходом к обслуживанию запросов прерывания. Аппаратно прерывания обслуживаются специализированными ИС, простейшими из которых являются блоки приоритетного прерывания (Intel 8214, К589ИК14 и др.)- Эти блоки решают несложные задачи обработки нескольких векторных прерываний при фиксированных приоритетах запросов. Более сложные задачи решаются программируемыми контроллерами прерываний (ПКП), в частности ИС Intel 8259A, К1810ВН59. Эти контроллеры непосредственно реализуют прерывания с обработкой 8 запросов. С помощью нескольких ПКП легко организуются устройства обработки до 64 запросов. Контроллеры обеспечивают различные виды прерываний. Система прерываний должна выдать команду перехода к той подпрограмме обслуживания, которая соответствует признанному запросу. Контроллер ВН59 обеспечивает различные виды прерываний:

1 Вложенные прерывания с фиксированными приоритетами входов. Имеются 8 входов запроса прерывания IR7...IR0 (от английского Interrupt Request). Высший приоритет имеет вход IR0, низший - у входа IR7. Вложенность - возможность прерывания подпрограммы обслуживания запроса другой подпрограммой с более высоким приоритетом, которая, в свою очередь, также может быть прервана более приоритетной подпрограммой и т.д. Возможность вложенных прерываний обеспечивается введением команды EI (Enable Interrupt) в подпрограммы обслуживания прерываний. Прерывания с фиксированными приоритетами реализуются просто, но запросы неравноправные и при интенсивном поступлении запросов с высокими приоритетами запросы с низкими приоритетами могут вообще не получить обслуживания.

2      Прерывания с круговым (циклическим) приоритетом. В этом случае у каждого входа тоже есть свой приоритет, но после обслуживания он изменяется в круговом порядке так, что обслуженный вход получает низший приоритет. Такая дисциплина обслуживания характерна для ситуации с источниками, не имеющими преимуществ друг перед другом. Запрашивающее обслуживания устройство будет ждать в худшем случае до того, как 7 других источников будут обслужены по одному разу. Работу с круговым приоритетом можно иллюстрировать примером (Рисунок 45), в котором регистр запросов вначале содержит 6-й и 4-й запросы, т.е. наивысший приоритет имеет 4-й запрос, который и будет обслужен. После обслуживания приоритетность входов изменяется как бы вращением кольца, причем номер 7 с низшим приоритетом становится на 4-ю позицию только что обслуженного запроса. Позицию низшего приоритета называют дном приоритетного кольца. Контроллерами реализуется маскирование запросов, когда запрещается их восприятие с помощью соответствующих битов регистра маски. При этом могут быть реализованы разные ситуации. Обычное маскирование. Маскирование какого-либо запроса ведет и к маскированию других запросов с меньшими приоритетами.

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

 

 

Рис. Пример обслуживания запросов

прерывания с круговым приоритетом

 

Включение контроллера прерываний в систему показано на рисунке 46. Контроллер принимает запросы от внешних устройств, определяет, какой из незамаскированных запросов имеет наивысший приоритет, сравнивает его с приоритетом текущей программы и при соответствующих условиях выдает запрос прерывания INT для МП. После подтверждения запроса МП должен получить от контроллера информацию, которая укажет на подпрограмму, соответствующую данному ВУ, т.е. вектор прерывания.

 

Рис. Схема включения контроллера прерываний в МП-систему

 

Структура программируемого контроллера прерываний. Структура ПКП Intel 8259A представлена на рисунке ниже. В английской терминологии ПКП называют PIC, т.е. Programmable Interrupt Controller. Запросы прерываний от ВУ поступают на регистр запросов IRR, сохраняющий запросы до их принятия на обслуживание. Биты регистра IRR сопоставляются с битами регистра масок IMR (Interrupt Mask Register).

Рис. Структура программируемого контроллера прерываний

 

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

Если приоритет запроса выше текущего приоритета, то при вложенных прерываниях формируется сигнал INT для процессора. При поступлении от процессора сигнала подтверждения прерывания INTA принятый запрос переходит в регистр обслуживания ISR (Interrupt Servicing Register) и сбрасывается в регистре запросов IRR. Установка бита ISR запрещает прерывания от всех других запросов с меньшими приоритетами. Подпрограмма обслуживания прерывания завершается сбросом бита регистра ISR.

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

Буфер ШД восьмиразрядный, двунаправленный, с третьим состоянием. При программировании контроллера через него передаются управляющие слова, и считывается состояние регистров, а также код запроса, выработавшего сигнал INT. При обслуживании прерывания по сигналу INTA через буфер ШД в шину данных системы выдается трехбайтная команда вызова подпрограммы CALL.

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

Сигналы IR0...IR7 - входы запросов прерывания (Interrupt Requests), A0- младший разряд адреса, показывает, к какому регистру управляющих слов (УСИ или УСО) обращается процессор. Сигналы CAS2-0 связаны с работой контроллера в групповой схеме, образуют выходную шину для ведущего контроллера и входную для ведомых. Сигнал () двухфункциональный, как  он определяет, является ли контроллер ведущим или ведомым в групповой схеме, как  используется в так называемом буферизованном режиме для разрешения выхода на шину системы, т.е. для управления выходными буферами участников обмена.

 

7. Контроллеры прямого доступа к памяти

 

Прямой доступ к памяти (ПДП) - создание прямого тракта передач данных от внешних устройств к памяти или от памяти к внешним устройствам. В английской терминологии это DMA - Direct Memory Access. При обычном обмене передачи между ВУ и памятью требуют вначале принять данные от источника в процессор, а затем выдать их из процессора приемнику, т.е. реализуются за два командных цикла. При ПДП данные не проходят через процессор, и передача слова производится за один цикл. Для реализации ПДП разработаны специальные аппаратные средства, выпускаются БИС КПДП, способные благодаря программированию обслуживать ПДП с учетом конкретных требований различных систем.

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

Возможны два вида ПДП - с блочными или одиночными передачами.

 

 

Рис. Схема взаимодействия блоков МП-системы при ПДП

 

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

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

В отличие от процессов прерывания при ПДП, обмен выполняется без участия программы, поэтому содержимое рабочих регистров МП не нарушается и на вхождение в режим ПДП не требуется затрат времени (нет передачи в стек на хранение содержимого рабочих регистров МП). ПДП предоставляется по завершении текущего машинного цикла.

Структура и функции КПДП. Примером КПДП может служить БИС Intel 8237A (К580ВТ57), основные блоки которой показаны на рисунке ниже.

 

 

Рис. Структура контроллера ПДП

 

Действия, выполняемые КПДП при блочных передачах, состоят в следующем:

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

-     трансляция запроса на ПДП, исходящего от ВУ, в запрос ПДП для процессора с учетом маскирования и приоритетности запросов, поступающих на КПДП. Прием сигнала подтверждения ПДП, свидетельствующего о том, что процессор отключился от системных шин;

-     генерация адресов для ЗУ и сигналов управления для ЗУ и ВУ;

-     фиксация завершенности ПДП;

-     снятие запроса ПДП с соответствующего входа процессора и возвращение управления основной программе.

Возможности КПДП позволяют организовать обмен типа "память-память", т.е. решать задачу перемещения блока данных в адресном пространстве системы.

КПДП 8237А работает на частоте 3МГц, его модификации 8237А-4 и 8237А-5 на частотах 4 и 5МГц соответственно. Контроллер имеет 4 независимых канала и возможность каскадирования схем до любого числа каналов. В каждом из каналов контроллера размещено по пять регистров, а именно: два регистра адреса (базовый РCiб и текущий PCiт, где i - номер канала), два регистра счета слов (базовый РCiб и текущий PCiт) и регистр режима PPi. Адресные регистры и регистры счета слов шестнадцатиразрядные, следовательно, начальный адрес блока данных может располагаться в любом месте адресного пространства емкостью 64К, а максимальный размер блока также составляет 64Кбайт.

При программировании в оба адресных регистра загружается одно и то же значение адреса, а в оба регистра счета слов - одно и то же значение размера блока. При ПДП меняются состояния текущих регистров адреса и счета слов. Оба они работают в режиме счетчиков и при передаче очередного слова регистр адреса инкрементируется или декрементируется (в зависимости от программирования контроллера), а регистр счета слов декрементируется. Когда регистр-счетчик PCiт дойдет до нулевого состояния (перейдет от состояния 0000Н к состоянию FFFFH), выработается сигнал конца счета (т.е. в качестве начального значения в PCiт следует загружать число, на единицу меньшее размера блока). Этим заканчивается режим блочного обмена с ПДП.

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

 

8. Программируемые интервальные таймеры

Программируемые интервальные таймеры (ПИТ, PIT) выполняют операции связанные с временами, частотами и интервалами. ПИТ ВИ54 серий К1821 и К1860 (аналог микросхемы Intel 8254), входящий также в состав современных интегрированных периферийных СБИС и библиотек для СБИС программируемой логики, - трехканальный, содержит три 16-разрядных счетчика с независимыми режимами работы при изменениях входной частоты от нулевой до 10МГц (для разных модификаций максимальные частоты 5; 8 и 10 МГц). Таймеры могут работать в шести режимах в двоичной или двоично-десятичной системах счисления.

Структура ИС ВИ54. Структура ИС ВИ54 показана на (рис. а).

Двунаправленный буфер данных БД с тремя состояниями выхода связывает ПИТ с шиной данных системы. Блок управления чтением-записью принимает от шин МПС сигналы  () или  (), первый из которых передает содержимое адресуемого счетчика /или регистра ПИТ на шину данных, а второй загружает байт с этой шины в адресуемый счетчик или регистр. Сигнал  разрешает или запрещает работу ПИТ. Сигналы младших линий адреса А1 и A0 выбирают конкретный счетчик CTRi комбинациями 00, 01 и 10, или регистр управляющего слова (комбинацией 11).

 

 

                 Рис. Структура интервального таймера (а) и одного  из его каналов (б)

 

Внутренняя структура счетчика CTRi приведена на рисунок 50,б. Регистр управляющего слова РУС хранит загруженные в таймер сведения о назначенных режимах работы счетчиков. Регистр состояния PC вместе с защелкой ЗРС (защелкой регистра состояния) содержат текущее состояние РУС, состояние выхода OUT и флажок нуля счета. Собственно счетчик, обозначенный как СЭ (счетный элемент) - 16-разрядный синхронный вычитающий, со сбросом. Его состояние отслеживается двумя 8-разрядными защелками счетного элемента ЗСЭ для старшего (Н) и младшего (L) байтов числа, формируемого в счетчике. Имеется команда Counter Latch, по которой текущее число СЭ фиксируется в защелках до его считывания процессором, после чего защелки вновь возвращаются в режим слежения за числом в СЭ. Управляющая логика обеспечивает поочередный вывод содержимого защелок на внутреннюю шину данных для вывода 16-разрядных слов по 8-разрядным шинам. Состояние СЭ может читаться только через защелки.

СЭ имеют на входах 8-разрядные регистры счетного элемента РСЭ, хранящие старший и младший байты нового числа, подлежащего записи в СЭ. Управляющая логика обеспечивает загрузку регистров с внутренней шины данных для побайтной передачи 16-разрядных чисел. В СЭ оба байта загружаются одновременно. При программировании счетчика регистры РСЭ сбрасываются.

Формат управляющего слова показан на рисунке ниже.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. Форматы управляющего слова