Both Methods Change Voltage Levels, Why Can Only One Communicate Over Long Distances

Thread Starter

Embededd

Joined Jun 4, 2025
195
I am trying to understand what fundamentally changes when RS-485 transceivers are added between two microcontrollers.

Suppose I have two MCUs, MCU A and MCU B, connected directly by a single data line. If MCU A wants to transmit a logic '1', it simply drives the data line to 5 V, and MCU B reads that voltage as a logic '1'. This works reliably over a short distance (around 1 meter).

Now let's modify the setup by placing an RS-485 transceiver on each MCU. Instead of one data line, there are now two lines (H and L). During transmission, the driver might set one line to about 3.5 V and the other to about 1.5 V, and the receiving transceiver detects the voltage difference to determine the transmitted bit.

What I am struggling to understand is this:

In both cases, the transmitter is simply setting voltages on wires, and the receiver is reading those voltages. Before adding RS-485, the communication was only suitable for about 1 meter. After adding the RS-485 transceivers, the same data can travel hundreds of meters.

What is the fundamental reason this happens? What is the "magic" performed by the RS-485 transceivers that makes the signal much more reliable over long distances? I am looking for the physical or electrical explanation rather than just "it uses differential signaling."

Note: This is not a homework or school assignment. I've described the specific part that I'm struggling to understand.
 

crutschow

Joined Mar 14, 2008
38,655
The problem is transmission-line reflections on a line not terminated in its characteristic impedance, which can corrupt the signal voltage levels when the line propagation delay becomes comparable to the signal rise and fall times.
Thus if the signal data line is terminated in it's characteristic impedance to eliminate this reflection (about 100Ω for twisted pair wire, for example, and the signal driver is capable of driving that impedance), then you can go much longer than 1 meter.

The differential signal of RS-485 is just to minimize the effects of any common-mode (ground) voltage difference between the transmitter and receiver.

That all make sense?
If you are not familiar with transmission-line theory, ask Google.
 

WBahn

Joined Mar 31, 2012
33,060
When you apply 5 V to the end of one line, the voltage at the other end will not be 5 V. It will be affected by such things as the voltage drop across the non-zero resistance of the line as well as picking up electrical noise (the wire acts as an antenna). Over short distances, these disturbances aren't sufficient to cause the receiver to misinterpret the data, but beyond some length they are. If you run two wires, each wire will largely be affected the same way -- the effects will be "common mode". So if the net effect is to cause the 3.5 V line to end up being 2.5 V at the other end, the 1.5 V line will end up close to 0.5 V. The difference between them will still be close to 2 V. This give much greater noise immunity.
 

MrChips

Joined Oct 2, 2009
35,005
There are three major differences between direct TTL connections and RS-485 communications.

1) Controlled bandwidth. When you step a TTL single from 0 V to +5 V, you are generating very high frequencies. This creates distortions at a receiving end that is not properly terminated. Transmission line drivers such as RS-485 have controlled rise-times that limits the bandwidth.

2) Every conductor is a transmission line. RS-485 networks have to be properly terminated to match the characteristic impedance of the transmission line. This reduces reflections and distortions.

3) RS-485 uses balanced signalling. A and B signals are complementary. The receiver subtracts the A and B signals. This makes the signaling more immune to common mode noise and interference.
 

John P

Joined Oct 14, 2008
2,068
it simply drives the data line to 5 V,
What is this "it simply drives the data line to 5 V" business? You've never said what that 5V is measured against. Most likely you'll say "Relative to ground", but how do you know that ground at one end of the line is the same as ground at the other end? It's actually a rather tricky thing to test. But there's a way to avoid it: send the data over 2 lines simultaneously, where one line goes high as the other goes low. Then instead of checking a voltage relative to ground (and hoping that ground voltage matches at the two ends) you measure one line against the other. You no longer need to care how high or low the lines are relative to ground! In fact some authorities will tell you that an RS-485 line doesn't require a ground wire connecting the driver and receiver at all. And then consider the effect of electrical interference. Say a big motor starts up somewhere close to your transmission line. A pulse gets radiated into the line, and your single wire might give you a false transition. But with RS-485, both conductors receive the pulse, and at the receiver end, both may change, but the key question is still "Which one is higher?" and that's much less likely to be affected.
 

panic mode

Joined Oct 10, 2011
5,148
What is the "magic" performed by the RS-485 transceivers that makes the signal much more reliable over long distances? I am looking for the physical or electrical explanation rather than just "it uses differential signaling."
imagine you are standing by perfectly still lake - surface is like mirror (no noise).
then you throw a rock in it....

from the place where rock hit the water, you have wave spreading in every direction...
you may notice that wave amplitude gets smaller and smaller the further it goes.
but... shape of the wave is still perfect. if we are to just somehow amplify it, it could be made to look EXACTLY as initial waveform where the wave started.

in electronics we can amplify things so diminishing amplitude of the wave is not a problem - as long as noise level is insignificant... so the real problem is noise!

imagine that somewhere in the lake is stationary object (a rock, or boat). when wave reaches it, it reflects and goes back. now we have another problem... there are two waves:
first one is still traveling from the place where rock hit the water. the second one is reflection traveling in opposite direction. those two mix creating what is known as interference pattern.
to most people this looks like mess... and it is... to reconstruct original waveform from this one would need to perform some magic with precise eradication or cancellation of reflected wave.
worse... what if the lake is not exactly empty and there are several obstacles or noise sources? for example there are more boats or someone else is also throwing rocks in the water. then the interference patterns get REALLY complex.

lesson from this is that if we inject signal into some medium (electric cable), as long as impedance of the medium does not change, and cable never ends, signal will stay clean and travel indefinitely (and gradually get smaller and smaller).
that is perfect. the only problem is how the heck do we go about getting cable with infinite length?

well it is simple really, you cut the cable to finite length, measure cable impedance, then at each end of that cable place terminating resistor with value that matches cable impedance. in other words, signal will still "think" that it is traveling into infinity (no reflections).

but how do we guard our signal from other sources of noise (other people throwing rocks into pond)? use shielding, use twisted pairs, use digital signal...

shielding is form of Faradays cage and principle should be obvious.
twisted pairs are used to transmit complementary waveforms (opposite polarity). when cable is passing some source of noise, both lines will pick the interference, and be affected in sameway. and since we are looking at difference of two lines, this helps cancel out the interference to a high degree (not perfect but decent).
and by using digital signal, we do not care about actual amplitude... as lone as one line is more positive than the other (and above noise floor) we got reliable true/false at the end. what more can you ask for?
 

MrChips

Joined Oct 2, 2009
35,005
I am trying to understand what fundamentally changes when RS-485 transceivers are added between two microcontrollers.
:
:
What is the fundamental reason this happens? What is the "magic" performed by the RS-485 transceivers that makes the signal much more reliable over long distances? I am looking for the physical or electrical explanation rather than just "it uses differential signaling."
Because "differential signaling" is the most effective "magic".
 
Top