The Use of RTS/CTS Signals in Modem Communication
The following describes the use of RS-232 RTS/CTS (pins 4 & 5) use in modem communication as it applies also on Half-duplex modem-to-modem communication and also on flow control between modem and PC (DCE & DTE).
I How is data sent from DTE:
1- When the DTE has data to send and is ready to send it, it will raise voltage on pin number 4 in the RS-232 cable that connects it to the modem.
2- Pin number 4 is the signal for RTS (Request to Send) which means that the DTE is asking the DCE if it is ok for it to send.
3- The DCE (modem) will check to see if everything is ok to send data.
4- When it is ok, the DCE will raise voltage on pin number 5 on the same cable, and will start generating a carrier wave on the dial-up line.
5- Pin number 5 is the signal for CTS (clear to send), which means that it is ok for the DTE to send.
6- Now the DTE will start pumping data into the DCE for transmission on the dial-up line as long as the DCE is holding high voltage on Pin 5 (data will go into the buffer memory of the modem for transmission).
7- Now if the DTE drops RTS, it means that it does not have any more data to send, so transmission will stop.
8- Also, the DCE can stop transmission if it drops CTS, which means that it is not ok for the DTE to pump in more data, at this point DTE will stop and wait, going back to step number 3 above.
II Turnaround in Half-Duplex circuits:
1- Suppose that the above steps are being executed and the sender is sending data from its end to the receiver. When can the receiver switch roles and become sender?
2- For the receiver to become sender, the sender must finish its transmission, the DTE at the sender end will drop RTS and so will its modem drop CTS and stop generating a carrier wave.
3- Now the DTE at the receiver end will raise RTS requesting its DCE for transmission and we go back to step 3 in section I above.
4- Now the receiver became the sender and vice versa, this is called Turnaround.
III Hardware Flow Control for Modems:
1- Suppose that we are using continuous or selective ARQ for error correction, in this case the modem is always maintaining a buffer memory for temporary storage of data blocks that it sends.
2- But as we all know, memory is always limited in size, so there should be a limit of how many data blocks the modem can take from the DTE for transmission on the dial-up line (refer to step 6 in section I above)
3- How can the DCE (modem) inform the DTE (PC) when to stop pumping data into the buffer memory and when to resume? (this is called Buffer Memory Management or Flow Control).
4- By dropping its CTS signal (as in step 8 above in section I), the modem can stop the PC from sending more blocks into the buffer memory.
5- And when there is enough space in the buffer memory, the modem will raise CTS again allowing the PC to pump in more blocks.
6- Thus controlling the flow of data in and out of the buffer memory, thatís why it is called Flow Control.