Usage of DTR, DSR and DCD

ttus00000057.gif

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):