Параллельный интерфейсПрограммируемый параллельный интерфейс

Назначение и структура интерфейса. Программируемый параллельный ин­терфейс (ППИ) позволяет организовать обмен 8–разрядными операндами между микропроцессором и внешними устройствами (ВУ) по трем каналам. Направле­ние обмена и режим работы каждого канала задаются программно путем записи управляющего слова.

В ППИ можно выделить следующие составные части (рис. 3.4.1):

●     двунаправленный 8–разрядный буфер канала данных (БКД) с тремя состояниями;

●     три 8–разрядных канала связи (КА, КВ, КС) с ВУ, причем канал КС может быть разделен на два канала КС1, КС2. В канале КА предусмотрено два регистра, один из которых используется для передачи данных со стороны микропро­цессора в ВУ, другой — в обратном направлении. В каналах КВ, КС имеется по одному регистру, обеспечивающему передачу данных в требуемом на­правлении. Все каналы снабжены входными и выходными формирователями с тремя состояниями, выполняющими функции буферов. Каналы КС1 и КС2 используются для управления каналами КА и КВ;

●     регистр управляющего слова (РУС), предназначенный для организации обме­на данными между регистрами каналов и ВУ. На его вход подается сигнал сброса R;

●     устройство управления (УУ), предназначенное для выбора канала и обеспечения требуемых режимов работы. На его входы подаются следующие сигналы:

•      ¯Зп — для записи в регистры ППИ информации, поступающей из микропро­цессора по шине данных ШД;

•      ¯Чт — для выдачи информации из регистров ППИ на ШД;

•      А1, А0 — содержимого двух младших разрядов шины адреса процессора, образующих код для выбора одного из каналов КА, КВ, КС или РУС;

•      ¯ВК — выборки кристалла (микросхемы ППИ), в качестве которого при ма­лом числе ВУ (следовательно, микросхем) можно использовать один из старших разрядов А15.....А2 шины адреса.

рис. 3.4.1

Выходные сигналы устройства управления (на рис. 3.4.1 не показаны) коорди­нируют работу всех узлов ППИ.

Общие принципы организации обмена. Обмен информацией между про­цессором и ВУ происходит по командам ввода (IN), вывода (OUT) и разделяется на два вида: обмен между процессором и ППИ и обмен между ППИ и ВУ. Рас­смотрим, как организуется каждый из них.

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

табл. 3.4.1

При ¯ВК = 1 буфер канала данных находится в третьем состоянии независимо от значений других входных сигналов. Комбинация входных сигналов А0 = А1 = ¯Зп = 1,  = ¯Чт = 0 является запрещенной, так как не предусмотрен вывод данных из РУС.

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

●     D0, D1, D3, D4 — устанавливают соответственно каналы КС1, KB, КС2, КА на ввод информации в канал при Di = 1 или на вывод в ВУ при Di = 0 (i = 0, 1, 3, 4). Четырехразрядный код D4D3D1D0 определяет 16 возможных со­стояний каналов;

●     D2 — устанавливает каналы КВ и КС1 в режим 0 при D2 = 0 и в режим 1 при D2 = 1;

●     D5, D6 — задают двухразрядный код D6D5 для установки режима каналов КА и КC2: 00 — режим 0; 01 — режим 1; 10 или 11 — режим 2;

●     D7 — задает место загрузки управляющего слова: РУС при D7 = 1 и один из восьми триггеров регистра канала КС при D7 = 0. В последнем случае разряды D3, D2, D1 управляющего слова образуют код D3D2D1, который указывает за­гружаемый триггер, а разряд D0 задает значение (0 или 1) загружаемых данных.

Режимы работы.

Режим 0. В этом режиме установка каналов КА, KB, КС1, КС2 на ввод или вывод информации производится с помощью разрядов D4, D1, D0, D3 управляющего слова. Значения разрядов D2, D5, D6 должны быть равны нулю.

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

рис. 3.4.2

Режим 1. Этот режим позволяет осуществлять передачу информации по ка­налам КА и КВ в различных направлениях с помощью управляющих сигналов, по­ступающих по каналу КС. Возможны четыре комбинации взаимных направлений передачи: КА, КВ — ввод; КА, КВ — вывод; КА — ввод, КВ — вывод; КА— вывод, КВ — ввод.

рис. 3.4.3

На рис. 3.4.3 приведены функциональные схемы канала КС и временные диа­граммы для случаев, когда оба канала КА и КВ установлены на ввод (рис. 3.4.3, а, б) или вывод (рис. 3.4.3, в, г) данных. При вводе и выводе разряды 0–2 канала КС задействованы для обслуживания канала КВ, разряды 3–7 — для обслуживания канала КА. Не задействованные под управляющие сигналы разряды канала КС (6, 7 — при вводе; 4, 5 — при выводе) могут быть использованы в качестве допол­нительного канала для обмена информацией.

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

рис. 3.4.4

●     D0 не влияет на работу ППИ, поскольку канал КС1 задействован под управ­ление;

●     D3 определяет направление обмена по свободным разрядам (5, 6 или 4, 5) канала КС, если они используются.

Рассмотрим процессы, протекающие в ППИ, при вводе (рис. 3.4.3, а, б) и выво­де (рис. 3.4.3, в, г) информации по каналам КА, КВ.

Ввод данных инициирует внешнее устройство посылкой в ППИ сигнала строб приема ( ¯СПрм = 0 на рис. 3.4.3, б) на один из входов 4, 2 канала КС (рис. 3.4.3, а) после того, как данные выставлены на шину выбранного канала КА или КВ (рис. 3.4.1 — ШКА, ШКВ). По этому сигналу данные, поступающие от ВУ, записы­ваются в регистры используемого для ввода канала КА, КВ. ППИ подтверждает этот факт выдачей сигнала подтверждение приема (ППрм = 1) на выводах 5, 1 ка­нала КС.

Для информирования процессора о готовности ППИ к вводу данных использу­ется сигнал запроса прерывания (ЗПрв). Этот сигнал формируется в канале КС с помощью триггеров разрешения прерывания (РПрв на рис. 3.4.3, а) и появляет­ся по окончании действия сигнала ¯СПрм на одном из выводов 3, 0 в зависимости от выбранного канала КА или КВ.

Сигнал разрешения прерывания на выходе триггеров РПрв устанавливается программно и не поступает на внешние зажимы канала КС. По сигналу ЗПрв = 1 в микропроцессоре вырабатывается сигнал Чт = 0, который поступает на вход устройства управления ППИ и инициирует передачу данных из регистров дей­ствующего канала КА, КВ на шину данных ШД.

По фронту сигнала ¯Чт (1 —> 0) прекращается действие сигнала ЗПрв, а по срезу (0 —> 1) — действие сигнала ППрм.

При выводе данных из процессора на вход записи ППИ поступает сигнал ¯Зп  = 0, по которому информация с ШД записываются в регистры выбранного канала КА, КВ, а сигнал запрос прерывания снимается с выводов 3, 0 (ЗПрв = 0) канала КС (рис. 3.4.3, г). В канале КС (выводы 7, 1) формируется строб записи ( ¯СЗп = 0), подтверждающий принятие данных от процессора, и передается на ВУ. В ответ на этот сигнал ВУ принимает из ППИ данные и вырабатывает сигнал подтверждения записи ( ¯ПЗп  = 0), который поступает на выводы 6, 2 канала КС. Передним фрон­том сигнала ¯ПЗп (1 —> 0) прекращается действие строба записи ( ¯СЗп  = 1), а зад­ним фронтом (0 —> 1) активизируется сигнал запроса прерывания (ЗПрв = 1) на вы­вод следующего байта данных.

Режим 2. В этом режиме используется только канал КА для двунаправленной передачи данных. Управляющие сигналы канала КС в режиме 2 являются комби­нацией управляющих сигналов для канала КА при вводе и выводе в режиме 1 (рис. 3.4.4). Свободные младшие разряды 0, ..., 2 канала КС могут быть использо­ваны для управления каналом КВ в режиме 0 или 1, если они задействованы. Ре­жим 2 устанавливается с помощью управляющего слова, формат которого приве­ден в верхней части рис. 3.4.4. Младшие разряды D0, ..., D2 (в соответствии с их назначением в управляющем слове) обслуживают каналы КВ, КС.

Процессы, протекающие в ППИ при обмене данными в режиме 2, сходны с про­цессами в режиме 1. Отличительная особенность режима 2 состоит в следу­ющем. В режимах 0, 1 направление обмена данными между ППИ и ВУ задается управляющим словом, предварительно засылаемым из процессора в РУС. Поэто­му каждое изменение направления обмена данными требует временных затрат. В режиме 2 сигналами ¯Чт , ¯Зп устанавливается обмен информацией не только между процессором и ППИ, но и между ППИ и ВУ. Таким образом, обеспечивается возможность быстрого переключения направления передачи информации в це­лом между процессором и ВУ.

 

При подаче сигнала сброса R = 1 переводятся в нулевое состояние РУС и триг­геры разрешения прерывания РПрв, а все каналы устанавливаются в режим 0 для ввода данных. Режимы работы каналов можно изменять как в начале, так и в про­цессе выполнения программы, что позволяет ППИ обслуживать различные ВУ в определенном порядке. При изменении режима работы любого канала все ре­гистры каналов (в том числе и триггеры разрешения прерывания) сбрасываются. Состояние ППИ в режимах 1, 2 можно контролировать по значению разрядов регистра канала КС на его выводах (рис. 3.4.1, рис. 3.4.4) и использовать при со­ставлении и реализации программы. Для чтения информации состояния исполь­зуется обычная операция чтения канала КС. Свободные разряды канала КС мож­но использовать для обмена информацией с помощью операции чтения или пу­тем записи данных в триггеры этих разрядов с помощью управляющего слова (при D7 = 0).