Copyright © 2017, Assoc.Prof.Dr.
Vo Tuong Quan
INTRODUCTION TO RS – 485 STANDARD
OVERVIEW -
RS-485 is a solution for applications that need to communicate
over longer distances or at higher speeds than RS-232 can
handle. RS-485 also isn’t limited to two devices. An RS-485
network can connect as many as 256 computers or
devices/Nodes along a single pair of wires.
RS-485 has several advantages over RS-232:
Low cost. The drivers and receivers are inexpensive and
require just a single +5V (or lower) supply to generate the
required minimum 1.5V difference at the differential outputs.
In contrast, RS-232’s minimum output swing of ±5V requires
dual supplies or expensive interface chips to generate the
voltages.
Networking ability. Instead of being limited to two devices,
RS-485 is a multidrop interface that can have multiple drivers
and receivers. With high-impedance receivers, an RS-485
network can have up to 256 nodes.
Long links. An RS-485 cable can be as long as 4000 ft
(1219m) compared to RS-232’s typical limit of 50 to 130 ft.
1
Copyright © 2017, Assoc.Prof.Dr. Vo Tuong Quan
Speed. The bit rate can be as high as 10 Mbps.
The cable length and bit rate are related. Lower bit rates
allow longer cables.
SPECIFICATION
The main reason why RS-485 can transmit over long distances
is its use of balanced lines, which have excellent noise
immunity. Each signal has a dedicated pair of wires. The
voltage on one wire equals the negative, or complement, of the
voltage on the other wire. The receiver detects the difference
between the voltages.
VOLTAGE REQUIREMENT
RS-485 interfaces typically use a single power supply of 3.3V or
5V, but the logic levels at the drivers and receivers differ from
the voltages used by 3.3/5V TTL/CMOS logic chips. For a valid
output, the difference between outputs A and B must be at least
1.5V.
SPEED OF COMMUNICATION
An RS-485 line can have a bit rate as fast as 10 Mbps or as
long as 4000 ft (about 1219m) but not both at the same time.
Longer cables require slower bit rates because the cable’s
capacitance slows the signal transitions.
2
Copyright © 2017, Assoc.Prof.Dr. Vo Tuong Quan
Fig. 1 RS485 supports up to 10Mbps but the higher bit rate
require shorter cable.
BALANCE AND UNBALANCE LINE
The main reason why RS-485 can transmit over long distances
is its use of balanced lines, which have excellent noise
immunity. Each signal has a dedicated pair of wires. The
voltage on one wire equals the negative, or complement, of the
voltage on the other wire. The receiver detects the difference
between the voltages. TIA-485-A designates the two lines in a
differential pair as A and B.
3
Copyright © 2017, Assoc.Prof.Dr. Vo Tuong Quan
At a typical RS-485 driver, a TTL logic-high input brings line A
more positive than line B, while a TTL logic-low input brings
line B more positive than line A. At the RS-485 receiver, if input
A is more positive than input B, the TTL output is logic high,
and if input B is more positive than input A, the TTL output is
logic low.
Referenced to the receiver’s ground, each input must be within
the range -7V to +12V. This range allows for differences in
ground potential between the driver and receiver. The
maximum allowed differential voltage, or the difference
between the voltages on line A and line B, is ±6V.
Balanced lines are quiet because the two signal wires carry
nearly equal but opposite currents. The currents reduce
received noise because most noise is present more or less
equally on both wires, and any noise voltage that shows up on
one line is canceled by an identical voltage on the other. The
source of noise can be signals on other wires in the cable or
signals that couple into the wires from outside the cable. A
balanced receiver sees only the transmitted signal with noise
eliminated or very much reduced.
4
Copyright © 2017, Assoc.Prof.Dr. Vo Tuong Quan
In contrast, in an unbalanced interface, the receiver detects the
voltage difference between the signal wire and ground. When
multiple signals share a ground wire, each of the return
currents induces voltages on the ground shared by all.
Parallel interfaces can have eight or more lines switching
constantly, and even serial interfaces often have two data lines
and multiple status and control signals.
If the ground connects to an earth ground, noise from other
sources can affect the circuits as well.
Another advantage to balanced lines is that they are immune,
within limits, to differences in ground potential between the
driver and receiver. In a long cable, the grounds at the driver
and receiver may vary by many volts. On an unbalanced
line, ground differences can cause a receiver to misread an
input. A balanced line can ignore mismatched grounds (up to a
limit) because the receiver is detecting the difference between
the two transmitted signals.
5
Copyright © 2017, Assoc.Prof.Dr. Vo Tuong Quan
Fig. 2 An unbalanced line uses one wire per signal while a
balanced line uses two wires per signal. Both types of line must
have a common ground reference
INTERFACING
Interface chips are available to convert between TTL/CMOS and
RS-485 logic levels. RS-232 interfaces can also be converted to
RS-485.
6
Copyright © 2017, Assoc.Prof.Dr. Vo Tuong Quan
SN75176B is a chip that contains a single RS-485 transceiver. A
driver converts a TTL/CMOS voltage at DI to an RS-485
differential voltage, and a receiver converts an RS-485
differential voltage to a TTL/CMOS-compatible voltage at RO.
The driver and receiver each have an enable input. The Texas
Instruments SN75176B is an early chip that used this
configuration and pinout.
CONVERTING VOLTAGE
The asynchronous serial port on a microcontroller can use 3.3V
CMOS or 5V TTL/CMOS logic levels. There are several ways to
convert between 3.3/5V logic and RS-485.
Full duplex
Most RS-485 lines are half-duplex, where multiple drivers and
receivers share a signal path. But you can also use RS-485 in a
full-duplex line, where each direction has its own signal path.
As long as you include any required flow-control signals in the
interface, you can swap an RS-232 line for a full-duplex RS-
485 with no changes to the software or firmware that uses the
interface. Both can use the same programming, though RS-485
supports higher bit rates and the hardware allows longer cables.
7
Copyright © 2017, Assoc.Prof.Dr. Vo Tuong Quan
For a full-duplex line, you can use the Texas Instruments
SN75179B or similar chips. The SN75179B contains a driver
that translates 5V TTL signals to RS-485 and a receiver that
translates RS-485 back to 5V TTL.
This chip is a solution when you want to create a long-distance,
full-duplex link between microcontrollers. The RS-485
interface chips are smaller and cheaper than RS-232 interface
chips. Example in Fig. 3.
Fig. 3 A full-duplex RS-485 circuit provides a data path for
each direction
Figure 4 below shows how to use multiple drivers and receivers
in full-duplex communications. One arrangement is in a
primary/secondary network, where a primary computer (Node 0
in the figure) has control of the network and grants the
secondary computers (Nodes 1 and higher) permission to
8
Copyright © 2017, Assoc.Prof.Dr. Vo Tuong Quan
transmit. One pair of wires connects Node 0’s driver to all of
the secondary nodes’ receivers. In the other direction, another
pair of wires connects all of the secondary nodes’ drivers to
Node 0’s receiver. All of the secondary nodes monitor
messages from Node 0. The node being addressed replies on
the other pair of wires. The advantage is that the secondary
nodes don’t see the other nodes’ replies. With a single data
path, all of the secondary nodes receive all of the network
traffic.
Fig. 4 In this full-duplex, multi-node circuit, Node 0 transmits
to all other nodes on one line and receives from all other nodes
on the other line.
Half duplex
Many RS-485 circuits are half-duplex, where multiple drivers
and receivers share a signal path. The interfaces form a serial
network, and each computer with an RS-485 interface is a node
in the network.
9
Copyright © 2017, Assoc.Prof.Dr. Vo Tuong Quan
Networks typically use half duplex interfaces and allow one
node at a time to transmit. Links with just two devices can be
half duplex as well. Microcontrollers that allow configuring a
port bit as input or output can send and receive on a single
port bit, reconfiguring the bit as needed. You might use this
approach if you need to use the fewest number of port pins or
wires possible. If you need to transmit in just one direction
(simplex), you of course need only one data path.
Figure 5 shows a half-duplex network that uses an SN75176B
differential bus transceiver.
When a driver’s enable input (DE) is low, the driver’s output is
high impedance, and for all practical purposes the driver is
removed from the circuit. When a receiver’s enable input (/RE)
is high, the receiver’s output is high impedance and no longer
follows the RS-485 input.
10
Copyright © 2017, Assoc.Prof.Dr. Vo Tuong Quan
Fig. 5 This half-duplex RS-485 network has a single data path.
All nodes must also share a gorund connection, typically via a
ground wire in the network cable.
Bias resistor
Terminal resistor
Function resistor
Terminal resistantant = (2*DesiredTer*Bias)/(2*bias – DesiredTer)
11
Copyright © 2017, Assoc.Prof.Dr. Vo Tuong Quan
HOW TO CONVERT RS232 TO RS485
Some applications require converting RS-232 signals to RS-485.
If a computer has an available RS-232 port, adding an external
converter can be feasible.
Note: RS-232 drivers can limit the top speed of the RS-485
interface.
Microcontroller development boards sometimes have RS-232
interfaces built-in. If you need RS-485, it might be easier to
bypass the RS-232 interface by removing the RS-232 interface
chip or the connections to it and wiring the RS-485 interface
directly to the microcontroller’s port pins.
Half duplex
12
Copyright © 2017, Assoc.Prof.Dr. Vo Tuong Quan
Fig. 6 converts between RS-232 and TTL, and between TTL and
RS-485.
Figure 6 shows one way to convert RS-232 to RS-485. The
interface uses three RS-232 lines: TX transmits data, RX
receives data, and RTS controls direction. A MAX233 converts
the RS-232 signals to TTL levels, and the TTL signals connect
to an SN75176B or similar chip that provides the RS-485
interface. When RTS is low, the enable inputs of the SN75176B
are high and TX can transmit on the RS-485 line. When RTS is
high, the enable inputs are low and RX can receive data on the
RS-485 line. A circuit can use DTR instead of RTS.
In a similar way, you can create full-duplex RS-232-to-RS-485
interfaces using a SN75179B or other 4-wire RS-485 chip.
Full Duplex
13
Copyright © 2017, Assoc.Prof.Dr. Vo Tuong Quan
Fig. 7 link between a device with an RS-485 interface
and one with an RS-232 interface
Figure 7 shows a connection between an RS-232 port and an
RS-485 port. RS-485’s B output connects to RS-232’s RX input.
Referenced to signal ground, the B output is near 0V for a logic
1 and near +5V for a logic 0.
CONTROLLING THE DRIVER ENABLE
In an RS-485 network, only one driver can be enabled at a time.
After sending data, a node should disable its driver as quickly
as possible so the next node to transmit can enable its driver
and start transmitting.
Software Based Control
Fig. 8 Three options for controlling the driver-enable and
receiver-enable inputs on an RS-485 transceiver.
Controlling the driver in software requires a dedicated output
bit that connects to the transceiver’s driver-enable input. On a
14
Copyright © 2017, Assoc.Prof.Dr. Vo Tuong Quan
PC’s RS-485 port that uses an RS-232 converter or USB/serial
converter, RTS or DTR can serve as the driver-enable output.
Other ports can use any spare output bit.
An RS-485 port can use any of three configurations (Figure 8):
• Use two output bits and control the driver’s and receiver’s
enable inputs separately. This arrangement provides the most
flexible control but requires two port bits.
• Use one output to control both enable lines. The driver’s
enable input is active-high and the receiver’s enable input is
active-low so either the driver or receiver is always enabled and
both are never enabled at the same time.
This configuration is useful if a node doesn’t need to receive its
own transmissions.
• Control the driver-enable input only. Tie the receiver’s enable
input low to keep the receiver enabled at all times. With this
configuration, a node receives the data it sends and thus can
verify that the data transmitted.
Hardware Based Control (Self Study)
15
Copyright © 2017, Assoc.Prof.Dr. Vo Tuong Quan
Example
Design the RS232 – RS485 converter
Fig. 9 RS232 – RS485 Interface
16
Copyright © 2017, Assoc.Prof.Dr. Vo Tuong Quan
Fig. 9 PC – RS485 Interface
U3,U1 H11L1 OPTO-ISOLATOR
U2 CNY17-3 OPTO-ISOLATOR
U4 MAX487, SN75176B
Figure 9 shows the circuit diagram of RS485 interface.
Connector K1 is linked to the serial port of the PC, power to the
PC side of the circuit is derived from the signal lines DTR and
RTS. Positive supply is derived from RTS and negative supply
from the DTR line. The RTS line is also used to control the data
direction of RS485 driver IC U4.
Optical isolation is achieved by optocouplers U1, U2 and U3.
Opto U1 is used to control the data direction of U4 opto U2
provide RXD line isolation while opto U3 provide TXD line
isolation.
The other side of the isolator carries TTL levels. This side is
powered by an unregulated dc supply between 9V and 18V dc.
IC U5 provide 5V regulated output and IC U4 provide the RS485
bus interface. The TXD and RXD lines status are provided by
data indicating LEDs.
17
Copyright © 2017, Assoc.Prof.Dr. Vo Tuong Quan
For Data Reception RTS = 1 (at +ve level)
For Data Transmition RTS = 0 (at -ve level)
DTR line is always set to 0 (at -ve level)
18