Интерфейсные устройства ЭВМ - Методичка

бесплатно 0
4.5 52
Интерфейсные устройства ввода-вывода для последовательной передачи данных. Протоколы обмена информации при ее вводе в ЭВМ и выводе из ЭВМ в синхронном и асинхронном режимах. Способы построение интерфейсного устройства для параллельного ввода данных.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
В любой операции пересылки данных по шине одно из устройств (процессор или устройство ввода-вывода) инициирует пересылку данных с помощью команд чтения или записи или запросов прерывания соответственно, поэтому принято называть его инициатором или ведущим, а устройство, к которому обращается инициатор, целевым или ведомым. Поскольку на передачу сигнала от одного устройства к другому уходит некоторое время, инициатор и целевое устройство видят изменение этого сигнала в разное время, поэтому сигналы, кроме тактового, показаны в двух вариантах: для инициатора и для целевого устройства. Спустя некоторое время, например, время прохождения по шине с учетом задержек сигналов, в момент TAS сигналы достигают целевого устройства, которое декодирует адрес и команду и в момент t1 выставляет запрошенные данные. Пример выполнения операции пересылки входных данных с использованием механизма квитирования поясняется временной диаграммой на рисунке 1.4. t0 - инициатор помещает на шину адрес и команду, которые по приходу их в целевое устройство, им декодируются. t1 - инициатор вырабатывает и помещает на управляющую линию сигнал Master-ready, который информирует целевое устройство о том, что адрес и команда на шине действительны. Инициатор, получив сигнал Slave-ready, выдерживает некоторое время (для учета сдвига сигналов в шине, времени установки своего входного буфера), принимает данные в свой буфер и удаляет с управляющей линии сигнал Master-ready, сообщая тем самым целевому устройству о получении данных. t4 - инициатор удаляет с шины адрес и команду.Спроектировать интерфейсное устройство ввода-вывода для последовательного (параллельного) порта, работающего в асинхронном (или синхронном) режиме. При разработке интерфейсного устройства, работающего в синхронном режиме, то есть осуществляющее пересылку данных за несколько тактов, за основу алгоритма работы узлов интерфейсной схемы можно взять временную диаграмму, приведенную на рисунке 1.3, а при построении схемы интерфейсного устройства можно использовать упрощенную схему, приведенную на рисунке 2.8. При разработке интерфейсного устройства, работающего в асинхронном режиме с использованием механизма квитирования, рекомендуется использовать временную диаграмму на рисунке 1.5 и схему на рисунке 2.5.

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

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

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

Линии шины, используемые для передачи информации между CPU, IM и устройствами ввода-вывода бывают трех типов: данных, адреса и управления. Шина может содержать также линии для поддержки прерываний и арбитража.

Назначение линий данных и адреса очевидно. Управляющие линии определяют, какую операцию: чтения или записи (R/W), необходимо выполнить. Обычно значение сигнала на управляющей линии равное 1 соответствует операции чтения (R), а равное 0 - записи (W).

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

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

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

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

1. Шины

1.1 Работа шины в синхронном режиме с циклом в один тактовый период

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

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

Примечание: на этом и последующих рисунках на линиях адреса, команды и данных показаны сигналы низкого и высокого уровня. Линия промежуточного уровня (посредине) означает неопределенное или высокоимпедансное состояние выхода источника сигнала.

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

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

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

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

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

Аналогичная процедура и при выводе (записи) данных. Инициатор помещает на линии адреса и управления - адрес и команду. В момент t2 адресуемое устройство загружает данные в свой входной буфер.

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

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

В начале такта (t0) инициатор формирует сигналы адреса и команды. Однако до момента ТАМ эти сигналы не появляются на шине изза задержек в схемах управления. Спустя некоторое время, например, время прохождения по шине с учетом задержек сигналов, в момент TAS сигналы достигают целевого устройства, которое декодирует адрес и команду и в момент t1 выставляет запрошенные данные. И опять сигналы данных появляются с задержкой до момента TDS (задержка по своей природе аналогична TAM).

К инициатору данные прибывают в момент TDM . Далее, инициатор в момент t2 принимает данные в свой входной буфер. Интервал t2 - TDM необходим для устойчивой записи данных в буфер. После момента t2 данные остаются в буфере инициатора до их использования инициатором. Очевидно, что цикл шины будет определяться интервалом t2 - t0, то есть одним тактом.

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

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

1.2 Работа шины в синхронном режиме с циклом в несколько тактовых периодов

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

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

Поясним суть такой передачи по временной диаграмме, представленной на рисунке 1.3.

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

В течение такта 1 инициатор выставляет на шину адрес и команду, тем самым запрашивая операцию чтения. Целевое устройство получает и декодирует эту информацию. В начале такта 2 целевое устройство принимает решение ответить на запрос и начинает подготовку (процедуру доступа к данным) данных к передаче.

В такте 3 данные готовы и помещаются на линии данных. Одновременно с этим целевое устройство вырабатывает и помещает на управляющую линию сигнал, назовем его Slave-ready. Инициатор, получив сигнал Slave-ready (целевое устройство готово), принимает данные в свой буфер в начале такта 4.

Из диаграммы видно, что если целевое устройство медленное, то оно может подготовить данные и соответствующий сигнал Slave-ready на 4, 5, 6 и т.д. тактах, вследствие чего увеличится только время передачи.

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

Во многих ЭВМ (например, с процессорами Pentium, ARM, Motorola) используется рассмотренный способ пересылки данных между устройствами ввода-вывода и ЭВМ.

1.3 Работа шины в асинхронном режиме с использованием механизма квитирования

В этом случае, схема управления пересылкой данных между инициатором и целевым устройством основана на механизме квитирования, то есть подтверждения пересылок между ними. В такой схеме тактовая линия заменяется двумя управляющими линиями квитирования: линией инициатора Master-ready и линией целевого устройства - Slave-ready.

Master-ready - сигнал готовности инициатора к транзакции (передаче), а Slave-ready - сигнал подтверждения целевым устройством получения запроса и готовности к ответу.

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

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

t0 - инициатор помещает на шину адрес и команду, которые по приходу их в целевое устройство, им декодируются. t1 - инициатор вырабатывает и помещает на управляющую линию сигнал Master-ready, который информирует целевое устройство о том, что адрес и команда на шине действительны. Задержка t1 - t0 необходима для того, чтобы все биты адреса и команды достигли целевого устройства после исчезновения сдвига сигналов в линиях. Под сдвигом сигналов понимается неодновременное прибытие сигналов битов вследствие, например, разброса электрических и физических параметров линий шины, неодновременного срабатывания выходов регистров источника сигналов и т.д. t2 - после декодирования адреса и команды целевое устройство начинает выполнять операцию ввода данных: помещает данные из своего выходного регистра на линии данных и одновременно активизирует сигнал Slave-ready на управляющей линии. Если интерфейсная схема устройства помещает данные на шину с некоторой задержкой, сигнал Slave-ready также задерживается на это же время. Длительность интервала t2 - t1 зависит от расстояния между инициатором и целевым устройством а также от величины задержки в интерфейсном устройстве.

Именно потому, что интервал t2 - t1 может иметь разную длительность (а следовательно разный цикл шины) интерфейсное устройство называется асинхронным. t3 - сигнал Slave-ready достигает инициатора и подтверждает ему наличие данных на шине. Инициатор, получив сигнал Slave-ready, выдерживает некоторое время (для учета сдвига сигналов в шине, времени установки своего входного буфера), принимает данные в свой буфер и удаляет с управляющей линии сигнал Master-ready, сообщая тем самым целевому устройству о получении данных. t4 - инициатор удаляет с шины адрес и команду. Задержка t4 - t3 необходима для того, чтобы исключить ложное восприятие адреса каким-либо другим устройством. Действительно, если адрес начнет меняться (а при его удалении с шины это возможно, например, изза того же перекоса сигналов) пока Master-ready соответствует 1, то возможно ложное его декодирование другим устройством, подключенным к дешифратору адреса. t5 - когда интерфейс целевого устройства фиксирует переход Master-ready из состояния 1 в 0, он удаляет с шины данные и Slave-ready. На этом цикл шины заканчивается.

Процесс выполнения операции вывода (записи в целевое устройство) поясняется временной диаграммой на рисунке 1.5.

Из диаграммы видно, что операция вывода в основном аналогична операции ввода. Отличие только в том, что инициатор одновременно с адресом выставляет на шину и данные. Целевое устройство, получив сигнал Master-ready через интервал t2 - t1 принимает их в свой буфер и выставляет сигнал подтверждения Slave-ready. В остальном - все аналогично.

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

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

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

- способность интерфейсного устройства работать с устройствами, имеющими разные задержки в работе;

- время передачи данных по шине;

- способность обнаруживать ошибки, возникающие в результате адресации несуществующего устройства или неправильного функционирования интерфейсного устройства.

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

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

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

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

Поэтому высокоскоростные шины в большинстве современных ЭВМ имеют синхронную структуру.

2. Интерфейсные устройства ввода-вывода ЭВМ

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

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

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

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

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

- содержать схему декодирования адреса устройства ввода-вывода;

- вырабатывать управляющие сигналы, например Master-ready, Slave-ready и другие;

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

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

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

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

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

Разобравшись в построении ИУ ввода и вывода данных, можно объединить эти схемы для получения универсального асинхронного интерфейсного устройства ввода-вывода данных.

Построение интерфейсного устройства ввода рассмотрим на примере ввода данных в ЭВМ с клавиатуры, а схемы вывода - на примере вывода данных в принтер.

Упрощенная схема соединения выхода клавиатуры с шиной процессора приведена на рисунке 2.1.

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

Данные с клавиатуры записываются в регистр RG DATA IN, и под воздействием управляющего сигнала Valid в блоке формирования флага состояния флаг SIN устанавливается в положение «1». После прочтения процессором содержимого регистра RG DATA IN флаг SIN будет сброшен в положение «0», сообщая тем самым клавиатуре о готовности интерфейсного устройства к приему нового символа.

После записи символа в RG DATA IN его содержимое по команде R(читать) пересылается в процессор с использованием сигналов

Master-ready и Slave-ready.

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

Такая схема представлена на рисунке 2.2.

Выходные линии регистра RG DATA IN, имеющего три состояния выхода, включаются при поступлении на его вход Z сигнала Read-data.

Сигнал Read-data формируется при поступлении от процессора адреса устройства (А15 - А1), команды читать R (по линии R/W) и адреса регистра (по линии А0), к которому обращается процессор. При сигнале «1» на линии А0 читается информация регистра данных RG DATA IN (или записывается в него из процессора) а при сигнале «0» - читается содержимое триггера состояния (в блоке формирования флага SIN) интерфейсного устройства: есть информация в регистре RG DATA IN или нет.

Сигнал флага SIN вырабатывается схемой формирования состояния флага и подается через повторитель с тремя состояниями выхода на шину данных в разряд D0. Другие разряды шины данных выглядят как нулевые, поскольку все выходы RG DATA IN в это время находятся в третьем состоянии.

Выработка флага SIN, как видно по схеме, зависит и от работы устройства ввода-вывода. При записи устройством ввода-вывода информации в регистр RG DATA IN (в случае ввода данных в ЭВМ), флаг SIN переходит в состояние «1», при ее отсутствии - остается равным «0». Таким образом, процессор всегда может определить заполнен или нет регистр данных RG DATA IN.

Пересылка флага SIN или данных из регистра RG DATA IN всегда выполняется только по приходу сигнала Master-ready. Сама пересылка всегда подтверждается сигналом Slave-ready. Все операции процессора с устройством ввода-вывода возможны только при соответствующем дешифровании адреса данного устройства (А15-А1).

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

В качестве примера рассмотрим интерфейсное устройство для подключения принтера. Пусть принтер работает под управлением сигналов Valid и Idle, роль которых подобна роли сигналов Master-ready и Slave-ready. Здесь предполагается, что печать производится по одному символу.

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

Схема соединения процессора и принтера приведена на рисунке 2.3.

В качестве вышеупомянутого буфера интерфейсного устройства служит регистр данных RG DATA OUT. Интерфейсное устройство также вырабатывает флаг состояния SOUT. Флаг SOUT устанавливается в положение «1», если регистр RG DATA OUT пуст и в положение «0» - когда произошла загрузка данных от процессора в RG DATA OUT.

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

Принцип действия приведенного на рисунке интерфейсного устройства вывода данных аналогичен принципу действия устройства ввода данных (рисунок 2.2.), с той разницей, что флаг состояния SOUT, читаемый процессором, передается к нему по линии А1 (ранее была линия А0), а блоки формирования флага и управления квитированием со стороны принтера будут иными.

Сигнал Load-data - сигнал записи в регистр RG DATA OUT.

Рассмотренные схемы (на рисунках 2.2. и 2.4.) можно объединить в одну, универсальную, которая должна обеспечивать как ввод, так и вывод данных.

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

Видов таких универсальных схем ИУ ввода-вывода может быть множество: в зависимости от выбора элементной базы, видов устройств ввода-вывода. Общим для таких схем остается передача в асинхронном режиме.

В качестве примера можно объединить интерфейсные схемы, приведенные на рисунках 2.2. и 2.4. и построить интерфейсное устройство ввода-вывода, показанное на рисунке 2.5.

Интерфейсное устройство адресуется 14 разрядами, а для выбора двух регистров данных (RG DATA IN и RG DATA OUT) и регистра состояния (чтение флагов SIN и SOUT) необходимо два разряда, для чего используются адресные линии А1 и А0.

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

Следует заметить, что регистры RG DATA IN и RG DATA OUT также можно заменить одним, используя для этого универсальный регистр с совмещенным портом ввода-вывода.

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

Схема ИУ может включать два и более порта.

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

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

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

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

В качестве примера построения такого интерфейсного устройства рассмотрим схему, приведенную на рисунке 2.6а. В эту схему, по сравнению со схемой, приведенной на рисунке 2.4, добавлен тактовый логический блок, работа которого описывается диаграммой его состояний, представленной на рисунке 2.6б.

Сначала тактовый блок находится в состоянии Idle. Когда на выходе дешифратора DC адреса появляется сигнал адреса (выбор адресованного устройства), состояние блока меняется на состояние Respond (G0 соответствует 1).

В результате смены состояния тактового блока вырабатывается сигнал G0, соответствующий 1, который формирует сигналы Read-status (чтение регистра состояния устройства) или Load-data (загрузка данных). Формирование определенного сигнала зависит от значения адресного разряда А0: R (считывание) или (запись).

Работу устройства можно проиллюстрировать временной диаграммой, приведенной на рисунке 2.7.

В такте 1 процессор выставляет на шину данные и адрес. Если данные и адрес в течение этого такта дошли до интерфейсного устройства, адрес дешифрируется и на выходе дешифратора вырабатывается «сигнал адреса», то в начале такта 2 под действием этого сигнала тактовый логический блок выдает сигнал G0. Под действием сигнала G0 вырабатывается сигнал Read-status (если А0 соответствует 0 и поступил сигнал R) или Load-data (если А0 соответствует 1 и поступил сигнал W).

Если ИУ не успело обработать данные и адрес в 1 такте, то 2 такт будет пропущен и G0 сформируется на третьем такте и т.д. В остальном работа ИУ аналогична работе ИУ при использовании асинхронного режима.

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

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

2.4 Интерфейсные устройства ввода-вывода для последовательной передачи данных

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

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

Входной сдвиговый регистр принимает от устройства ввода-вывода бит за битом. После загрузки всех бит байта, содержимое этого регистра параллельно загружается в известный нам регистр ввода RG DATA IN. Далее интерфейсное устройство действует по ранее рассмотренному правилу: передает процессору байт информации параллельно. Аналогичным образом выходные данные, полученные регистром RG DATA OUT из процессора, загружаются параллельно в выходной сдвиговый регистр, откуда бит за битом передаются в устройство ввода-вывода. Таким образом, часть интерфейсного устройства для последовательной передачи, взаимодействующего с шиной процессора мало чем отличается от интерфейсного устройства для параллельной передачи. Флаги SIN и SOUT выполняют те же функции, что и в устройстве для параллельной передачи. Флаг SIN устанавливается в положение «1», когда данные загружаются в регистр RG DATA IN, а когда процессор считывает из него эти данные, SIN устанавливается в положение «0». Флаг SOUT указывает, доступен ли RG DATA OUT для записи.

Когда процессор записал данные в RG DATA OUT, флаг SOUT устанавливается в состояние «0», а когда данные считаны из него, флаг SOUT устанавливается в состояние «1».

В принципе регистры RG DATA IN и RG DATA OUT можно заменить на сдвиговые, удалив входной и выходной сдвиговые регистры. Однако это привело бы к неоправданному удлинению цикла передачи. Так, после отправки устройством ввода-вывода одного байта в RG DATA IN, оно не сможет сразу начинать отправку следующего байта до тех пор, пока процессор не прочтет предыдущий байт. Если используется входной сдвиговый регистр, то после окончания его загрузки байтом, он сразу его переписывает (в параллельном режиме) в RG DATA IN и может начинать принимать следующий байт.

Аналогичны рассуждения и при использовании регистров RG DATA OUT и выходного сдвигового регистра.

Интерфейсное устройство для последовательной передачи широко применяется, поскольку оно удобно для устройств ввода-вывода, удаленных на значительные расстояния от ЭВМ, дешевле чем для параллельной передачи. В частности, часто применяется интерфейсное устройство, подобное рассмотренным, под названием UART (Universal Asynchronous Receiver Transmitter - универсальный асинхронный приемопередатчик). синхронный асинхронный интерфейсный режим

Вывод
Изложенный материал должен помочь студентам в разработке интерфейсных устройств для различных периферийных устройств ввода-вывода в ЭВМ при выполнении расчетного задания по изучаемому курсу «Интерфейсы периферийных устройств».

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

Можно привести краткие рекомендации по выполнению расчетного задания по курсу «Интерфейсы периферийных устройств». Техническое задание формулируется следующим образом. Спроектировать интерфейсное устройство ввода-вывода для последовательного (параллельного) порта, работающего в асинхронном (или синхронном) режиме. При разработке интерфейсного устройства, работающего в синхронном режиме, то есть осуществляющее пересылку данных за несколько тактов, за основу алгоритма работы узлов интерфейсной схемы можно взять временную диаграмму, приведенную на рисунке 1.3, а при построении схемы интерфейсного устройства можно использовать упрощенную схему, приведенную на рисунке 2.8. При разработке интерфейсного устройства, работающего в асинхронном режиме с использованием механизма квитирования, рекомендуется использовать временную диаграмму на рисунке 1.5 и схему на рисунке 2.5. При разработке интерфейсного устройства желательно минимизировать число используемых элементов. В пояснительной записке необходимо построить временные диаграммы работы схемы при вводе и выводе данных. Оформлять работу обязательно с соблюдением Гост Российской Федерации: ГОСТ 7.51, ГОСТ 2.105 - 79, ГОСТ 2.710 - 81. Перечень заданий на разработку интерфейсных устройств приводится дополнительно.

Список литературы
1. Хамахер К., Вранешич З., Заки С.. «Организация ЭВМ», 5-е издание, -СПБ,- «Питер», 2003 - 846 с.

2. Конспект лекций по курсу «Интерфейсы периферийных устройств ЭВМ».

Размещено на .ur

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?