[comp.dcom.modems] Modems & CTS

Lance_C_Norskog@cup.portal.com (12/20/89)

Hello,

I have a question about modem standards and industry practices.
How is CTS (hardware flow control) implemented?  The old Bell 300/1200
modems implemented this via separate tones.  Has a separate channel
for CTS/DTS signaling made it into the subsequent modem standards?
Do smart modems implement it and operate properly?

I'm interested particularly in using CTS/DTS for signaling to the remote
end of a modem session, with no relevance to flow control.  Can this be done?

Lance Norskog
thinman@cup.portal.com

dave@dlb.uucp (Dave Buck) (12/21/89)

In article <25213@cup.portal.com> Lance_C_Norskog@cup.portal.com writes:
>I have a question about modem standards and industry practices.
>How is CTS (hardware flow control) implemented?  The old Bell 300/1200
>modems implemented this via separate tones.  Has a separate channel
>for CTS/DTS signaling made it into the subsequent modem standards?
>Do smart modems implement it and operate properly?

Um, 'fraid you are lost.  CTS is a signal from the modem (DCE) to the
terminal or computer or whatever (DTE), raised in response to the RTS
signal.  It can be interpreted as follows:  RTS is raised by the DTE to
indicate that it wishes to send, and that the modem should thus place a
carrier on the line.  The modem raises CTS to indicate that it has done so,
and that enough time has passed for the carrier to have reached the other
end of the line and hit the echo suppressors on the circuit.  The delay
between RTS and CTS is often 'strapped' in the modem at a fixed delay, usually
in the range 0-8 msec for "local" calls, perhaps 100 msec for long distance,
and 250 msec or so for a link that might go over a satellite link.

Since the DTE isn't to begin transmitting until CTS goes high, many DTEs have
a hardware or software implementation that holds off transmitting data when
CTS is low.  Thus, CTS can often be used as a flow-control handshake between
the DTE and the other device.  For direct connect of printers to computers,
for example, with the printer acting as a DTE, it could drop CTS when it
wished to stop the computer from further printing (temporarily).  Local
connection flow control mechanisms vary greatly, but CTS is a common hardware
mechanism.  For modems that do some local buffering of data, such as the
well-known Trailblazer, CTS can be used to stop the DTE from transmitting
more data for the moment.

W.R.T. "CTS/DTS", I suspect you mean RTS/CTS.

Just to give a bit of the air of authority to my remarks, let me paraphrase
from the Bell System Technical Reference manuals for modems, in particular the
Data Set 212A (old 1200 baud) Interface Specification, though the specs are
representative.

	An ON condition of the CTS circuit indicates to the DTE
	that the modem will transmit data on the TxD circuit.
	If CTS is off, the modem will ignore TxD.

>I'm interested particularly in using CTS/DTS for signaling to the remote
>end of a modem session, with no relevance to flow control.  Can this be done?

Generally, no.  Some older modems, such as Bell's 202, have a "reverse channel"
which is a separate carrier ... the modem is half-duplex, with most of the data
flow on the primary carrier, going in one direction, and the reverse channel is
a carrier in the opposite direction.  Not commonly found on today's modems.

>Lance Norskog
>thinman@cup.portal.com
-- 
Dave Buck	{amdahl,sun,megatest,plx,ardent,ubvax}!dlb!dave
D. L. Buck and Associates, Inc.; San Jose, California 95119; (408)972-2825

casey@gauss.llnl.gov (Casey Leedom) (12/21/89)

| From: dave@dlb.UUCP (Dave Buck)
| 
| [Long description of how RTS/CTS are supposed to be used ``officially'']

Dave,
  I believe that Lance was referring to the popular, but non-standard,
use of RTS/CTS for FULL DUPLEX flow control.  In this scheme, the DTE
(terminal or computer) raises RTS when it is able to receive data and the
DCE (modem) raises CTS when it is able to receive data.  This scheme has
become so popular it has become a de facto industry standard.

  Note again that this is non-standard, but I don't believe that it
causes many problems with the definitions of the signals as you stated
them because, as far as I know, RTS and CTS are for HALF DUPLEX
communications.  Thus all that has been done is to define meanings to RTS
and CTS for FULL DUPLEX communications.

  If I'm talking out of my hat, someone please correct me.  Flames
welcome.  This is something I should have a sounder base in.

Casey

dave@dlb.uucp (Dave Buck) (12/23/89)

In <25213@cup.portal.com>, Lance_C_Norskog@cup.portal.com asked:
> I have a question about modem standards and industry practices.
> How is CTS (hardware flow control) implemented?  The old Bell 300/1200
> modems implemented this via separate tones.  Has a separate channel
> for CTS/DTS signaling made it into the subsequent modem standards?

And I replied, rather long-windedly, in <1989Dec20.185317.19518@dlb.uucp>:
> Um, 'fraid you are lost.  CTS is a signal from the modem (DCE) to the
> terminal or computer or whatever (DTE), raised in response to the RTS
> signal.  It can be interpreted as follows: ... (my drivel deleted) ...

I did jump on his reference to the Bell 300/1200 baud modems, with:
> Just to give a bit of the air of authority to my remarks, let me paraphrase
> from the Bell System Technical Reference manuals for modems, in particular the
> Data Set 212A (old 1200 baud) Interface Specification, though the specs are
> representative.

Then, casey@gauss.llnl.gov (Casey Leedom) said in <42123@lll-winken.LLNL.GOV>:
> I believe that Lance was referring to the popular, but non-standard,
> use of RTS/CTS for FULL DUPLEX flow control.  In this scheme, the DTE
> (terminal or computer) raises RTS when it is able to receive data and the
> DCE (modem) raises CTS when it is able to receive data.  This scheme has
> become so popular it has become a de facto industry standard.
Quite so.  A trailblazer option, for example.  Sorry, I was thinking of only
half the issue when I wrote my response.

While I was creating my response, I had a typo, pointed out by Peter M. Weiss
(PMW1@PSUADMIN):
>for example, with the printer acting as a DTE, it could drop CTS when it
					   ^^^ should be DCE, and of course
there's all kinds of pinouts, I'm not going to give a treatise on that!

Back to Lance's original question:
>I'm interested particularly in using CTS/DTS for signaling to the remote
>end of a modem session, with no relevance to flow control.  Can this be done?
I stick with the answer, "no".  CTS is not an end-to-end signal, but a local
convention with the modem, and is sometimes used for flow-control, but not for
signalling to the remote end.
-- 
Dave Buck	{amdahl,sun,megatest,plx,ardent,ubvax}!dlb!dave
D. L. Buck and Associates, Inc.; San Jose, California 95119; (408)972-2825

Lance_C_Norskog@cup.portal.com (12/28/89)

Ok, I'll accept that CTS/RTS signaling is a local convention between
the computer and the modem.  Now, tell me this: MNP modems implement
compression and error detection, which suggests that there is a two-way
protocol between two MNP modems independent of the user-level data that
they send to each other.  Does this protocol implement flow control also?
That is, if you drop your ?TS signal to an MNP modem, won't it eventually
inhibit sends from the other modem, and won't that eventually inhibit sends
from the other computer?  (Where the other modem and the other computer have
been set up to do ?TS or ^S^Q flow control.  Just because your end does
?TS doesn't mean the other end does!)

Lance Norskog