7
7. Асинхронный последовательный адаптер
7.1. Для чего предназначены асинхронные порты ввода/вывода
7.2. Каковы технические параметры интерфейса RS-232-C
7.3. Какие существуют асинхронные адаптеры
7.4. Что такое нуль-модем
7.5. Как связать компьютеры через асинхронный порт
Практически каждый компьютер оборудован хотя бы одним последовательным
асинхронным адаптером. Обычно он представляет собой отдельную
плату, вставляемую в слот расширения компьютера или же расположен
прямо на материнской (системной) плате.
Последовательный асинхронный адаптер также называют асинхронным
адаптером RS-232-C, или портом RS-232-C. Каждый асинхронный адаптер
обычно содержит несколько портов RS-232-C, через которые к компьютеру
можно подключать различные внешние устройства. Каждому такому
порту соответствует несколько регистров, через которые программа
получает к нему доступ, и определенный номер IRQ для сигнализирования
компьютеру об изменении состояния порта. При выполнении BIOS процедуры
начальной загрузки всем портам RS-232-C присваиваются логические
имена COM1 - COM4 (COM-порт номер 1 - 4).
Порт последовательной передачи данных используется очень широко.
Вот далеко не полный список применений:
- подключение мыши;
- подключение графопостроителей (плоттеров), сканеров, принтеров,
дигитайзеров;
- связь двух компьютеров через порты последовательной передачи
данных при помощи специального кабеля (нуль-модема);
- подключение модемов для передачи данных по телефонным линиям;
- подключение к сети персональных компьютеров.
При передаче данных на большие расстояния без использования специальной
аппаратуры из-за помех, наводимых электромагнитными полями, возможно
возникновение ошибок. Вследствие этого накладываются ограничения
на длину соединительного кабеля между устройствами, соединяемыми
с помощью интерфейса RS-232-C.
Ограничение по длине для соединительного кабеля по стандарту RS-232-C
составляет 15,24 метра. Однако на практике это расстояние может
быть значительно больше. Оно непосредственно зависит от скорости
передачи данных. Согласно McNamara (Technical Aspects of Data
Communications, Digital Press, 1982) определены следующие значения:
Скорость передачи в бодах | Максимальная длина (экранированный кабель), м
| Максимальная длина (не- экранированный кабель), м
|
110 | 1524,0 | 914,4
|
300 | 1524,0 | 914,4
|
1200 | 914,4 | 914,4
|
2400 | 304,8 | 152,4
|
4800 | 304,8 | 76,2
|
9600 | 76,2 | 76,2
|
Уровни напряжения на линиях разъема составляют для логического
нуля -15..-3 вольта, для логической единицы - +3..+15 вольт. Промежуток
от -3 до +3 вольт соответствует неопределенному значению.
Если вы подключаете внешние устройства к разъему интерфейса RS-232-C
(а также при соединении двух компьютеров нуль-модемом), предварительно
выключите внешнее устройство и компьютер, а также снимите статический
заряд (подсоединив заземление). В противном случае можно вывести
из строя асинхронный адаптер.
В асинхронном последовательном адаптере применяется микросхема
универсального асинхронного приемопередатчика - UART 8250. Микросхема
UART 8250 в ее исходном виде использовалась только в старых моделях
асинхронных последовательных адаптеров. В настоящее время применяются
более современные микросхемы приемопередатчиков - UART 16450,
16550 и 16550A.
Эти микросхемы UART, изготовленные по новой технологии, позволяют
достичь более высокой скорости обмена данными, а также обладают
новыми аппаратными возможностями. Перечислим основные характеристики
различных микросхем UART, а следовательно и асинхронных последовательных
адаптеров, на которых эти микросхемы установлены:
Тип микросхемы UART | Характеристики
|
8250 (8250-B) | Использовался на первых моделях IBM PC/XT, обладает небольшой производительностью
|
16450/(8250-A) | Микросхема 16450 практически полностью соответствует 8250. В ней устранены ошибки в регистре разрешения прерываний и добавлена возможность перевода линии OUT2 в высокоимпедансное состояние
|
16550 | Добавлена возможность внутренней буферизации передаваемых и принимаемых данных. Буфера выполнены в виде очереди (FIFO). Из-за ошибки в микросхеме возможность буферизации лучше не использовать - можно потерять отдельные символы. В общем случае микросхема 16550 более быстрая, чем 16450. Микросхема 16550 дает возможность использовать несколько каналов прямого доступа (DMA channels)
|
16550A (16550AN) | По своим характеристикам она соответствует 16550, но в ней исправлены ошибки реализации FIFO. Эта микросхема дает возможность использования программам нескольких каналов прямого доступа (DMA channels). Если вы желаете работать на скоростях больших, чем 9600 бод, вам желательно использовать асинхронный последовательный адаптер содержащий именно эту микросхему
|
Если в вашем распоряжении находятся два компьютера, оборудованные
асинхронными последовательными адаптерами, вы можете соединить
их посредством нуль-модемного кобеля. Нуль-модемный кабель подключается
к портам последовательных адаптеров соединяемых компьютеров.
С помощью специального программного обеспечения через нуль-модемный
кабель можно обеспечить быстрое копирование данных между компьютерами.
Если компьютеры не объединены в локальную сеть и вам надо переписать
с одного компьютера на другой большой объем информации, использование
нуль-модема является лучшим решением.
Нуль-модем представляет собой достаточно простое устройство. Он
состоит из двух разъемов и кабеля, соединенных определенным образом.
Если у вас под рукой есть два ответных разъема от портов асинхронного
адаптера и многожильный кабель, вы легко можете изготовить нуль-модем
сами.
На рисунке 7.1 представлены две схемы нуль-модемов, использующих
два разъема DB25.
Рис. 7.1. Схемы нуль-модемов
Разъемы портов последовательного адаптера бывают двух видов DB9
и DB25. Эти разъемы различаются количеством и назначением выводов.
Разъем DB9 содержит 9, а разъем DB25 - 25 выводов. Несмотря на
различное количество выводов, их функциональные возможности одинаковы.
Если вы собрали нуль-модем в соответствии с приведенной выше схемой,
а у последовательного адаптера свободен только разъем с 9 выводами,
вы можете воспользоваться специальным переходником (см. рис. 7.2).
Рис. 7.2. Переходники DB25 - DB9
Если в вашем распоряжении находятся два или более компьютера,
то вы можете организовать обмен данными между ними без использования
дискет и без установки сетевых адаптеров.
Для этого надо соединить порты асинхронных последовательных адаптеров
компьютеров с помощью нуль-модемного кабеля. После этого с помощью
специального программного обеспечения вы сможете получить доступ
с одного компьютера, называемого рабочим, к дискам другого, называемого
сервером. Работать при этом можно только за рабочим компьютером,
но зато вы получаете полный доступ к дисковой подсистеме серевера.
В качестве программного обеспечения, используемого для обеспечения
связи между компьютерами через порты асинхронного последовательного
адаптера, можно воспользоваться программами Norton Commander или
FastLynx. Операционная система MS-DOS версии 6.0 имеет в своем
составе собственные средства организации связи компьютеров через
нуль-модем.
Ниже мы рассмотрим использование программы Norton Commander и
средств MS-DOS версии 6.0.
Использование программы Norton Commander
Самая простая программа, которую можно использовать для непосредственной
связи двух компьютеров через нуль-модемный кабель, - это Norton
Commander. При помощи этой программы можно осуществлять обмен
файлами между компьютерами, при этом работать можно только на
одном компьютере.
Использование нуль-модема и асинхронных адаптеров может оказаться
очень полезным, если вам необходимо скопировать с одного компьютера
на другой большой объем информации. В этом случае, если компьютеры
не находятся в локальной сети, процесс копирования через дискеты
может растянуться на несколько часов. Воспользовавшись нуль-модемом,
вы сможете значительно ускорить процесс копирования. Ниже мы приведем
краткую инструкцию, как связать два компьютера через асинхронные
последовательные адаптеры.
Сначала выключите питание обоих компьютеров и соедините их через
асинхронные последовательные порты (COM - порты) нуль-модемным
кабелем. Затем включите компьютеры и запустите на обоих компьютерах
программу Norton Commander.
Для каждого компьютера выберите из меню Left или Right элемент
linK. При этом на экране появляется диалоговое окно Commander
Link (см. рис. 7.3).
Рис. 7.3. Диалоговое окно Commander Link
Затем надо выбрать режим работы - "Master" (рабочий
компьютер) или "Slave" (сервер), а также определить
последовательный порт, который вы будете использовать для соединения
- COM1 или COM2. Именно к этому порту должен быть подключен нуль-модемный
кабель.
Для одного из соединяемых компьютеров надо выбрать режим "Master",
а для другого - "Slave". При этом вы сможете работать
только на компьютере, находящемся в режиме "Master".
Переключатель Turbo Mode, расположенный на диалоговом окне Commander
Link, устанавливает повышенную скорость обмена данными. Режим
Turbo Mode должен быть установлен одновременно на обоих компьютерах.
При помощи программы Norton Commander вы можете выполнять следующие
действия:
- копировать и перемещать файлы с одного компьютера на другой;
- удалять, создавать новые файлы на сервере, изменять атрибуты
файлов;
- создавать, удалять каталоги на сервере.
С помощью программы Norton Commander вы не можете с основного
компьютера выполнять такие простейшие действия над дисками сервера,
как просмотр дерева каталогов и запуск программ.
Если вас не удовлетворяют возможности программы Norton Commander,
используйте средства операционной системы MS-DOS версии 6.0 или
объедините ваши компьютеры с помощью локальной сети.
Использование средств MS-DOS
В состав дистрибутива операционной системы MS-DOS версии 6.0 включены
программные средства для организации обмена данными между компьютерами
через порты асинхронного адаптера или через параллельные порты.
К ним относятся драйвер Interlnk и программа Intersvr.
С помощью драйвера Interlnk и программы Intersvr вы можете получить
полный доступ с рабочего компьютера к дискам и принтерам, подключенным
к серверу. При этом на рабочем компьютере появляются новые устройства,
через которые вы можете осуществить обращение к дискам и параллельным
портам сервера.
Таким образом, на рабочем компьютере появляются новые диски, а
также параллельные порты. По своим свойствам, за исключением быстродействия,
они полностью соответствуют локальным дискам и параллельным портам
компьютера. Вы можете свободно записывать и считывать с этих дисков
файлы, запускать программы. Если к серверу подключен принтер,
то вы сможете распечатать на нем документ непосредственно с рабочего
компьютера.
Рассмотрим процесс объединения компьютеров через порты асинхронного
адаптера.
Для соединения двух компьютеров, вам необходимо соединить их с
помощью нуль-модема. Затем подключите в файле CONFIG.SYS рабочего
компьютера драйвер Interlnk:
DEVICE=C:DOSINTERLNK.EXE [/DRIVES:n]
Параметр n определяет количество дисков сервера, которое вы желаете
использовать с рабочего компьютера. Если не задавать этот параметр,
будет доступно только три диска:
DEVICE=C:DOSINTERLNK.EXE
Затем запустите на сервере программу Intersvr:
INTERSVR
Теперь логические диски сервера и его принтерные порты становятся
доступны с вашего рабочего компьютера.
Рис. 7.4. Сервер
В нашем случае, на рабочем компьютере появились три новых диска
с именами I:, J: и K:, а также новый параллельный (принтерный)
порт LPT2.
Через диски I: и J: вы можете получить доступ к дисководам A:
и B:, расположенным на сервере, через диск K: к жесткому диску
C: сервера, а через параллельный порт LPT2, вы можете обратиться
к устройству (принтеру), подключенному к параллельному порту LPT1
на сервере.
|