分类:
2006-12-31 10:50:55
Null Modem Cable
After all, isn't this why you came to this site?
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 |
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 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
If you're using a serial cable or null-modem cable for local serial connectivity or for modem replacement, you might consider looking at the ™ network connectivity solutions. You can use Traversix ethernet-to-serial connectivity products to connect to serial-enabled devices over the Internet, even (especially) when those devices are located behind a third-party firewall.