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 Lap Link 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 |
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) |