Добавил:
Студент, если у тебя есть завалявшиеся работы, то не стесняйся, загрузи их на СтудентФайлс! Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Литература / МИУС1 .docx
Скачиваний:
18
Добавлен:
16.07.2022
Размер:
1.71 Mб
Скачать

D6

D7

РУС 1

Режим 0. Однонаправленный синхронный обмен (основной режим ввода-вывода). В этом режиме могут работать все три канала. Режим применяется в программно-управляемом вводе с медленно действующими ПУ.

Пример. Пусть РУС имеет адрес СВ. Необходимо настроить ППИ на работу в режиме 0, причем КА – на ввод, КВ – на вывод, КС(3-0) – на ввод.

РУС 7 6 5 4 3 2 1 0

1

1

1

0

1

0

0

1

  1. 7

Команды в программе: MVI A,97

OUT CB.

Режим 1. Режим стробируемого ввода-вывода (однонаправленный асинхронный обмен по прерыванию). Обмен данными между ПУ и МП проводится побайтно. При вводе данных в МП из некоторого ПУ в обмене участвуют три управляющих сигнала.

ППИ КА (7-0) данные из устройства ввода

КС 4 STBA – строб из У ввода

КС 5 IBFFбуфер полный (в У ввода)

КС3 INTRA – прерывание (в МП)

КВ (7-0) данные в У ввода

КС1 OBFB –буфер полный ( в У вывода)

КС2 АСКВ - подтверждение приема (в У

Вывода)

КС0 INTRB – прерывание ( в МП )

КС (7,6) ввод/вывод

STB (строб) – сигнал от устройства ввода, по которому информация от канала А или В принимается в ППИ. По окончании сигнала STB вырабатывается сигнал «Входной буфер полный (IBF)». Этот сигнал указывает устройству ввода, что нельзя вводить следующее слово до тех пор, пока предыдущее слово не будет введено в МП.

INTR – прерывание. При получении этого сигнала МП передает управление подпрограмме, обрабатывающей это прерывание.

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

Режим 2 (режим двунаправленной шины). Двунаправленный асинхронный обмен по прерыванию). В этом режиме может работать только канал А, а каналы В и С можно настроить на работу в режимах 0 или 1.

3.3. Программируемый последовательный интерфейс (универсальный синхронно-асинхронный приемо-передатчик усапп)

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

Формат данных, скорость обмена и режим обмена программируются.

Функциональная схема УСАПП приведена на рис.12.

Функциональная схема.

Буфер пе-

редатчика

передатчик

Схема управления модемом

Схема управления приемни-

ком

Буфер приемника

Схема управления передатчи-ком

Схема управления чтением/ записью

Буфер данных

D7-D0 TxD

Reset CLK TxRD C/D TxE RD WR TxC CS

DSR DTR RxD CTS RTS

RxRDY

RxC SIND

приемник

рис.12. Функциональная схема УСАПП

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

Схема управления модемом служит для ввода-вывода сигналов общего назначения.

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

RESET – сброс. После действия этого сигнала адаптер переводится в «холостой» режим и остается в нем до загрузки управляющих слов.

CLK – синхронизация.

C/D – управление / данные. Сигнал идентификации данных или управляющих слов.

CS - выборка кристалла. Разрешает связь между адаптером и шиной данных.

DSR – готовность модема. Входной сигнал от модема, означающий его готовность к работе.

DTR – готовность терминала.

CTS – передача. Входной сигнал, разрешающий адаптеру передавать данные.

RTS – запрос передачи.

TxD – выходная линия, по которой действуют передаваемые данные.

TxRDY – готовность передатчика. Используется для прерывания процессора или проверяется при считывании состояния адаптера.

TxE – пустой передатчик. Обозначает отсутствие в адаптере символа для передачи.

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

RxD – вход приемника. Входная линия, по которой передаются сигналы принимаемых последовательных данных.

RxRDY – готовность приемника. Свидетельствует о наличии в адаптере принятого символа.

RxC – синхронизация приемника. Определяет скорость приема символов.

SYND – обнаружение синхронизации. Сигнал синхронного режима.

Для программирования адаптера необходимо загрузить несколько управляющих слов. Управляющие слова имеют два формата: слово режима и слово приказа.

Слово режима задает общие рабочие характеристики адаптера:

  • скорость передачи;

  • длину символа;

  • число стоповых бит;

  • режим работы;

  • условия контроля (четный или нечетный паритет).

Формат слова режима.

D7 D6 D5 D4 D3 D2 D1 D0

ST1

DR0

DR1

L0

L1

P0

P1

ST2

0 0 синхронный

0 1 1

1 0 16

1 1 64

Запрещено 0 1

1 бит 0 1

1,5 бита 1 0

2 бита 1 1

Число стоп-бит Скорость передачи

0 0 5 бит

0 1 6 бит

1 0 7бит

1 1 8 бит

Паритет

Запрещен х 0

Нечетный 0 1

Четный 1 1

длина символа

Формат слова приказа.

TxEN

DTR

RxE

SBRK

ER

RTS

IR

EH

D7 D6 D5 D4 D3 D2 D1 D0

EH – поиск синхросимволов при значении 1.

IR – внутренний сброс, при 1 происходит сброс всех внутренних регистров.

RTS – сброс УСАПП в исходное состояние.

ER – сброс ошибок.

SBRK – конец передачи при 1.

RxE – разрешение приема, при 1 – прием разрешен, при 0 – прием запрещен.

DTR – при 1 – запрос о готовности передатчика передать данные.

TxEN – разрешение передачи; при 1 – передача разрешена, при 0 – запрещена.

Слово приказа передается после слова режима.

Подготовка УСАПП к работе осуществляется в определенном порядке.

Подается сигнал RESET, который переводит УСАПП в исходное состояние. Затем осуществляется программирование УСАПП. На первом этапе программирования по шине данных в УСАПП заносится слово режима. Это слово определяет режим работы УСАПП в данном цикле передачи (синхронный или асинхронный). При реализации синхронного режима за словом режима следуют служебные слова – индентификаторы информации ( синхросимволы ). Число синхросимволов определено двумя старшими разрядами слова режима. Кроме этого слово режима залает вид синхронизации, определяет вид контроля передачи и длину передаваемого слова. Направление передачи задается внешними сигналами RD и WR. Сигнал RD настраивает УСАПП на передачу информации из УСАПП в шину данных, сигнал WR задает обратное направление.

Вид информации (управляющие слова или данные) определяется сигналом C/D.

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

Слово режима и слово приказа определяют один из пяти режимов работы УСАПП:

  • асинхронная передача,

  • асинхронный прием,

  • синхронная передача,

  • синхронный прием,

  • чтение состояния.

В режиме «Асинхронная передача» принятые в УСАПП из МП данные выдаются в последовательном коде на выход TxD. Перед посылкой выводится старт-бит. После передачи байта данных может быть передан бит контроля, а затем стоп-бит. Наличие и вид контроля определяется словом режима.

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

В режиме «Синхронная передача» перед битами данных вводятся синхросимволы, которые выделяют собственно данные из потока информации. Синхросимволы следуют за словом режима. После записи слова режима, синхросимволов, слова приказа и данных происходит анализ сигнала CTS (готовность приемника терминала) и разряда D0 слова приказа. При наличии разрешающих сигналов УСАПП транслирует принятую информацию на выход TxD (выход передатчика).

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

Режим «Чтение состояния» используется для определения состояния УСАПП в процессе выполнения операций.

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

Программируемый контроллер прерываний (ПКП) позволяет без дополнительных аппаратурных затрат обрабатывать до 8 векторов прерывания. Число запросов можно увеличить до 64 с помощью каскадно соединенных нескольких БИС. Каскадирование контроллеров приведено на рис.

ПКП позволяет:

  1. программно задавать различные режимы задания приоритетов;

  2. задавать адреса размещения в памяти подпрограмм обработки прерываний;

  3. разрешать и запрещать отдельные запросы.

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

Ниже на рис.13 приведена функциональная схема ПКП.

Схема управления каскадиро-ванием

Схема управления Чт / Зп

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

Схема управления

Буфер данных

D7-D0 INTR INTA

A0

СS

Рг

ЗП

А

Рг С

RD IRO-IR7

WR

CAS0

CAS1

CAS2

SP

Рис.13. Функциональная схема ПКП

РгС – регистр обслуживаемых прерываний; 8- разрядный регистр, единица в соответствующем разряде показывает, прерывания каких уровней обрабатываются в данный момент в МП.

А – арбитр приоритета, функцией данного блока является разрешение конфликта при одновременном поступлении запросов на входы IR0 – IR7.

Рг ЗП – регистр запросов прерываний; 8-разрядный регистр, который фиксирует поступление сигнала на одном их входов IR0 –IR7.

А0 – адрес; начальный адрес области памяти для хранения процедур обработки прерываний.

CAS0 - CAS2 – каналы каскадирования;

SP – выбор ведомого контроллера;

INTR – запрос прерывания;

INTA – подтверждение запроса прерывания;

IR0 –IR7 – входы запросов прерывания (вектора прерываний).

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

Во время работы ПКП может работать в одном из 4 режимов:

1. Режим вложенных прерываний. В этом режиме каждому вектору прерывания присваивается фиксированное значение приоритета. Вектор прерывания с наивысшим приоритетом имеет право прерывать обработку менее приоритетного прерывания.

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

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

4. Режим опроса. Этот режим запрещает контроллеру автоматически прерывать работу МП при появлении запроса от внешнего устройства. Процессор должен сам обратиться к контроллеру в регистр запросов, проанализировать содержимое регистра и далее действовать по своему алгоритму. Данный режим моделирует опросную дисциплину обработки прерываний. Инициатором обработки прерывания становится не сам вектор прерывания, как при векторной дисциплине, а МП, причем в определяемые им самим моменты времени.

Программирование ПКП осуществляется через адресное пространство ввода-вывода с помощью двух 8-битовых портов с адресами 20H и 21H. Для управления ПКП в эти порты в определенной последовательности посылаются слова-приказы двух типов – управляющее слово инициализации (УСИ), которое определяет режим работы контроллера, и операционное слово (ОС). УСИ – четыре (столько, сколько режимов), ОС – три.

Форматы их следующие.

Формат УСИ 1. Определить особенности последовательности приказов.

D0

D1

D2

D3

D4

D5

D6

D7

D0 = 1 – УСИ 4 будет присутствовать в данной последовательности приказов.

D1 = 0 – каскадное подключение контроллеров; УСИ 3 будет в последовательности приказов.

D1 = 1 – одиночное подключение контроллера; УСИ3 не будет.

D2,D5,D6,D7 – не используются ( постоянный 0).

D4 = 1 признак УСИ 1.

Формат УСИ 2. Определение базового адреса.

D7 D6 D5 D4 D3 D2 D1 D0

D0-D2 – не используются (постоянный 0)

D3 – D7 – биты для задания номера базового вектора.

D7 D6 D5 D4 D3 D2 D1 D0

Формат УСИ 3. Связь контроллеров.

Di = 1, если ко входу i подключен ведомый контроллер;

Di = 0, если ко входу i подключено внешнее устройство.

Формат УСИ 4. Дополнительные особенности обработки прерываний.

D7 D6 D5 D4 D3 D2 D1 D0

D0 (определяет тип микропроцессора); 0 – i8080; 1 – i8086 (PENTIUM).

D1 – особенности обработки конца прерывания. 0 – сброс бита в регистре состояний (Рг С) производит программа обработки прерывания; 1 – установка автоматического сброса бита в Рг С после получения сигнала INTA от МП.

D2 = 0 – данный контроллер ведомый,

D2 = 1 данный контролер ведущий.

D3 – указывает буферизованность шины данных; 0 – системная шина не буферизована; 1 – системная шина буферизована.

D4 = 0 – определяет использование специального вложенного режима.

D5-D7 – не используются (постоянный 0).

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

Форматы их следующие.

Формат ОС1. Управление регистром масок.

D7 D6 D5 D4 D3 D2 D1 D0

Di = 0 – разрешить прерывание уровня i;

Di = 1 – запретить (замаскировать) прерывание уровня i.

ОС2. Управление приоритетом.

Этот приказ определяет выполнение следующих действий:

  • сбросить бит в Рг ОП с наибольшим приоритетом;

  • сбросить бит в Рг ОП для определенного уровня прерываний;

  • установить низший приоритет для определенного уровня;

  • поменять приоритеты уровней с максимальным и минимальным приоритетами;

  • поменять приоритеты уровней с заданным и минимальным приоритетами.

D7 D6 D5 D4 D3 D2 D1 D0

ОС 3. Общее управление контроллером

D0,D1 – 10 – прочитать содержимое регистра запросов (Рг ЗП)

11 – прочитать содержимое регистра состояний.

D2 – 0 или 1 – устанавливает (или не устанавливает режим опроса.

D3 – 01 – признак ОС3.

D5,D6 – 11 – установит режим специального маскирования, в котором все маскированные в регистре маски запросы будут обрабатываться микропроцессором независимо от состояния регистра состояний Рг С.

Рис.14. Каскадирование контроллеров прерывания

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

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

ПУ

ЦП

ОП

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

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

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

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

ОП

ОП

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

Контроллер

ПДП

ПУ

ЦП

ПУ

Контроллер

ПДП

ЦП

инициирование

ПДП инициирование

ПДП

Первый вариант – прямой доступ к памяти при наличии отдельной шины в памяти для ПДП; второй вариант – ПДП при использовании процессором и ПДП общей шины для связи с памятью.

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

В обычном режиме системной шиной управляет МП. В режиме ПДП МП отключается от системной шины, передачей данных между ОП и ПУ управляет контроллер ПДП, который выполняет следующие функции:

  • управление инициируемой МП или ПУ передачей данных между МП и ПУ;

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

  • формирование адресов ячеек памяти, участвующих в передаче;

  • подсчет числа единиц передаваемых данных (байт, слов) и определение момента завершения заданной операции ввода-вывода.

Функциональная схема контроллера ПДП приведена на рис.15.

К0

Буфер данных

D7 – D0 DRQ 0

DACK0

Схема управления

Чт / Зп

К1

RESET

CLK DRQ1

A0 DACK1

A1

A2

К2

A3 DRQ2

I/OR

I/OW DACK2

CS

Схема управле -ния

ПДП

A4

К3

A5 DRQ3

A6

Арбитр

A7 DACK3 RDY

HRQ

HLDA MEMR

MEMR

MEMW AEN ASTB

TC

MARK

Рис.15. функциональная схема контроллера ПДП

К0 – К3 - независимые каналы, каждый из которых обслуживает одно УВВ.

Арбитр – схема, которая определяет канала с максимальным приоритетом.

Схема управления ПДП вырабатывает необходимую последовательность управляющих сигналов.

Каждый канал имеет три регистра: регистр адреса, счетчик длины передаваемого массива и регистр режима.

Формат регистра режимов:

0

1

2

3

5

4

6

7

7- установка автозагрузки

6 - установка «конец счета – стоп»

5 – установка удлиненной записи

4 – установка циклического сдвига приоритета

3 – 0 – разрешение прямого доступа для каналов К3 - К0.

DRQ0 – DRQ3 – запрос прямого доступа каналов. Эти сигналы поступают асинхронно из внешних устройств и воспринимаются микросхемой как запросы на обмен с ОП.

DACK0 - DACK3 - подтверждение прямого доступа каналов. Эти сигналы являются ответными по отношению к запросам. Они вырабатываются контроллером в соответствии с приоритетами внешних устройств.

D7 – D0 – двунаправленная шина данных, обеспечивает обмен информацией между МП и ПДП. По этой шине принимаются управляющие слова и выдается старший байт адреса внешней памяти.

RESET – установка.

А0 –А7 – шина адреса.

I/OR – чтение ввода-вывода. Разрешает во входном режиме чтение 8-разрядного регистра состояния или начального адреса и числа циклов ПДП любого из каналов. В выходном режиме этот сигнал разрешает выдачу информации из внешнего устройства ввода-вывода.

I /OW – запись ввода-вывода. Разрешает во входном режиме загрузку регистров режима, начального адреса, значения количества циклов для любого канала.

CS – вход выборки кристалла. Позволяет активизировать данную БИС.

RDY – готовность ПДП. Предназначен для обеспечения совместной работы ПДП и медленных внешних устройств. Он отражает готовность внешнего устройства к ведению обмена.

HRQ – запрос захвата. Запрашивает у МП разрешение на управление системными шинами.

HLDA – подтверждение захвата. Ответ МП. При появлении этого сигнала системные шины освобождаются.

MEMR – чтение памяти.

MEMW – запись в память. Оба эти сигнала предназначены для внешнего ЗУ.

AEN – разрешение адреса. Используется для блокировки адресных шин в невыбранных устройствах

ASTB – строб адреса. Указывает, что на шине данных выдан старший байт адреса внешнего ЗУ.

TC – конец счета. Вырабатывается при установке в 0 регистра количества циклов и указывает периферийным устройствам, что данный цикл ПДП последний.

MARK - модуль 128, выходной сигнал MARK появляется в каждом 128-м цикле от конца массива.

При реализации циклов ПДП контроллер функционирует в следующих режимах:

  • автозагрузка;

  • конец счета – стоп;

  • удлиненная запись;

  • обычная запись;

  • циклический сдвиг приоритетов;

  • фиксированный приоритет;

  • маскирование;

  • чтение;

  • запись;

  • проверка.

Последовательностью операций в течение циклов ПДП управляет схема управления ПДП.

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

В исходное состояние микросхему переводит сигнал RESET. В этом состоянии маскируются все запросы каналов прямого доступа, а входы А3 – А0 переводятся в состояние приема информации.

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

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

В состоянии обслуживания системные шины находятся под управлением контроллера.

    1. Основные понятия об интерфейсе

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

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

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

Логические условия определяют:

  1. структуру и состав унифицированного набора шин;

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

3) способ кодирования и форматы данных, команд, адресной информации и информации состояния;

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

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

Электрическая совместимость – это согласование статических и динамических параметров электрических сигналов в системе шин.

Условия электрической совместимости определяют:

  1. тип приемопередающих элементов;

  2. соотношения между логическими и электрическими состояниями сигналов и пределы их изменения;

  3. коэффициенты нагрузочной способности приемопередающих элементов;

  4. допустимую длину линии и порядок ее подключения к разъемам;

  5. требования к источникам питания и к помехоустойчивости.

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

Обычно большинство условий электрической совместимости регламентируется стандартом.

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

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

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

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

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

Совокупность всех шин образует магистраль интерфейса.

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

Основные линии интерфейса ввода-вывода приведены на рис.16.

К а н а л

Щина

канала

Шина

або-

нента

Линии

иденти-

фикации

Линии

управ-

ления

К о н т р о л л е р

Рис.16. Основные линии и шины интерфейса

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

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

Линии идентификации служат для указания типа информации, передаваемой по шинам канала и абонента.

Линии управления используются для управления порядком взаимодействия канала и ПУ во время операции ввода-вывода.

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

Основные характеристики интерфейсов:

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

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

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

Общее число линий в интерфейсе.

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

По функциональному назначению:

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

Машинные интерфейсы предназначены для организации связей между составными компонентами ЭВМ и систем.

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

Интерфейсы мультимикропроцессорных систем представляют собой магистральные системы сопряжения, ориентированные на объединение в единый комплекс нескольких процессоров, модулей ОЗУ, контроллеров ВЗУ.

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

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

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

1) межблочные, обеспечивающие взаимодействие компонентов на уровне прибора, автономного устройства, блока, стойки, шкафа:

2) внутриблочные, обеспечивающие взаимодействие на уровне плат, субблоков;

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

4) внутрикорпусные, обеспечивающие взаимодействие внутри СБИС

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

В микропроцессорных системах используется модификация этого интерфейса «Q-шина». Интерфейс был разработан фирмой DEC (США).

Упрощенная структура интерфейса приведена на рис.17

А / Д

У

М

МП

ПУ

ПУ

ПУ

П А

Р Р

О Б

Ц И

Е Т

С Р

С

О

Р

ПУ

КПД

КПД

КПД

М

МП

ЗПД РПД ЗП7

ЗП6

ЗП5

ЗП4

РП

Рис. 17. Упрощенная структура интерфейса Q-шина

МП –модули памяти

КПД – контроллер прямого доступа к памяти

ПУ – периферийные устройства

А / Д – адрес / данные

ЗПД – запрос прямого доступа

РПД – разрешение прямого доступа

РП – разрешение прерывания

Интерфейс «Q-шина» имеет 42 линии, которые разбиты на следующие группы:

1. группа линий для передачи данных и адреса А / Д, которая объединяет – мультиплескируемую шину адрес/данные, состоящую из 16 двунаправленных линий, по которым может производиться обмен 16-разрядными адресами ли данными;

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

- четыре дополнительные адресные линии.

2. группа линий управления У, объединяющая:

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

- шесть линий системного управления: питание в норме, постоянное напряжение в норме, инициализация, останов процессора, регенерация памяти.

3. группа линий управления прерываниями и прямым доступом к памяти, которая содержит:

- линии запросов прерывания ЗП4 – ЗП7 и линия разрешения прерывания РП;

- три линии управления прямым доступом к памяти, запрос прямого доступа (ЗПД), разрешение прямого доступа (РПД), подтверждение разрешения прямого доступа.

Протокол процедуры прерывания и арбитража.

  1. ПУ выставляет запрос прерывания ЗП.

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

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

4. Процессор принимает адрес вектора прерывания, последовательно снимает сигналы строб входной информации и разрешение прерывания РП.

5. Процессор снимает с линий четность/ адрес памяти адрес вектора прерывания.

6. Процессор реализует прерывание текущей программы и переход к прерывающей программе.

Интерфейс «мультишина».

Интерфейс «мультишина» широко применяется в устройствах и системах, которые используют микропроцессоры К8080 и К1810. Этот интерфейс может работать как с 8-разрядными, так и с 16-разрядными микропроцессорами. Имеются средства расширения адресного пространства интерфейса.

Упрощенная структура интерфейса приведена на рис.18.

Рис.18. Упрощенная структура интерфейса «мультишина»

МП – микропроцессор

ФСИ – схема формирования сигналов интерфейса

ЗПД0 – ЗПД7 – запрос прямого доступа

РПД0 – РПД7 – разрешение прямого доступа

БПП – блок приоритетных прерываний

ОП – оперативная память

ПУ – периферийные устройства

Всего в интерфейсе 72 линии, которые сгруппированы в три основные шины: шина адреса (16 линий для адресации памяти плюс 4 резервных); шина данных (8 двунаправленных линий плюс 8 резервных для работы с 16-разрядным микропроцессором) шина управления (36 линий).

В интерфейсе выполняются операции (приказы): «Чтение» и «Запись» с устройствами памяти, «Ввод» и «Вывод» с периферийными устройствами.

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

При арбитраже каждое устройство выставляет ЗПД на собственную линию запроса. Арбитр сравнивает приоритеты запросов и выдает разрешения прямого доступа самому приоритетному устройству по индивидуальной линии.

Задание на учебную программу 2.

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

  1. Составить машинно-ориентированный алгоритм.

  2. Составить программу, указав типы адресации всех команд.

  3. Решить контрольный пример.

  4. Заполнить состояние регистра признаков

ВАРИАНТ 1

Записать произвольное число в регистр Д; второе произвольное число в ячейку по адресу 930. Произвести логическое сложение чисел. Если число единиц в результате четное, записать его в регистр В; иначе в ячейку с адресом 950.

Вариант 2

Записать число 12 в регистр С. Записать число23 в ячейку с адресом 0940. Сложить числа по mod 2. Если число единиц в результате четное, записать его в регистр Д, иначе в регистр Е.

ВАРИАНТ 3

Записать число27 в ячейку с адресом 0950. Записать число OF в регистр В. Логически умножить числа. Результат сдвинуть на 2 разряда влево. Если есть перенос, записать результат в регистр С, иначе в регистр Д.

ВАРИАНТ 4

Записать число 26 в ячейку с адресом 0950. Сдвинуть его на 4 разряда влево. Если есть перенос, записать результат в регистр В, иначе в регистр Д.

ВАРИАНТ 5

Записать число 04 в ячейку с адресом 0950. Записать число FO в регистр В. Сложить числа по mod 2. Если результат равен нулю, записать его а регистр С, иначе в регистр D.

ВАРИАНТ 6

Записать число (-12) в регистр Д, записать число (-24) в ячейку с адресом 0940. Вычесть числа. Если результат положительный, записать его в регистр В, иначе в регистр Е.

ВАРИАНТ 7

Записать число 35 в ячейку с адресом 0940. Записать число 42 в регистр В. Логически сложить числа. Если число единиц в результате четное, записать его в регистр С, иначе в ячейку с адресом 0960.

ВАРИАНТ 8

Записать число (-24) в ячейку с адресом 0940, записать число 26 в регистр В. Сложить числа по mod 2. Если число единиц в результате четное, записать его в регистр С, иначе в регистр Д.

ВАРИАНТ 9

Записать число 06 в регистр Д. Записать число FO в ячейку с адресом 0940. Логически умножить числа. Если результат больше нуля, записать его в регистр С, иначе в регистр В.

ВАРИАНТ 10

Записать число (-12) в регистр Д, записать число (-24) в ячейку с адресом 0940. Вычесть числа. Если результат положительный, записать его в регистр В, иначе в регистр Е.

ВАРИАНТ 11

Записать число 1F в ячейку с адресом 0950. Записать число2F в регистр В. Логически умножить числа. Если число единиц в результате четное, записать его в регистр С, иначе в регистр Е.

ВАРИАНТ 12

Записать произвольное число в регистр В; второе произвольное число в ячейку по адресу 930. Вычесть числа. Если результат положительный, записать его в регистр Д, иначе – в регистр Е.

ВАРИАНТ 13

Записать число –26D в ячейку памяти с адресом 0400. Записать число -17D в регистр В. Произвести сложение чисел по mod 2. Если число единиц в результате четное, записать его в регистр Д, иначе в ячейку с адресом 0700.

ВАРИАНТ 14

Записать число –24D в регистр С. Записать число 54D в регистр Д. Сложить числа. Если результат положительный, записать его в ячейку с адресом 0750, иначе по адресу 0800.

ВАРИАНТ 15

Записать произвольное число в регистр Д. Записать число –52 по адресу 0850. Произвести логическое умножение чисел. Если результат отрицательный, записать его по адресу 0860, иначе – в регистр В.

ВАРИАНТ 16

Записать число 26D по адресу 0700. Записать число –21D в регистр В. Сложить числа. Результат сдвинуть на 3 разряда влево. Если есть перенос, записать число по адресу 0750, иначе – в регистр С.

ВАРИАНТ 17

Записать число –24D по адресу 0800. Записать число51D в регистр В. Произвести логическое сложение чисел. Проинвертировать результат. Если число единиц в результате четное, записать его в регистр С, иначе в регистр Д.

ВАРИАНТ 18

Записать число –27D в регистр С. Записать число -42D по адресу 0850. Сложить числа по mod 2. Если результат нулевой, записать 1 в реестр В, иначе – записать число в регистр Д.

Вариант 8

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

Вариант 9

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

Вариант 10

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

Вариант 11

Дан массив однобайтных чисел со знаком. Программа должна сложить

все положительные числа.

Вариант 12.

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

Вариант 13

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

Вариант 14

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

Вариант 15

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

Вариант 16

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

Вариант 17

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

Вариант 18

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

Вариант 19

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

Вариант 20

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

Вариант 21

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

Вариант 22

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

Вариант 23

Дан массив однобайтных чисел со знаком. Программа должна сложить

все положительные числа.

Вариант 24

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

Приложение

Система команд мп кр1821вм85а

Группа команд

Маш. код В или Н

Мнемоника команды

Описание команды

длина

байты

такты

01.r1 .r2

MOV r1,r2

(r1)<-(r2)

1

5

0111 0.r.

MOV M,r

((H,L))<-(r)

1

7

п

01.r .110

MOV r,M

(r)<-((H,L))

1

7

к

е

00.r .110

MVI r,data

(r)<-data

2

7

о

р

3 6

MVI M,data

((H,L))<-data

2

10

м

е

00rp 0001

LXI rp,data

(rp)<-data

3

10

а

с

3 A

LDA addr

(A)<-(addr)

3

13

н

ы

3 2

STA addr

(addr)<-(A)

3

13

д

л

2 A

LHLD addr

L<-(addr),H<-(addr+1)

3

16

ы

о

2 2

SHLD addr

(addr)<-L,(addr+1)<-H

3

16

к

00r2 1010

LDAX rp

A<-((rp))

1

7

00rp 0010

STAX rp

((rp))<-A

1

7

E В

XCHG

(H)<->(D),(L)<->(E)

1

4

1000 0.r.

ADD r

(A)<-(A)+(r)

1

4

8 6

ADD M

(A)<-(A)+((H,L))

1

7

C 6

ADI data

(A)<-(A)+data

2

7

а

1000 1.r.

ADC r

(A)<-(A)+(r)+(C)

1

4

р

8 E

ADC M

(A)<-(A)+(M)+(C)

1

7

и

C E

ACI data

(A)<-(A)+data+(C)

2

7

ф

00rp 1001

DAD rp

(H,L)<-(H,L)+(rp)

1

10

м

к

1001 0.r.

SUB r

(A)<-(A)-(r)

1

4

е

о

9 6

SUB M

(A)<-(A)-(M)

1

7

т

м

D 6

SUI data

(A)<-(A)-data

2

7

и

а

1001 1.r.

SBB r

(A)<-(A)-(r)-(C)

1

4

ч

н

9 E

SBB M

(A)<-(A)-(M)-(C)

1

7

е

д

D E

SBI data

(A)<-(A)-data-(C)

2

7

с

ы

00.r .100

INR r

(r)<-(r)+1

1

5

к

3 4

INR M

((H,L))<-((H,L))+1

1

10

и

00rp 0011

INX rp

(rp)<-(rp)+1

1

5

е

00.r .101

DCR r

(r)<-(r)-1

1

5

3 5

DCR M

((H,L))<-((H,L))-1

1

10

00rp 1011

DCX rp

(rp)<-(rp)-1

1

5

2 7

DAA

Десятичная коррекция

1

4

1010 0.r.

ANA r

(A)<-(A)&(r)

1

4

A 6

ANA M

(A)<-(A)&((H,L))

1

7

E 6

ANI data

(A)<-(A)&data

2

7

1010 1.r.

XRA r

(A)<-(A)+mod2 (r)

1

4

A E

XRA M

(A)<-(A)+mod2 ((H,L))

1

7

л

E E

XRI data

(A)<-(A)+mod2 data

2

7

о

1011 0.r.

ORA r

(A)<-(A)\ /(r)

1

4

г

к

B 6

ORA M

(A)<-(A)\ /((H,L))

1

7

и

о

F 6

ORI data

(A)<-(A)\ /data

2

7

ч

м

1011 1.r.

CMP r

(A)?=(r) (сравнение)

1

4

е

а

B E

CMP M

(A)?=((H,L))

1

7

с

н

F E

CPI data

(A)?=data

2

7

к

д

0 7

RLC

(An+1)<-(An),

1

4

и

ы

(A0)<-(A7), (C)<-(A7)

е

0 F

RRC

(An)<-(An+1),

1

4

(A7)<-(A0), (C)<-(A0)

1 7

RAL

(An+1)<-(An),

1

4

(C)<-(A7), (A0)<-(C)

1 F

RAR

(An)<-(An+1),

1

4

(C)<-(A0), (A7)<-(C)

2 F

CMA

(A)<-(A) инверсия (A)

1

4

3 F

CMC

(C)<-(C) инверсия (С)

1

4

3 7

STC

(С)=1

1

4

С 3

JMP addr

(PC)<-(addr)

3

10

11.c .010

Jcond addr

(PC)<-(addr), при вы-

3

10

у

полнении условия cond

п

п

C D

CALL addr

(PC)<-(addr),

3

17

е

р

((SP)-1)<-(PCh),

р

а

((SP)-2)<-(PC1),(SP)-2

е

в

11.c .100

Ccond addr

вызов подпрограммы при

3

11/17

д

л

выполнении условия

а

е

C 9

RET

Возврат из п.п.

1

10

ч

н

(PC1)<-((SP)),

и

и

(PCh)<-((SP)+1),(SP)+2

я

11.c .000

Rcond

Возврат при условии

1

5/11

E 9

PCHL

(PC)<-(H,L)

1

5

11.n .111

RST n

Запуск c адреса 8*(n)

1

11

D B

IN port

(A)<-(port)

2

10

в

с

D 3

OUT port

(port)<-(A)

2

10

в

т

11rp 0101

PUSH rp

((SP))<-(rp),(SP)-2

1

11

о

е

F 5

PUSH PSW

((SP)-1)<-(A),

1

11

д

к

((SP)-2)<-(F),(SP)-2

11rp 0001

POP rp

(rp)<-((SP))-(SP)+2

1

10

F 1

POP PSW

(F)<-((SP)),

1

10

(A)<-((SP)+1),(SP)+2

E 3

XTHL

(L)<->((SP)),

1

19

(H)<->((SP)+1)

в

у

F 9

SPHL

(SP)<-(H,L)

1

5

ы

п

F B

EI

Разрешение прерывания

1

4

в

-

F 3

DI

Запрещение прерывания

1

4

о

и

7 6

HLT

Останов.

1

7

д

е

0 0

NOP

Пустая команда

1

4

cond

Значение признаков

код

r

rp

n

NZ

Z=0,

Результат = 0

000

В

BC

0

Z

Z=1,

Результат = 0

001

С

DE

1

NC

C=0,

нет переноса

010

D

HL

2

C

C=1,

есть перенос

011

E

SP

3

PO

P=0,

число единиц в результате нечетно

100

H

4

PE

P=1,

число единиц в результате четно

101

L

5

P

S=0,

результат положительный

110

M

6

M

S=1,

результат отрицательный

111

A

7

Примечания

  1. М – ячейка памяти, адресуемая парой регистров H,L.

  2. Такты (x/y), x – при невыполнении условий, y – при выполнении условий.

  3. Признак АС – вспомогательный перенос (из младшей тетрады в старшую, анализируется командой DAA.

  4. Команды LDAX и STAX работают только с парами регистров ВС и DE.

  5. Команды PUSH(rp) и POP(rp) выполняются аналогично командам PUSH PSW и POP PSW (А – старший, F – младший).

  6. Data – 8 – или 16-разрядные данные, addr – 16-разрядный адрес, port – 8-разрядный адрес внешнего устройства.

  7. Распределение признаков в регистре RS: бит 7 6 5 4 3 2 1 0

признак S Z 0 AC 0 P 1 C

8. PCh, PCl – соответственно старший и младший байты счетчика команд.

Содержимое регистра признаков

Содержимое регистра

признаков

Активные признаки

( = 1 )

02

03

06

07

12

13

16

17

46

47

56

57

82

83

86

87

92

93

96

97

-

C

P

P, C

AC

AC, C

AC, P

AC, P, C

Z, P

Z, P, C

Z, AC, P

Z, AC, P, C

S

S, C

S, P

S, P. C

S, AC

S. AC, C

S, AC. P

S, AC, P, C

Для кодирования первого байта кода команды могут потребоваться дополнительные циклы для ее выполнения, всего от 1 до 5 МЦ. Каждый МЦ состоит из машинных тактов, во время которых выполняются типовые действия.

Командный цикл может содержать от 4 до 18 машинных тактов. Сигналы, реализующие тот или иной МЦ, вырабатываются устройством управления на основании информации, содержащейся в коде операции в первом байте кода команды.