[net.micro] long cable transmissions

cdh@bbn-unix.arpa (03/15/83)

From:  Carl D. Howe <cdh@bbn-unix.arpa>

        There's a difference between what cable lengths will work
empirically in a given application and what cable lengths will
always work.  Yes, you might be able to drive 1000 ft of cable at
9600 baud with a DZ-11 in a reasonably benign environment.  Try
that same trick in a power substation where you'll pick up a lot
of common mode noise, and it won't work AT ALL. 

Here's a quick quote from the National Semiconductor Interface Book:

"Unbalanced data transmission [which RS-232 is] isn't recommended
for long lines or fast data rates.  Unbalanced line receivers are
sensitive to common-mode noise, such as ground IR noise, and
induced reactive noise.  Unbalanced line drivers should employ
slew rate control to prevent near end crosstalk to other wires in
the cable.  Receivers should employ response control and
hysteresis.  Unbalanced data transmission was preferred because
the cabling requires only one wire/signal plus ground and the
circuits were low cost.  New lower cost circuits available today
negate the last argument.  Many old interfaces such as RS-232
will continue to exist for many years, and so will the
application for unbalanced circuits."

The RS-232 spec recommends limiting data rates to 20K baud and
cable length to 50 feet.  This isn't to say that you can't use
RS-232 over longer distances; it just says that it may not always
work.  If you want to work over longer distances, you'd be much
better off using RS-422; you'll get a lower error rate and will
be able to upgrade to much higher data rates (like a megabit or
so) without any change in hardware.  Of course, that doesn't help
much with terminals unless you are willing to put external boxes
at both ends.

One other thought:  if you need long cables and aren't going to go
over 9600 baud, use current loop!  You can get DZ's that speak current
loop and they will work over very long distances just fine with
much less danger of picking up noise.

Carl