Нуль-мадэмнае злучэнне — злучэнне двух камп’ютарных прыладаў праз пратакол RS-232 без мадэму.
Першапачаткова стандарт RS-232 прызначаўся для злучэння тэлетайпа з тэлефонным мадэмам[1] — і ўжо праз мадэмы тэлетайпы размаўлялі адзін з адным. Таму злучэнне праз RS-232 асіметрычнае: мяркуецца, што з аднаго боку мадэм, а з іншага — крыніца/спажывец звестак. У нуль-мадэмным злучэнні лініі перадачы і прыёму злучаны скрыжавана. Нуль-мадэмнае злучэнне не стандартызавана, таму існуюць некалькі разводак.
Найболшь складаная з разводак[2][3], з якой будзе працаваць нават ПЗ, якое спраўджвае сігнал carrier detect (наяўнасць-страта нясучай).
Прызначэнне гнязда | Гняздо DB-25 | Гняздо DE-9 | Напра- мак | Гняздо DE-9 | Гняздо DB-25 | Прызначэнне | |
---|---|---|---|---|---|---|---|
Корпус | FG | 1 | - | - | 1 | FG | |
Перадача | TxD | 2 | 3 | → | 2 | 3 | RxD |
Прыём | RxD | 3 | 2 | ← | 3 | 2 | TxD |
Запыт перадачы | RTS | 4 | 7 | → | 8 | 5 | CTS |
Гатовы прымаць | CTS | 5 | 8 | ← | 7 | 4 | RTS |
Сігнальная зямля | SG | 7 | 5 | 5 | 7 | SG | |
Гатоўнасць мадэма | DSR | 6 | 6 | ← | 4 | 20 | DTR |
Наяўнасць нясучага сігнала | DCD | 8 | 1 | ||||
Гатоўнасць тэрмінала | DTR | 20 | 4 | → | 1 | 8 | DCD |
6 | 6 | DSR |
Найпростая разнавіднасць паслядоўнага кабеля — поўная адсутнасць кантролю злучэння. TxD на адным канцы злучаецца з RxD на другім, «зямля» з «зямлёй» — усяго тры провады. Працуе з ПЗ, якое не спраўджвае працу мадэма (напрыклад, з большасцю гульняў) і з прыладамі, якім не патрэбны лініі кіравання мадэмам.
Калі ПЗ патрэбны менавіта мадэм і яно спраўджвае, ці ёсць сувязь, можна яго падмануць, замкнуўшы кіруючыя лініі на сваім порце (RTS+CTS; DTR+DSR+DCD). Праграма будзе лічыць, што злучэнне і апаратанае кіраванне струменем даных ёсць.
Гэты кабель толькі вырашае праблемы сумяшчальнасці, якасцю сувязі ён нічым не лепш папярэжняга: пры любой памылцы злучэння сувязь парвецца без бачнай прычыны.
У гэтым кабелі лінія RTS замкнутая на свой жа CTS і злучана з чужой DCD, а DTR — з чужой DSR. З адпаведным ПЗ такі кабель дазваляе сувязь на высокіх частотах — да 115 кілабод. Але з-за нестандартнай разводкі патрабуе адмысловае ПЗ.
Гэты кабель таксама дазваляе высокія хуткасці; менавіта гэта разводка ўказана ў табліцы і на малюнку.
Для кіравання прыладамі Cisco існавала разводка Yost, з COM-порту на 8P8C.[4] Яна цікава тым, што ў нуль-мадэмным кабелі (з 8P8C на 8P8C) кантакты обжымаюцца ў адваротным парадку: 1…8 на адным канцы з 8…1 на іншым.[5] Кабелі завадской вытворчасці часта робяць не з вітой пары, а з плоскага шлейфу і гэтым адрозніваюцца ад сеткавых патч-кордаў.
Нуль-мадэмнае злучэнне не змяшчае гальванічнай развязкі, як напрыклад Fast Ethernet. Злучэнне камп’ютараў, паміж масамі якіх маецца рознасць патэнцыялаў, можа спаліць COM-порты ці ўсю мацярынскую плату (актуальна для часоў папулярнасці ў СССР у 80-я — 90-я, калі разеткі з зазямляючым кантактам былі рэдкасцю).
Вытокавае ўжыванне нуль-мадэмнага кабеля — злучэнне двух тэрміналаў (тэлетайпаў) наўпрост без мадэма. Калі прыладам для злучэння патрэбны мадэм, а яны знаходзяцца побач, выкарыстоўваўся нуль-мадэмны кабель.
У 1980-я і 1990-я гады нуль-мадэмны кабель шырока ўжываўся як танная альтэрнатыва лакальнай сетцы: сеткавыя адаптары былі дарагія, COM-порты былі ў любога камп’ютара, а набыццё ці выраб нуль-мадэмнага кабеля абыходзіўся танна. У апошняй версіі MS-DOS у камплекце была праграма [INTERLNK](/INTERLNK "INTERLNK")
; Norton Commander мог не толькі перадаваць файлы, але і «кланаваць» сябе на іншы камп’ютар праз нуль-мадэм. Многія з DOS-гульняў таго часу (Grand Prix 2, Doom, WarCraft II, Duke Nukem 3D…) падтрымлівалі сувязь і праз COM-порты. Хуткасць — да 8 кілабайт/с — была малой нават для таго часу, але для гульняў гэта было няважна: яны першапачаткова праектаваліся пад 9600- альбо 14400-бодныя мадэмы.[6] «Кантроллер аддаленага доступу» Windows дазваляў злучэнне праз нуль-мадэм любым з даступных сеціўных пратаколаў, таму Windows-гульням досыць было падтрымліваць IPX альбо TCP/IP. З патанненнем Ethernet знікла патрэба ва ўжыванні нуль-мадэмнай сувязі для арганізацыі лакальных сетак.
Зараз нуль-мадэмная сувязь выкарыстоўваецца для адладкі ядраў АС — з-за прастаты драйверу. Гэта здольныя рабіць KGDB для Linux, ddb для BSD і WinDbg для Windows. Да таго ж сучасныя АС збудаваны так, што графічная абалонка манапольна захоплівае экран і клавіятуру — таму, калі АС «выляціць» з аварыйным экранам, адладчык не зможа іх запатрабаваць, але застанецца магчымасць перадаць аварыйныя звесткі праз кабель.
Безманіторныя прылады (камутатары, маршрутызатары, стоечныя серверы, рознага кшталту убудавальныя кантролеры) могуць адміністравацца у тым ліку і праз RS-232. У некаторых прыладах для злучэння з камп’ютарным COM-портам патрабуецца пераўтваральнік напружанняў — выдаюцца звычайныя для электронікі ТТЛ-узроўні.[7]
У Unix ёсць віртуальныя нуль-мадэмныя злучэнні (псеўдатэрмінал, pty), якія дазваляюць злучаць кансолі на розных камп’ютарах праз любы даступны канал сувязі. У DOSBox таксама ёсць эмуляцыя нуль-мадэмнага злучэння — для «паслядоўнай» гульні праз сеціва. Варта заўважыць, што гульня праз Интернет не заўсёды магчымая — часта сеткавыя падсістэмы старых гульняў разлічвалі на малы пінг.