[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