Способы организации совместной работы периферийных устройств и центральных устройств
Связь двух ЭВМ и внешнего устройства или двух ЭВМ друг с другом может быть организована в трех режимах: симплексном, полудуплексном и дуплексном.
В симплексном режиме передача данных может вестись только в одном направлении: один передает, другой принимает.
Полудуплексный режим позволяет выполнять поочередный обмен данными в обоих направлениях. В каждый момент времени передача может вестись только в одном направлении: один передает, другой принимает. И пока передача не закончилась, принимающий ничего не может сообщить передающему. Заканчивая передачу, передающая ЭВМ пересылает приемной специальный сигнал "перехожу на прием" (или просто "прием" - как выглядит этот сигнал, должны "договориться" между собой коммуникационные программы.Этот сигнал должен быть им обоим известен, т.е. сигнал окончания связи должен выглядеть одинаково у обеих ЭВМ, находящихся на связи). Затем они могут поменяться ролями. Этот режим является самым простым. Если во время передачи в приемной ЭВМ возникла нештатная ситуация (появилась ошибка в передаваемых данных, коммуникационная программа не успела обработать принятый байт до поступления следующего, при распечатке принимаемых данных одновременно с приемом замяло бумагу в принтере и др.), то принимающая ЭВМ неспособна сообщить об этом передающей до появления сигнала окончания передачи. Вся информация, передаваемая после появления нештатной ситуации, теряется. После устранения неполадок передачу приходится повторять. Поэтому при обмене большими объемами информации приходится все передаваемые данные делить на блоки и контролировать прохождение каждого блока. Общее время обмена информацией при этом возрастает.
Дуплексный режим позволяет вести передачу и прием одновременно в двух встречных направлениях.
В симплексном режиме может быть осуществлена связь, например, между ЭВМ и принтером, клавиатурой и ЭВМ или ЭВМ и дисплеем, а также между двумя ЭВМ, находящимися всегда в односторонней связи.
Для организации симплексного режима необходимо, чтобы передатчик одной ЭВМ был связан с приемником другой ЭВМ двухпроводной линией связи.
Для организации полудуплексного режима можно применить либо специальное коммутационное устройство у каждой ЭВМ, переключающее линию связи с выхода передатчика на вход приемника и обратно, либо линию связи с большим количеством проводов (например, трехпроводную, в которой один провод связывает передатчик первой ЭВМ с приемником второй, Другой провод связывает приемник первой ЭВМ с передатчиком второй, а третий является общим проводом и называетсяинформационная земля).
Для организации дуплексного режима необходимо, чтобы аппаратурные средства (в состав которых входит и канал связи) обеспечивали возможность одновременной передачи информации во встречных направлениях. Например, дуплексный режим может быть реализован при связи ЭВМ с принтером, если дополнительно к информационной связи канал обеспечивает передачу управляющего сигнала готовности принтера (сигнал DSR).
Сопряжение ЭВМ с каналом связи осуществляется с помощью последовательного (RS-232) или параллельного (Centronics) интерфейса, каждый из которых может обеспечить работу сопрягаемых устройств в любом из рассмотренных режимов - все зависит от типа используемого канала связи и технологии его использования.
Способ, с помощью которого интерфейс обеспечивает связь в заданном режиме, называется протоколом. Дуплексная связь ЭВМ с внешним устройством (принтером, модемом), при которой осуществляются симплексный режим обмена информацией, извещение внешнего устройства о готовности ЭВМ с помощью сигнала DTR и извещение ЭВМ о готовности внешнего устройства с помощью сигнала DSR, обеспечивается аппаратурным протоколом DTR.
Программный протокол XON/XOFF основан на использовании программно или аппаратурно-реализуемых сигналов XON (код ASCII 17d или llh) и XOFF (код ASCII 19d или 13h), вырабатываемых принимающим устройством. Эти сигналы имеют направленность, противоположную передаваемому информационному потоку. При получении передающей ЭВМ управляющего кода XOFF она должна прекратить передачу информации до появления разрешающего кода XON.
Управляющие сигналы XON и XOFF передаются по основной информационной линии в дуплексном режиме обмена информацией. Поэтому коммуникационная программа должна постоянно контролировать состояние внешнего устройства (которым может являтьея и другая ЭВМ), распознавая среди потока информации управляющие сигналы и корректируя в соответствии с ними режим передачи.
Программно-аппаратурный протокол RTS/CTS используется для синхронного обмена информацией (все ранее рассмотренные протоколы реализовали асинхронный обмен) между ЭВМ и ее внешним устройством. В соответствии с этим протоколом производится взаимное оповещение взаимодействующих устройств о выполненных ими действиях: ЭВМ обращается к подключенному внешнему устройству, вырабатывая сигнал DTR (Data Terminal Ready) - "ЭВМ готова к выходу на связь", сопровождающий команду внешнему устройству, находящуюся на информационных линиях интерфейса. Внешнее устройство, получив команду, выполняет ее (обычно первая команда связана с выполнением внешним устройством подготовительных операций - включению, установлению связи, настройке), после чего внешнее устройство выставляет управляющий сигнал DSR (Data Set Ready) - "Внешнее устройство готово", сопровождающий выставленное внешним устройством на информационные линии интерфейса сообщение (например, модем в этом случае выставляет на информационные линии ответный код Connect, информирующий ЭВМ , что связь с другим модемом установлена). Получив сигнал DSR и прочитав ответный код, ЭВМ выставляет сигнал RTS (Request То Send) - "ЭВМ готова к обмену информацией". Внешнее устройство (тот же модем) в ответ на сигнал RTS вырабатывает сигнал CTS (Clear То Send) - "Готов к обмену", по которому коммуникационная программа начинает передачу/прием данных.
Четыре управляющих сигнала: DTR, DSR, RTS, CTS вырабатываются ЭВМ и внешним устройством. Анализ поступивших сигналов производится коммуникационной программой. Передаваемые данные в синхронном режи ме могут сопровождаться управляющим сигналом от передающего или приемного устройства (TXD - Transmitted Data и RXD - Received Data соответственно).
В синхронном дуплексном режиме взаимодействующие устройства работают наиболее эффективно, так как выработка большого количества управляющих сигналов позволяет им оперативно информировать друг друга об успешности выполнения каждого шага.
Для взаимодействия со сложными внешними устройствами могут предусматриваться и дополнительные сигналы, например, для модема протокол DTS/CTS содержит- сигналы: DCD (Data Carrier Detected) - "Есть несущая частота" и RI (Ring Indicator) - "Индикатор звонка", информирующий ЭВМ, что по телефонной линии, подключенной к модему, поступили сигналы вызова (звонка), т.е. электрические сигналы, параметры которых отличаются от несущей.
Для того чтобы обеспечить взаимодействие ЭВМ по наиболее сложному протоколу DTS/CTS, последовательный интерфейс RS-232 предусматривает обмен всеми перечисленными сигналами.
Но тот же интерфейс позволяет реализовать обмен и по любому другому протоколу, например протоколу DTR, для которого в симплексном режиме требуется двух- или трехпроводная линия связи.