Manual

Appendix F 16-1
16 Appendix F Choosing a Handshake
The decision about which handshake to use for a particular application must be based on a
number of factors. Asymtek can only make general recommendations; the final decision
must be made by the customer. If your host computer's application or driver ("BIOS")
software already supports one type of handshake, the decision may be easy to make. Also, if
you decide to use Asymtek's programming software, you do not need to make this decision.
From a software point of view, the Hardwired DTR handshake is the simplest to implement
and the most reliable. This reliability stems from the fact that a noise glitch on the DTR line
may cause a small speedup or slowdown of character transmission rate, but the Automove
input buffer soaks up the difference since the buffer typically has room for several more
characters at the time DTR goes False. The Xon/Xoff and Enq/Ack handshakes, on the other
hand, fail catastrophically if a noise glitch renders a handshake character unrecognizable.
(Software I/O timeouts within the host can provide recovery from some of these failures, but
are messy to implement.)
The DTR handshake requires that the host RS-232C interface hardware or software be able
to detect the state of some input signal; for example, Clear To Send. This signal, via cable
wiring, is electrically connected to the Automove System's DTR (Data Terminal Ready)
output. Thus, the DTR handshake precludes the use of a modem or a simple 3-wire
RS-232C cable.
The host must be able to postpone data transmission while the DTR signal is False (Low).
Some host RS-232C interfaces may have this ability built into the hardware. This
postponement must not interfere with anything else that is going on within the host (parallel
processes, for example).
If for some reason the DTR handshake cannot be used or if electrical noise is not a problem,
the next best choice is probably the Xon/Xoff handshake. This handshake works well with
either interrupt-driven or non-interrupt host software. It does not require the host to "chunk"
the data or to know in advance how big the chunks will be (as does the Enq/Ack handshake).
Xon/Xoff does not consume a lot of host processor time or a lot of data transmission time.
Finally, Xon/Xoff requires only 3 pins to be wired on the RS-232C connector: Transmitted
Data, Received Data, and Signal Ground.
SAFETY, SHIELDING, AND GROUNDING CONSIDERATIONS
MAY REQUIRE OTHER CONNECTOR PINS TO BE WIRED.
ASYMTEK IS NOT RESPONSIBLE FOR THE WIRING OF ANY
CABLE NOT MANUFACTURED BY ASYMTEK.
Some existing RS-232C cables may work with Xon/Xoff even though they do not work with
Hardwired DTR.
The Enq/Ack handshake has most of the same advantages as Xon/Xoff but requires the host
to separate the data into chunks (or blocks) of known maximum size. If this block size is set
too small (for example, one character), excess handshake "chatter" degrades throughput.