Design Article
Comment
green_is_now
green_is_now
The RS-485 Cheat Sheet
Mike Fahrion, B&B Electronics
7/18/2012 10:36 AM EDT
Editor’s note: See A troubleshooting guide for RS-485 is available on the Industrial Control DesignLine site. This Cheat Sheet is a quick reference for designers tasked with implementing RS-485, designed to keep them out of trouble from the get go.
Here are three important bits of info on the RS-485 followed by tips for best performance.
Use it Anywhere
The EIA/TIA RS-485 communications standard, an upgrade of RS-422, supports 32 devices (driver/receiver pairs) in a party line or multi-drop mode, on a cable of up to 4,000 feet for balanced differential signal transmissions at a common mode voltage (Vcm) of -7 to +12V.
You can internally or externally configure RS-485 devices. Four wire connections, which require an additional ground, need a ‘master’ node (e.g. a PC) to communicate to all others (slaves), which in turn can only communicate with the master.
To Terminate or Not to Terminate?
The RS-485 spec says to use termination. For high baud rates and long cable runs, this is true. In most equipment, however, with max speeds of 115kbit, it is unnecessary. Adding termination dramatically increases power consumption and requires that the network be re-biased, which is rarely done. Termination complicates system design and rarely solves problems when used in the kilobit data range.
Extend the Network Easily
By adding repeaters, you get longer distances—each ‘refreshed’ signal can driver another 4,000 feet of cable and 32 more RS-485 loads (driver/receiver pairs) per repeater.
Long networks are especially vulnerable to grounding and surge problems. This is easily addressed by isolating the nodes. Use optically isolated repeaters and isolated converters to attach the nodes of your network and you’ll have reliable long-distance applications.
Tips for Best Performance
- Check the converter data sheet to see how the receiver’s ‘enable’ function is connected.
- Test the interval after the last bit is transmitted to ensure complete transmission. A too-short interval causes missed parts of each character being sent. A too-long interval may cause the system to switch the data line from transmit to receive.
- Select appropriate isolation or shunting-type suppression to protect against short circuits to power conductors.
- Use appropriate signal grounds—a must have—and shielded cable, which is desirable for safety.
- Check signal types and related issues before writing or purchasing software protocols.
- Device communication characteristics must be checked before completing system design
- Get a schematic of each serial port to assist in troubleshooting and repairs.


Jorde Christian
7/19/2012 5:53 AM EDT
I agree that termination is not necessary with low bitrates ( less or equal 19.200) and short wires, but it helps in noisy ambient. The main function of termination is damping the reflections caused by different impedances.
The termination does not need to consume much energy - one may use a dynamic termination: a capacitor in series with the resistor, working perfect for AC signals.
Sign in to Reply
JRCheetham
7/19/2012 8:54 AM EDT
Termination is required for some low baud rate RS-485 applications. If the network wires are not terminated and all drivers are off, the receivers may see data caused by electrical noise. It is much easier for noise to cause problems on the RS-485 network wires when nothing is driving them. A terminator will pull the network wires to known voltages when all drivers are off. A small deviation from the undriven terminator voltages (caused by electrical noise) will not cause random data at the receivers.
Sign in to Reply
green_is_now
7/21/2012 9:14 PM EDT
How about a depletion mode fet with a charge pump to turn off the fet when activity (Data-AC Power)Is present. Idealy, within a few cycles of data would be ideal, the the pump power goes to zero. The highest data rate o1o1o1o could be a termination turn on method, then the slower data rates would sufice to keep the pump alive.
Sign in to Reply
bwf
7/19/2012 11:17 AM EDT
Concerning termination: a good rule of thumb to follow is that if the propagation delay of the data line is less than one bit width, do not terminate. There is a big calculation that you can go through to figure this out, but I found that in most cases termination just complicates things.
Brian Foster
Sign in to Reply
Mike Fahrion
7/19/2012 11:40 AM EDT
Termination is the cause of a lot of problems, and the solution to some as well.
For the purpose of eliminating reflections, Brian nailed it, you only need termination if the product of the cable length and the bit length will cause reflections to land in the middle of a bit (where a UART actually samples). This is very rarely the case with the speeds typical to 485.
There is a second element of noise reduction. This is true, but a bit overplayed in my opinion. The termination resistor creates a low impedance load for noise (which has a high impedance source relative to our desired signal). Makes things look good on a scope in those cases. But remember this is a differential receiver attached to a twisted pair. That common mode noise is eliminated by the differential receiver.
The nasty side effect of termination is that it messes up the biasing. Since the driver goes to a high impedance state between transmissions, the 485 network is floating. For that reason, most designs have pull-up and pull-down resistors on the receiver to pull the line to a known voltage between transmissions. Adding a DC termination resistor means you have to review the biasing of your network - something I rarely see people do in practice. Jordan's recommendation above of using an AC termination (capacitor and resistor combo) addresses this well as long as the values are chosen wisely with respect to number of nodes, cable load and bit rate.
Mike Fahrion
Sign in to Reply
green_is_now
7/21/2012 9:23 PM EDT
You are correct but what if the some of the common mode source gets converted to differential?
Sign in to Reply
green_is_now
7/21/2012 9:28 PM EDT
But are not the pull up and pull down resistors a form of damping anyway?
Look at the total damping needed for noise and activity seperatly for each specific design (Length and baud rate)
Put just enough pull up pull down for noise reasons. Then add Ac and/or DC shunting to as needed for baud rate activity and length as needed. Layer on my other idea for further power savings
Sign in to Reply
green_is_now
7/21/2012 8:59 PM EDT
to terminate or not to terminate that is the question...Why not both?
Sign in to Reply
green_is_now
7/21/2012 9:18 PM EDT
Can have longer time constant turn off to turn on for reletively short off times betweent bursts of data. This will still provide noise damping while draining thru resistor but will be bipassed with a diode (and a smaller resistor)during turn on, or just two different shunt and series resistors alone.
Sign in to Reply
green_is_now
7/21/2012 9:23 PM EDT
@JRCheetham
and all this last comment belongs above under
JRCheetham's insightful comment that leads to this comment
Sign in to Reply