Usage of DTR, DSR and DCD
If the voltage on pin 20 drops, it tells the modem that the computer is unable
to continue transmission, perhaps because it is down. The modem will hang up
the phone if a call is in progress. If the voltage on pin 8 drops, it tells the
computer that the modem no longer has a connection. In both cases, these pins
give a simple yes/no report on the state of the transmission. This form of
handshaking is sometimes referred to as modem control.
There is a further level of handshaking that is used to control the rate of
data transmission. When transmitting large amounts of data at high speed, it is
possible that one end of a link may try to send data faster than the other can
receive it. To keep this from happening, there is a flow-control handshake that
allows either end to prevent the other from sending any more data until it gets
the go-ahead.
When a DTE device is ready to send data, it asserts pin 4 (Request to Send or
RTS). If the DCE is ready to receive it, it gives the go ahead by asserting pin
5 (Clear to Send or CTS). Data transmission then begins. If the voltage on CTS
drops at any time, this tells the sending system that the receiver isn’t ready for more data. Since this flow control handshake is implemented in the
serial port hardware, it is considerably more efficient and reliable than the
CTRL S/CTRL Q (XON/XOFF) handshake that can be performed in software.
If both types of handshaking are used, the entire conversation between
computer and modem might look like this (where a plus sign signifies raising the
voltage on the line, and a minus sign signifies dropping the voltage):