The purpose of
a null-modem cable is to permit two RS-232 "DTE" devices to communicate
with each other without modems or other communication devices (i.e.,
"DCE"s) between them.
To
achieve this, the most obvious connection is that the TD signal of
one device must be connected to the RD input of the other device (and
vice versa).
Also,
however, many DTE devices use other RS-232 pins for out-of-band (i.e.,
"hardware") flow control. One of the most common schemes is
for the DTE (the PC) to assert the RTS signal if it is ready to receive
data (yes, it DOES sound backwards, but that's how it works), and
for the DCE (the modem) to assert CTS when it is able to accept data.
By connecting the RTS pin of one DTE to the CTS pin of the other DTE,
we can simulate this handshake.
Also,
it is common convention for many DTE devices to assert the DTR signal
when they are powered on, and for many DCE devices to assert the DSR
signal when they are powered on, and to assert the CD signal when
they are connected. By connecting the DTR signal of one DTE
to both the CD and DSR inputs of the other DTE (and vice versa), we
are able to trick each DTE into thinking that it is connected to a
DCE that is powered up and online. As a general rule, the Ring
Indicate (RI) signal is not passed through a null-modem connection.
Common
Null-Modem Connection
Signal Name
|
DB-25 Pin
|
DB-9 Pin
|
|
DB-9 Pin
|
DB-25 Pin
|
|
FG (Frame Ground)
|
1
|
-
|
X
|
-
|
1
|
FG
|
TD (Transmit Data)
|
2
|
3
|
-
|
2
|
3
|
RD
|
RD (Receive Data)
|
3
|
2
|
-
|
3
|
2
|
TD
|
RTS (Request To Send)
|
4
|
7
|
-
|
8
|
5
|
CTS
|
CTS (Clear To Send)
|
5
|
8
|
-
|
7
|
4
|
RTS
|
SG (Signal Ground)
|
7
|
5
|
-
|
5
|
7
|
SG
|
DSR (Data Set Ready)
|
6
|
6
|
-
|
4
|
20
|
DTR
|
CD (Carrier Detect)
|
8
|
1
|
-
|
4
|
20
|
DTR
|
DTR (Data Terminal Ready)
|
20
|
4
|
-
|
1
|
8
|
CD
|
DTR (Data Terminal Ready)
|
20
|
4
|
-
|
6
|
6
|
DSR
|
Here's
another null-modem connection that I've seen floating around the
net. Some folks say that it's the cable that's shipped with
LapLink 4 Pro.
Signal Name
|
DB-25 Pin
|
DB-9 Pin
|
|
DB-9 Pin
|
DB-25 Pin
|
|
FG (Frame Ground)
|
1
|
-
|
X
|
-
|
1
|
FG
|
TD (Transmit Data)
|
2
|
3
|
-
|
2
|
3
|
RD
|
RD (Receive Data)
|
3
|
2
|
-
|
3
|
2
|
TD
|
RTS (Request To Send)
|
4
|
7
|
-
|
8
|
5
|
CTS
|
CTS (Clear To Send)
|
5
|
8
|
-
|
7
|
4
|
RTS
|
SG (Signal Ground)
|
7
|
5
|
-
|
5
|
7
|
SG
|
DSR (Data Set Ready)
|
6
|
6
|
-
|
4
|
20
|
DTR
|
DTR (Data Terminal Ready)
|
20
|
4
|
-
|
6
|
6
|
DSR
|
We
don't think that a null-modem cable built to the above pinout will
work quite as well, but a lot of folks appear to have success with
it. In general, it will work with some software packages,
such as those that only use RTS/CTS hardware flow control.
However, some packages that rely on the proper assertion of the
CD signal will not work with this cable.
Here's
a good set of figures for DB-25 male and female connectors, as viewed
from the pin side (not the solder side).

DB-25
Male

DB-25
Female
Here's
a good set of figures for DB-9 male and female connectors, as viewed
from the pin side (not the solder side).

DB-9
Male

DB-9
Female
The DB-25 connector
is used for a variety of purposes. Two common applications are
RS-232 (serial) connections, and the parallel printer interface on
the IBM PC. The DB-25 connector is also used for SCSI connections.
Here's
a good set of figures for DB-25 male and female connectors, as viewed
from the pin side (not the solder side).
Pins
commonly used for RS-232 (serial):
DB-25
|
DB-9
|
Signal Direction
|
Signal Name
|
1
|
|
x
|
Protective Ground
|
2
|
3
|
DTE-to-DCE
|
Transmitted Data
|
3
|
2
|
DCE-to-DTE
|
Received Data
|
4
|
7
|
DTE-to-DCE
|
Request To Send
|
5
|
8
|
DCE-to-DTE
|
Clear To Send
|
6
|
6
|
DCE-to-DTE
|
Data Set Ready
|
7
|
5
|
x
|
Signal Ground
|
8
|
1
|
DCE-to-DTE
|
Received Line Signal Detector (Carrier Detect)
|
20
|
4
|
DTE-to-DCE
|
Data Terminal Ready
|
22
|
9
|
DCE-to-DTE
|
Ring Indicator
|
Common
Null-Modem Connection
Signal
Name
|
DB-25
Pin
|
DB-9
Pin
|
|
DB-9
Pin
|
DB-25
Pin
|
|
FG (Frame Ground)
|
1
|
-
|
X
|
-
|
1
|
FG
|
TD (Transmit Data)
|
2
|
3
|
-
|
2
|
3
|
RD
|
RD (Receive Data)
|
3
|
2
|
-
|
3
|
2
|
TD
|
RTS (Request To Send)
|
4
|
7
|
-
|
8
|
5
|
CTS
|
CTS (Clear To Send)
|
5
|
8
|
-
|
7
|
4
|
RTS
|
SG (Signal Ground)
|
7
|
5
|
-
|
5
|
7
|
SG
|
DSR (Data Set Ready)
|
6
|
6
|
-
|
4
|
20
|
DTR
|
CD (Carrier Detect)
|
8
|
1
|
-
|
4
|
20
|
DTR
|
DTR (Data Terminal Ready)
|
20
|
4
|
-
|
6
|
6
|
DSR
|
DTR (Data Terminal Ready)
|
20
|
4
|
-
|
1
|
8
|
CD
|
DB-25
pins commonly used for the IBM-PC parallel port:
DB-25 Pin
|
Centronics Pin
|
Signal Description
|
Signal Direction
(at the PC)
|
Signal Function
|
1
|
1
|
STROBE
|
Output
|
Clocks data
|
2
|
2
|
DATA Bit 0
|
Output
|
Data line
|
3
|
3
|
DATA Bit 1
|
Output
|
Data line
|
4
|
4
|
DATA Bit 2
|
Output
|
Data line
|
5
|
5
|
DATA Bit 3
|
Output
|
Data line
|
6
|
6
|
DATA Bit 4
|
Output
|
Data line
|
7
|
7
|
DATA Bit 5
|
Output
|
Data line
|
8
|
8
|
DATA Bit 6
|
Output
|
Data line
|
9
|
9
|
DATA Bit 7
|
Output
|
Data line
|
10
|
10
|
ACKNLG
|
Input
|
Acknowledge receipt of data
|
11
|
11
|
BUSY
|
Input
|
Printer is busy
|
12
|
12
|
POUT
|
Input
|
Printer is out of paper
|
13
|
13
|
SEL
|
Input
|
Pinter is online
|
14
|
14
|
Auto Feed XT
|
Input
|
Autofeed
|
15
|
32
|
FAULT
|
Input
|
Indicates printer fault (or when printer is offline)
|
16
|
31
|
Input Prime or INIT
|
Output
|
Resets printer, clears printer buffer and initializes it
|
17
|
36
|
SLCT IN
|
Output
|
TTL high level
|
18-25
|
16, 17, 19-30, 33
|
Ground
|
N/A
|
Ground reference for signal pins 1-12, in most cables as twisted
pairs.
|
DB-25
pins commonly used for SCSI
At
one time, Apple used a DB25 connector for SCSI (narrow), but this
doesn't allow twisted pairs and is not compliant to SCSI standards.
Some companies like Iomega still use this connector on new devices.
Such connectors have been noted to have problems on SCSI busses using
faster devices such as UltraSCSI (Iomega itself doesn't recommend
using more than one DB25 device, but still uses it for Zip drives).
The HD50 connector is preferred.
DB-25 Pin
|
LD-50 Centronics Pin
|
Signal Description
|
Signal Function
|
1
|
49
|
REQ
|
Request
|
2
|
46
|
MSG
|
Message
|
3
|
50
|
I/O
|
Input/Output
|
4
|
45
|
RST
|
Reset
|
5
|
44
|
ACK
|
Acknowledge
|
6
|
43
|
BSY
|
Busy
|
7, 9, 14, 16, 18, 24
|
1-11, 15-25, 35, 36, 40, 42
|
GND
|
Ground
|
8
|
26
|
D0
|
Data bit 0
|
10
|
29
|
D3
|
Data bit 3
|
11
|
31
|
D5
|
Data bit 5
|
12
|
32
|
D6
|
Data bit 6
|
13
|
33
|
D7
|
Data bit 7
|
15
|
48
|
C/D
|
Command / -Data
|
17
|
41
|
ATN
|
Attention
|
19
|
47
|
SEL
|
Select
|
20
|
34
|
DP
|
Data Parity
|
21
|
27
|
D1
|
Data bit 1
|
22
|
28
|
D2
|
Data bit 2
|
23
|
30
|
D4
|
Data bit 4
|
25
|
38
|
TermPwr
|
Termination Power (+5V)
|
This page was created in 2.45953 seconds