[chirp_devel] DTR/RTS control

Dean Gibson AE7Q
Tue Apr 9 19:22:54 PDT 2013


Hardware flow control is tangentially related to my feature request 
#777.  Hardware flow control uses the RTS signal line for flow control;  
modern amateur radio cables use RTS (and/or DTR) for power:

In classical hardware flow control (classically a terminal connected to 
a modem):

 1. When the DTE (Data Terminal Equipment: eg a terminal) is powered on
    and ready to receive data, it asserts DTR (Data Terminal Ready).
 2. When the DCE (Data Communications Equipment: eg, a modem, or other
    device communicating with the terminal) is ready, it asserts DSR
    (Data Set Ready).
 3. In an actual modem configuration, when the modem has established a
    connection with a remote modem, it asserts CD (Carrier Detect). 
    Similarly, when an idle modem receives a phone call attempt, it
    asserts RI (Ring Indicate).  Depending upon the modem configuration
    and what is connected to it, the terminal may assert DTR, signalling
    the modem to answer the ringing phone line (and subsequently asserts
    CD).  While this is interesting, it is normally not a factor in the
    case at hand; I've only included it for context.
 4. Normally a terminal that is ready to send asserts RTS (Request To
    Send).  This usually stays high for the duration of the connection
    (an exception would be half-duplex modems, which is not pertinent here).
 5. Typically, modems could receive data from a terminal at a much
    higher rate than the modem could send to the remote modem, and as a
    result, had an internal buffer.  The default state of a ready modem
    was to assert CTS (clear to send).  However, if the buffer got too
    close to being full, a modem would drop CTS until it had transmitted
    (emptied) most of the transmit buffer.

Hardware flow control is #4 and #5 above.  In the modern computer world, 
where the two devices are local (or simulated as same) and there is no 
modem, the above changes slightly:

 1. DTR and DSR are asserted when the respective devices are
    functionally ready, and stay in that state until the communications
    session is over.  Eg:  A printer (DCE) asserts DSR when its power-on
    sequence in complete, until power-off.  A software communications
    program (DTE) typically asserts DTR when the program opens the
    serial connection, until it closes the connection.
 2. RTS and CTS are used for flow control, just as above.


When *SOFTWARE* flow control is used:

 1. RTS is asserted by the DTE at the same time as it asserts DTR, and
    CTS is asserted by the DCE at the same time as it asserts DSR.
 2. One or both of the devices sends X-off and X-on bytes to tell the
    other device to suspend and resume transmission, respectively.


Sometimes two DTE devices need to communicate, and a wiring change is 
made in the normally straight-through cable, so that what one DTE device 
thinks is DTR/RTS/TX, the other device sees as DSR/CTS/RX.  Such is the 
"null modem" cable.  Some manufacturers of devices don't understand this 
or related wiring issues, leading to the need for "gender changers", but 
this is not pertinent here.

One important feature of all of the above, is that each such device 
acquires its own power.

However, with most Amateur Radios, the radio cable usually does not 
bring anything except "ground" and the "TX" and "RX" data lines.  This 
is the case for all Icom radios that I am aware of, as well as and most 
handhelds from other manufacturers.  My Yaesu FT-897D is an exception;  
the serial cable provides power to its internal serial converter.

For some Icom radios (eg, the ID-880H and IC-2820H) that use the Icom 
OPC-1529R cable, it's a simple three-wire cable providing ground, TX, 
and RX.  Presumably these are at RS-232C acceptable levels (that's a 
whole different discussion).  Other cables (eg, the Yaesu one for the 
Yaesu FT-897D) have a little circuit board in the RS-232C/DB-9 shell 
that does level conversion (and needs power, except for the few radios 
where the cable provides the power).  Still other cables, like the ones 
that split out TX and RX signals from a single wire, have additional 
circuitry for that purpose.

Both of the latter cases must get their power from the DTR and/or RTS 
lines from the connected computer.  These signal lines were never 
intended to provide power, but since modern circuits draw so little 
power, using DTR and/or RTS for power doesn't create an issue if done 
correctly.

As I noted in the feature request, some cables want both DTR and RTS on, 
and use ground for the voltage reference base.  Others want RTS low and 
DTR high, and some want the reverse.




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://intrepid.danplanet.com/pipermail/chirp_devel/attachments/20130409/b9329114/attachment-0001.html 


More information about the chirp_devel mailing list