What is a Null Modem Cable?
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.
The common Null-Modem Connection pinouts:
| 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 |
Personally, I 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 another set of tables depicting pinouts for null modem cables:
|
Nullmodem Cable 9pin D-Sub to 9pin D-Sub
|
|
D-Sub 1, female
|
D-Sub 2, female
|
|
2
|
Receive Data
|
3
|
Transmit Data
|
| 3 |
Transmit Data |
2 |
Receive Data |
|
4
|
Data Terminal Ready
|
6+1
|
Data Set Ready + Carrier Detect
|
|
5
|
System Ground
|
5
|
System Ground
|
|
6+1
|
Data Set Ready + Carrier Detect
|
4
|
Data Terminal Ready
|
|
7
|
Request to Send
|
8
|
Clear to Send
|
|
8
|
Clear to Send
|
7
|
Request to Send
|
|
Nullmodem Cable 25pin D-Sub to 25pin D-Sub
|
|
D-Sub 1, female
|
D-Sub 2, female
|
|
2
|
Transmit Data
|
3
|
Receive Data
|
|
3
|
Receive Data
|
2
|
Transmit Data
|
|
4
|
Request to Send
|
5
|
Clear to Send
|
|
5
|
Clear to Send
|
4
|
Request to Send
|
|
6+8
|
Data Set Ready + Carrier Detect
|
20
|
Data Terminal Ready
|
|
7
|
GND
|
7
|
GND
|
|
20
|
Data Terminal Ready
|
6+8
|
Data Set Ready + Carrier Detect
|
Figure 1 - DB25 male and female connectors, as viewed
from the pin side (not the solder side):
DB-25 Male
|
DB-25 Female
|
Figure 2 - for DB9 male and female connectors, as viewed
from the pin side (not the solder side):
DB-9 Male
|
DB-9 Female
|
|