______________________________________________________
 
Understanding RS422 and RS485
________________________________________________________
 
Those familiar with RS232 will know that the standard
defines how RS232 lines should  be driven electrically:
what they are called, what information they carry and
even the connectors and pin numbers to use (see
<span style="color: #990099;">[[http://www.windmill.co.uk/wiring.html]]</span> if you are
interested in details of the RS232 standard).  RS422
and RS485, by contrast, define only the electrical
characteristics of the driver.
 
Advantages or RS485 and RS422
=============================
RS485 and RS422 drive lines in a differential fashion:
two wires are required for each signal.  If you wish to
transmit four signals then eight wires are needed.  The
figure below shows a single RS485 / RS422 signal being
transmitted. To transmit a logic 1, line B is high and
line A is low.  To transmit a logic 0, line B is low and
line A is high.  The advantage of this arrangement is
that signals can be transmitted faster and over greater
distances than is possible with a single wire.
 
</span>
external image rs4851.gif
<span style="font-family: 'courier new'; font-size: 10pt;">
Diffences Between RS422 and RS485
=================================
In both RS422 and RS485, one driver can drive many
receivers. In RS485 each driver can be switched off
allowing multiple units to send data over a single
pair of wires. This is not possible in RS422. This
extra feature causes extra problems for RS485 units.
Other differences are small so hereafter I will refer
to units as RS485 but the remarks apply to RS422 also.
Interface units often describe themselves as RS422/RS485
because a RS485 unit which is not using its extra
capability is RS422 compatible.
 
When instruments are described as having an RS485 interface
this tells you nothing for sure about the signals being
transmitted. Usually though only the Transmit Data (TX)
and Receive Data (RX) of a normal serial port are converted
to RS485 or RS422. The other signals of the serial port are
not used. Three arrangements are commonplace: Write only,
4-wire (full duplex) and 2-wire (half duplex).
 
Write Only System: Sending Data Only
====================================
In this arrangement the computer sends data out over a
single RS485 pair of wires to many instruments. It never
reads any data back. An example of this is the remote
control of  CCTV cameras. The operator can send out
messages to move the camera. His feedback is the TV
picture so no return data is needed. This requires
only conversion of the RS232 TX signal to RS485.
 
Full Duplex System: Sending and Receiving Data over 4 Wires
===========================================================
Full Duplex means that data can pass simultaneously
both to and from the instruments. This requires
4 wires - one pair to Transmit and one pair to
Receive.  The computer alone controls the TX
transmit line. It sends out a message which includes
an Address. The addressed instrument alone replies by
driving the RX line.
 
This does mean that all the connected instruments must
use the same software protocol - otherwise there will
be confusion as to which instrument is being addressed.
A simple conversion of RS232 to RS485 will suffice
for this arrangement and no special demands are
made on general purpose software such as ComDebug.
 
</span>
external image rs4852.gif
<span style="font-family: 'courier new'; font-size: 10pt;">
Half Duplex System: Sending and Receiving Data over 2 Wires
===========================================================
Half Duplex means that data can only pass in one
direction at a time. In this arrangement both TX
and RX signals share a single pair of wires.  This
can save in installation costs.
 
The computer drives the lines to send out its
request message but must turn its driver off to
allow the instrument to reply.  This is the tricky
bit.  Many RS232-to-RS485 converters recruit the
RTS line of the serial port to switch the
RS485 driver On and Off.  However Windows has never
made more than a half hearted attempt to support
such an arrangement.
 
The multi-tasking nature of Windows means that it
is always difficult to make actions occur at exact
times - in this case there can be a significant
delay between the request being sent out and the
driver being switched off. If the instrument starts
its reply before the switch-off then the start of
the reply will be missed. Instrument manufacturers
are forced to find their own solutions to this
problem. This may include special software, special
hardware or both.
 
In recent years most Serial Ports have been
implemented as USB-to-Serial arrangements.  These
units always include a microprocessor and this can
perform the task of controlling the RS485 driver
very well. If you need to implement a 2-wire
RS485 system you should always obtain a USB-to-RS485
converter that advertises this special feature.  An
example type that we use is Moxa 1130.  This unit
automatically switches off the driver when there
is no more data to send. Such a unit can work
with general purpose software such as ComDebug or
HyperTerminal. Beware though that it may not work
with the special software supplied by instrument
manufacturers which may assume a particular RS232-
to-RS485 converter and may produce errors when
used with any other unit.
 
</span>
external image rs4853.gif
<span style="font-family: 'courier new'; font-size: 10pt;">
Preventing Voltage Reflection
=============================
When a signal is sent down a cable there is always
a reflection voltage which returns up the cable.
This reflection is bigger as signals' edges get
faster and lines get longer.  It can be minimised
by terminating the ends of the line with the
characteristic impedance of the system.  This is
120 ohm for RS485.
 
How to Arrange the RS485 Wires
==============================
Ideally an RS485 system consists of a single
linear cable (no branches) with 120 ohm resistors
connected across the 2 wires at each end of the
cable.
 
RS485 can handle speeds of over 10 Mbits per
second and line lengths of over 1 km.  If you
are operating anywhere near these values you must
arrange your wiring close to the ideal.
 
For many applications where baud rates are slow
(say 9600 baud), and lines are only tens of meters
long, this is not essential. The wiring requirements
can then be relaxed to allow cables to run in star
arrangement from the computer and the terminating
resistors become optional.
 
Line Pull Ups: Avoiding Serial Errors
=====================================
In many RS485 multidrop systems there are times
when no unit is driving the RS485 lines. They can
then go to any voltage and may produce serial errors.
To avoid this it is often necessary to fit resistors
which pull one line high and the other line low putting
the line into the passive state. The RS485 converters
usually include such resistors which can be connected
if needed.
 
Signal Names: Caution Required
==============================
You will find that your RS485 signal names for a line
pair are either A,B or +,-. In an ideal world you would
simply connect A on the computer to A on the instrument.
However these names are not consistently applied by
manufacturers and you may need to connect A on the
computer to B on the instrument.</span>