Практически каждый современный ПК оборудован хотя бы одним асинхронным последовательным СОМ-портом и, как правило, одним параллельным LPT-портом. Эти порты предназначены для подключения к компьютеру внешних устройств и аппаратов. Далее приводятся краткий набор необходимых сведений сначала по СОМ-портам, затем – по LPT-портам.
В конце этого Приложения 3 вы найдете краткую информацию о USB-портах
Аппаратная реализация СОМ-порта
Обычно компьютер оснащен одним или двумя портами последовательной передачи данных. Эти порты расположены, как правило, на материнской плате компьютера. Каждому СОМ-портусоответствует несколько регистров, через которые компьютерная программа может управлять портом, и определенная линия прерываний IRQ для сигнализации компьютеру о состоянии порта.
Порт последовательной передачи данных может использоваться очень широко. К нему может быть подключен манипулятор мышь, модем, сканер, графопостроитель, принтер и т.п. Все эти аппараты и устройства через СОМ-порт проводят обмен данными с компьютером, используя при этом стандартные принципы последовательной передачи данных, заложенные в конструкции порта.
Последовательная передача данных означает, что данные передаются бит за битом по единственной линии связи. Формат передачи данных для передающего и приемного устройств должен быть один и тот же, иначе передача данных будет невозможна. Формат передачи данных определяют стартовый и стоповый биты, бит четности и скорость передачи.
Основу последовательного асинхронного адаптера, который может управлять сразу несколькими СОМ-портами, составляет микросхема универсального асинхронного приемопередатчикаUART (Universal Asynchronous Receiver Transmitter). Встречаются несколько разновидностей этой микросхемы – Intel 8250, 16450, 16550, 16550A. При этом часть из них уже безнадежно устарела
Для каждого COM-порта указанные микросхемы содержат регистры передатчика и приемника данных, а также несколько управляющих регистров, доступных через команды ввода/вывода.
При передаче очередной байт записывается в буферный регистр передатчика, откуда затем переписывается в сдвиговый регистр. Затем байт «выдвигается» из сдвигового регистра по битам. Аналогично работают сдвиговый и буферный регистры приемника.
Программа имеет доступ только к буферным регистрам. Копирование информации в сдвиговые регистры и сдвиг данных выполняется микросхемой UART автоматически. Регистры, управляющие асинхронным последовательным портом, будут описаны ниже.
Внешне каждый COM-порт асинхронного последовательного адаптера представлен собственным разъемом. Существует два стандарта на разъемы COM-порта: DB25 и DB9. Первый разъем имеет 25, а второй 9 выводов. Несмотря на то, что разъем DB25 содержит в два с половиной раза больше выводов, чем DB9, они передают одинаковые сигналы. При необходимости можно приобрести переходник между разъемами DB25 и DB9.
В табл. П3.1 приведена разводка разъема DB25 со стороны последовательного асинхронного адаптера:
Таблица П3.1. Разводка разъема DB25
Номер контакта
Назначение контакта
Вход или выход
Защитное заземление (Frame Ground, FG)
–
Передаваемые данные (Transmitted Data, TD)
Выход
Принимаемые данные (Received Data, RD)
Вход
Запрос для передачи (Request to send, RTS)
Выход
Сброс для передачи (Clear to Send, CTS)
Вход
Готовность данных (Data Set Ready, DSR)
Вход
Сигнальное заземление (Signal Ground, SG)
–
Детектор принимаемого с линии сигнала (Data Carrier Detect, DCD). Иногда сигнал DCD обозначают как CD (Carrier Detect)
Вход
9-19
Не используются
Готовность выходных данных (Data Terminal Ready,DTR)
Выход
Не используется
Индикатор вызова (Ring Indicator, RI)
Вход
23-25
Не используется
В табл. П3.2 приведена разводка разъема DB9 со стороны последовательного асинхронного адаптера:
Таблица П3.2. Разводка разъема DB9
Номер контакта
Назначение контакта
Вход или выход
Детектор принимаемого с линии сигнала (Data Carrier Detect, DCD). Иногда сигнал DCD обозначают как CD.
Вход
Принимаемые данные (Received Data, RD)
Вход
Передаваемые данные (Transmitted Data, TD)
Выход
Готовность выходных данных (Data Terminal Ready,DTR)
Выход
Сигнальное заземление (Signal Ground, SG)
–
Готовность данных (Data Set Ready, DSR)
Вход
Запрос для передачи (Request to send, RTS)
Выход
Сброс для передачи (Clear to Send, CTS)
Вход
Индикатор вызова (Ring Indicator, RI)
Вход
Только два вывода этих разъемов используются для передачи и приема данных. Остальные передают различные вспомогательные и управляющие сигналы. На практике для подсоединения того или иного устройства может понадобиться различное количество сигналов.
Стандарт, определяющий обмен данными через СОМ-порт, обычно называют «интерфейс RS-232-C».
Интерфейс RS-232-C определяет обмен между устройствами двух типов: DTE (Data Terminal Equipment) – терминальное устройство (обычно это компьютер) и DCE (Data Communication Equipment) – устройство связи (обычно это модем).