Нуль-модемное соединение


Изначально стандарт RS-232 предназначался для соединения телетайпа с телефонным модемом[1] — и уже опосредствованно, через модемы, телетайпы общались друг с другом. Поэтому соединение по RS-232 асимметрично: предполагается, что с одной стороны модем, а с другой — источник/потребитель данных. В нуль-модемном соединении линии передачи и приёма соединены непосредственно, крест-накрест, без использования модемов. Нуль-модемное соединение не стандартизовано, поэтому существуют несколько разводок.

Наиболее сложная из разводок[2][3], с которой будет работать даже ПО, которое проверяет сигнал carrier detect (наличие-потеря несущей).

Простейшая разновидность последовательного кабеля — полное отсутствие контроля соединения. TxD на одном конце соединяется с RxD на другом, «земля» с «землёй» — итого три провода. Работает с ПО, которое не проверяет работу модема (например, с большинством игр) и с устройствами, которым не нужны линии управления модемом.

Если ПО нужен именно модем и оно проверяет, есть ли связь, можно его обмануть, замкнув управляющие линии на своём же порту (RTS+CTS; DTR+DSR+DCD). Программа будет «думать», что соединение и аппаратное управление потоком данных есть.

Этот кабель только решает проблемы совместимости, по качеству связи он ничем не лучше предыдущего: при любой ошибке соединения связь разорвётся без видимой причины.

В этом кабеле линии RTS замкнут на свой же CTS и соединён с чужим DCD, а DTR — с чужим DSR. С соответствующим ПО такой кабель позволяет настроить связь на высоких частотах — до 115 килобод. Но из-за нестандартной разводки требуется особое ПО.