Одним из важнейших вопросов компьютерной техники, является возможность обмена данными между ЭВМ. Обмен данными предназначен для быстрого перемещения данных на большие расстояния; многократного дублирования данных на разные носители; управление программными и аппаратными средствами с территориально распределенных станций и т.п.
Способы обмена данными разнообразны как по устройствам, использующимся для обмена, так и по протоколам обмена данными. Используемые протоколы обмена, обычно связаны с передающими и принимающими устройствами. Так, например, протоколы TCP/IP и IPX/SPX используются в информационных сетях. Для передачи файлов в глобальных сетях используют протокол FTP (File Transfer Protocol), позволяющий переписать файлы с дисков удаленного сервера на локальный диск компьютера. А протоколы Xmodem, Ymodem, Zmodem для соединения компьютеров по последовательному порту с использованием модемов. Передача может вестись посредством последовательных и параллельных портов, через сетевые платы и модемы.
В ПЭВМ устройствам обмена присвоены некоторые стандартизированные имена (COMx – последовательный порт, LPTx – параллельный порт принтера), которые используются для программного обращения к данным устройствам.
Одним из наиболее простых способов обмена данными, является обмен по последовательному порту. Последовательная передача данных предполагает, что данные передаются с использованием единственной линии. При этом биты байта передаются по очереди, с использованием одного провода.
Самый распространенный последовательный интерфейс IBM-совместимых ПЭВМ - это RS-232С.
Назначение контактов разъемов интерфейса RS-232C (I - входной сигнал компьютера, O - выходной сигнал компьютера)
№ конт. DB-9 | № конт. DB-25 | Обозначение | Описание сигнала | Тип конт. |
Отвечают за установку связи | ||||
DTR | Готовность передающего устройства | O | ||
DSR | Готовность приемного устройства | I | ||
Отвечают за квитирование обмена | ||||
RTS | Запрос передачи | O | ||
CTS | Готовность приема | I | ||
Канал данных | ||||
RxD | Принимаемые данные | I | ||
TxD | Передаваемые данные | O | ||
Управляющие сигналы | ||||
DCD | Обнаружение несущей | I | ||
GND | Сигнальное заземление | - | ||
RI | Индикатор вызова | I |
Временные диаграммы работы показаны на рисунке 5.1.
Рисунок 5.1 – Временная диаграмма обмена интерфейса RS-232C |
1 ПК1 выставляет сигнал DTR. На ПК2 этот сигнал приходит на линию DSR, связанную с прерыванием;
2 По мере готовности ПК2 выставляет сигнал на линию DTR;
3 ПК1 записывает в параллельный регистр байт информации и выставляет сигнал RTS (готов передать). ПК2 получает этот сигнал по линии CTS, и, если его входной буфер свободен, то выставляет свой сигнал RTS;
4 ПК1, имея два активных сигнала, начинает передачу, данные переписываются в сдвиговый регистр, дополняются битом паритета и выдвигаются через определённые интервалы; при этом сигнал RTS сбрасывается;
5 ПК2 получает посылку, сбрасывает свой сигнал RTS, после чего переписывает содержимое из последовательного регистра в параллельный регистр и передаёт в процессор;
6 ПК1: если есть информация для передачи, то переписывает информацию в регистр, выставляет сигнал RTS;
7 ПК2 анализирует принятый байт, выполняет действия, заложенные программой и по готовности программы опять анализирует DSR и CTS. Если они активны, то обмен продолжается.
8 ПК1 после передачи последней посылки снимает сигналы RTS и DSR.
9 ПК2 анализирует сигналы линий DSR и CTS. Если они сброшены, то тоже снимает свой сигнал DTR.