При соединении по СОМ-портам двух терминальных устройств (двух компьютеров) как минимум необходимо перекрестное соединение линий TD и RD.
Однако в большинстве случае этого недостаточно, так как для устройств DTE (компьютер) и DCE (модем) функции, выполняемые линиями DSR, DTR, DCD, CTS и RTS, асимметричны.
Устройство DTE подает сигнал DTR и ожидает получения сигналов DSR и DCD. В свою очередь, устройство DCE подает сигналы DSR, DCD и ожидает получения сигнала DTR. Таким образом, если вы соедините вместе два устройства DTE кабелем, который вы использовали для соединения устройств DTE и DCE, то они не смогут договориться друг с другом. Не выполнится процесс подтверждения связи.
Рассмотрим действия сигналов RTS и CTS, которые управляют потоком данных. Иногда для соединения двух устройств DTE эти линии соединяют вместе на каждом конце кабеля. В результате получаем, что другое устройство всегда готово для получения данных. При большой скорости передачи принимающее устройство не всегда успевает принимать и обрабатывать данные, возможна потеря данных.
Чтобы решить все эти проблемы, для соединения двух устройство типа DTE () используется специальный кабель, в обиходе называемый «нуль-модемом».
Используя два разъема типа DB25 и кусок кабеля, можно легко спаять нуль-модемный кабель самостоятельно, руководствуясь схемами, изображенными на рис. П3.2.
Нуль-модемный кабель, представленный на схеме, расположенной слева на рис. П3.2, содержит значительно меньше проводов, чем нуль-модемный кабель, изображенный на схеме справа. Это получается за счет того, что на каждом конце кабеля линии RTS и CTS, а также и линии DSR, DCD и DTR соединены вместе. При этом процедуры подтверждения связи и управления потоком всегда будут заканчиваться успешно. На больших скоростях это может привести к потере информации, поэтому мы рекомендуем использовать вторую схему, расположенную справа. Изображенные на рис. П3.2 схемы во всех случаях используют разъемы типа DB25.
Рис. П3.2. Схема кабеля «нуль-модем»
Очень часто может возникнуть такая ситуация, что из-за наличия двух типов разъемов (DB25 и DB9) бывают нужны переходники с одного типа разъемов на другой. Например, вы можете использовать такой переходник для соединения COM-порта компьютера и кабеля нуль-модема, если на компьютере установлен разъем DB25, а кабель оканчивается разъемом DB9.
Схема такого переходника приведена на рис. П3.3. Слева на схеме располагается разъем DB25, а справа – разъем DB9.
Рис. П3.3. Схема переходника для разъемов DB25 и DB9
Изображенная на рис. П3.4 схема представляет собой так называемую «заглушку для СОМ-порта», которая применяется при проверке COM-портов компьютера специальными тестирующими программами. Эту схему можно также применять при отладке собственного коммуникационного программного обеспечения.