Сперва несколько сокращений:
UART Universal Asyncronous Receiver Transiver
CRC Cyclical Redundancy Check
LCD Luquid Cristal Display - Жидкокристаллический дисплей
LED Light Emitting Diode - Светодиод
DTE Data Terminal Equipment - Компьютер, терминал
DCE Data Communication Equipment - Модем
Кабели: Модемный (прямой) - соединяет DTE с DCE (Host-модем)
Нуль-модемный(перевернутый) - соединяет DTE с DTE (Host-Host)
Стандартная PC имеет два последовательных порта RS-232C:
COM1 - 9 pin папа, COM2 - 25 pin папа. Внешний модем имеет пос-
ледовательный порт 25 мама. Для подключения модема используют-
ся два вида кабелей:
Host/DTE(9мама) >---> Модем/DCE(25папа)
Host/DTE(25мама) >---> Модем/DCE(25папа)
папа мама папа
123..5 DB-9 DB-25
67.9 54.321 123...13
мама папа 9876 14..25
DTE(Host) DCE(Модем)
DB9 DB25 | DB-25 Signal
---------+------------------------------------------
1 8 <--- 8 CD Carrier Detect "Модем: соединен"
2 3 <--- 3 RxD Receive Data
3 2 ---> 2 TxD Transmit Data
4 20 ---> 20 DTR DТЕ Ready "Host: включен"
5 7 7 Signal ground
6 6 <--- 6 DSR Data Set Ready "Модем: включен"
7 4 ---> 4 RTS Request To Send "Host: я готов"
8 5 <--- 5 CTS Clear To Send "Модем: я готов"
9 22 <--- 22 RI Ring Indicator "Модем: нам звонят"
В случае кабеля 25 на 25 все устроено очень просто: все сигналы
идут напрямую - один в один.
1 7
2 20
3 2
4 3
5 8
6 22
7 5
8 4
9 6
Распай нуль-модемного кабеля.
Host/DTE(25мама) >---< Терминал/DCE(25мама)
Host/DTE(9мама) >---< Терминал/DCE(25мама)
Идея 1: все "симметричные" сигналы перекидываем крест-накрест.
TXD-RXD, DTR-(DSR,CD), CTS-RTS, GND-GND
Идея 2: Готов/Готов замыкаем на самом порту, и экономим провод.
Если достаточно обнаглеть, то нам хватит 3 проводов.
Если длина шнура приличная (больше нескольких метров),
настоятельно рекомендуется использовать 4 провода - 2 витые
пары, по одному земляному проводу в каждой. Кроме того,
экономия проводов приведет к тому, что не будет работать Hard-
ware Flow Control (DTR/DSR), придется пользовать Software
(XON/XOFF).
Фактически: 2 провода TxD на RxD, и третий - сигнальная земля.
Локально, на самом порту замыкаем RTS-CTS, DSR-DTR и все это на
DCD/DTR.
Host Мама Мама Терминал
Signal DB9 DB25 | | DB25 DB9 Signal
-----+----+-----+----------+-----+-------------------
CD 1 8 <-+- - - - 20* 4 DTR
DSR 6 6 <-+ +-- 6 6 DSR
DTR 4 20 - - - -+-> 8 1 CD
GND 5 7 ========== 7 5 GND
RxD 2 3 <========= 2 3 TxD
TxD 3 2 =========> 3 2 RxD
RTS 7 4 ---------> 5 8 CTS
CTS 8 5 <--------- 4 7 RTS
RI 9* 22* 22* 9 RI
Примечание: * Пин не используется;
--- Без провода вполне можно обойтись
если не нужен Hardware Flow Control;
- - Без провода точно можно обойтись.
Альтернативная картинка урезанного нуль-модема
CD -<-+ +->- CD
DSR -<-* *->- DSR
DTR ->-+ +-<- DTR
GND ------------ GND
RXD ------<----- TXD
TXD ------>----- RXD
RTS ->-+ +-<- RTS
CTS -<-+ +->- CTS
Виды коннекторов
RJ-11 4pin 2-х проводной кабель для импортных телефонов;
RJ-8 8pin 2-х или 4-х проводная выделенная линия;
RJ-45 8pin витая пара(Ethernet twisted pair) и RS-232;
Распай нуль-принтерного кабеля "Laplink".
Распай кабеля под PLIP совпадает с тем, что используется широко
известными коммуникационными программами pc-pc для MSDOS, и на-
зывается "Laplink". 25папа <---> 25папа
Pin Name Connect pin - pin
--------- -------------------------------
GROUND 25 - 25
D0 ->ERROR 2 - 15
ERROR ->D0 15 - 2
D1 ->SLCT 3 - 13
SLCT ->D1 13 - 3
D2 ->PAPOUT 4 - 12
PAPOUT ->D2 12 - 4
D3 ->ACK 5 - 10
ACK ->D3 10 - 5
D4 ->BUSY 6 - 11
BUSY ->D4 11 - 6
D5 7*
D6 8*
D7 9*
STROBE ? 1*
FEED ? 14*
INIT ? 16*
SLCTIN ? 17*
ЗАМЕЧАНИЕ: Пины, помеченные "*" не подключать.
Etxra grounds are 18,19,20,21,22,23, and 24.
If the cable you are using has a metallic shield, it should be
connected to the metallic DB-25 shell at one end only.
ВНИМАНИЕ: Говорят, что неправильно запаянный "Laplink" кабель
может "сжечь" принтерный порт, и вообще весь
контроллер ввода-вывода. Не может. Там только обычные
TTL или CMOS входы/выходы, к тому же с ограничителями.
Хотя кабеля все равно паять надо правильно.
Физический протокол RS-232/V.24 и сигнал Break
Состояния линии RS232:
mark = logical 1 = negative voltage between -3 and -12V
space = logical 0 = positive voltage between +3 and +12V
В нормальном "холостом" состоянии на линии стоит "mark".
Нормальный асинхронный символ состоит из:
Start bit (space)
7 or 8 data bits (marks or spaces)
an optional parity bit
1, 1.5 or 2 stop bits (mark)
BREAK определяется как длительное состояние (space) заведомо
превосходящее по длительности любой асинхронный символ. (Обычно 125ms to
500ms).
При включении/выключении DTE, а так же при выдергивании/вставлении
кабеля возможен всплеск напряжения, который будет воспринят как BREAK
Безголовые Sun и выключение консоля
Чтобы вызвать boot-монитор с алфавитного консоля, нажмите
на нем клавишу BREAK ( На терминале vt220 BREAK - это клавиша
F5).
Выключать алфавитно-цифровой консоль на Sun-сервере
нельзя - при этом терминал генерит сигнал BREAK, и Sun
переходит в останов в boot-мониторе.
У этой проблемы существует три довольно кривых решения описанных на
http://www.cisco.com/warp/public/770/fn-tsbreak.html
Заказать у Сун новый дравер, который умеет обрабатывать сигнал BREAK
Order a modified TTY driver from Sun that defeats the interpretation of
the BREAK signal. This driver allows you to re-map the BREAK character
to any custom setting, and does not prohibit the use of L1-A directly from the
master workstation keyboard. The driver part number from Sun is "CONSULT-ZSBRK".
Установить адаптер цонсольного порта игнорирующий сигнал BREAK
A model NUD4273 "non-aborting serial console adapter" from NUData will prevent the
BREAK signal from ever reaching the console port. The devices cost about $89 USD each.
They can be purchaed through Micro Warehouse at http://www.warehouse.com.
"Soldering Iron" - поставить резистор на кабель и ликвидировать этим BREAK напрочь
If you tie a 4.7K resistor between pins 3 and 25 of the ttya port,
you electrically prevent a BREAK signal either from the key or from disconnecting
or powering down the terminal. This prevents intentional halts except by removing
the resistor, but does allow recabling.
Last-modified: Mon, 16 Sep 2002 12:40:44 GMT