karn@faline.bellcore.com (Phil R. Karn) (08/16/87)
Remember HALF DUPLEX modems, modems that occupy the entire voice band so they have to be switched between transmit and receive just like two-way radios? Most are the really old clunkers like the Bell 202, now heavily used in amateur packet radio. However there are also some relatively new clunkers like the CCITT V.29. V.29 is now used with a whole slew of mutually incompatible "error control units" that attempt to provide the illusion of having a 9600 full duplex modem. Well, the purpose of the RTS (Request-to-Send) and CTS (Clear-to-Send) lines in the RS-232 interface is the control of these half-duplex modems. When the terminal wants to transmit, it asserts RTS; some time later, after it has had time to bring up the transmit carrier, the modem returns CTS. When the terminal is done, it drops RTS and the modem in turn drops CTS. This is the formal definition of RTS/CTS; they have nothing to do with flow control in the spec. Technically speaking, there *is* a form of flow control in the RS-232 spec: the clock ("signal element timing") lines. Synchronous modems provide clocks to the terminal for both transmit and receive; the terminal doesn't have to be set to any particular speed. If the modem wants the terminal to slow down (e.g., if it enters a fallback mode), it simply reduces the transmit clock speed. Of course, this isn't particularly useful with asynchronous interfaces. Phil