RS485: two transceivers

Apr 14, 2011 35 Replies

Even for RS-232, it's good to plan for the possibility that your Tx and Rx are mixed up.

I once designed a RS-485 system with automatic polarity detection and swapping, because the installation guys were never consistent. Just monitor the idle line and see if it is idling high or low, and invert as appropriate. It made connecting the system /much/ easier.

if you use CAN transceivers instead, you avoid the RS285 problems.

Oliver

Oliver Betz, Munich despammed.com is broken, use Reply-To:

Don't know anything about CAN... will check it out. Thanks

Yes, but i think, the reason is something different.

I am not so good in english, so i try to explain: If both, the master and the slave have a connection to the GND-level, there may be a difference in the voltage level. This will probably cause the problems you mentioned. To prevent this, you can have the devices on a floating level at least at the rs485 inputs.

In such a case, when there is a level difference, an additional gnd-line would cause a current on the ground wire which can also lead to problems.

best regards

Stefan DF9BI

Even if they're floating, you still need a signal ground conneciton.

I've seen optically isolated RS485 interfaces on industrial control systems that were floating fail without a signal ground. They would fail intermittently as the signal ground on one end floated in and out of the allowed 7V common-mode range for the other end. Maybe there was something wrong with the isolation, but without a signal ground it didn't work, and with a signal ground they did.

If both ends connect signal ground to earth ground and the two earths differ by more than 7V, then it's just not going to work -- period. You bought equipment designed by idiots and you're paying the price for that.

Grant Edwards grant.b.edwards Yow! I want to kill at everyone here with a cute gmail.com colorful Hydrogen Bomb!!

Hmm. When I replied to your message, the link remained intact. However, if I copy and paste the link, I get:

(Broken into two lines on my screen).

I'm using MicroPlanet Gravity 3.0. I'll check to see if there is a setting that can be changed.

Perhaps the link will be restored to one line when the message is sent.

The saving graces of both RS-232 and RS-485 are that getting the lines mixed up doesn't let the smoke out of the usual driver chips an you have a 50% probability of getting it right the first time! ;-)

Mark Borgerson

Here, too.

Nope. But, as you say, there may be a configuration setting that will retain long links. Or, it's a great excuse to diddle with the source...

So true. It's a PITA for the field service crew, though. If you aren't seeing the expected $GPGLL is it because A/B are swapped? Or the sender is at 38400? You forgot to enable that port altogether? Or you just grabbed the wrong pair? Life is too short! ;-)

Rich Webb Norfolk, VA

Hey, I can see some potential sales for a small (DVM-size) box to which you connect the two wires. A pushbutton would cycle through the possibilities of A/B and baud rate. An LCD would show decoded text. when you recogize the data, the box would tell you which is A and which is B and the baud rate. For known data formats ( GPS, etc.) the box could auto-search. Shouldn't take anything more than a few receiver chips, a small MPU and a display. If you put a USB interface on it, you could program it to recognize custom protocols. I'd pay $25 for one of those.

Mark Borgerson

Actually, I had one of those designed and ready to go, with autobaud, auto-polarity, and 232/422 recognition as well. But we're tuned for low volume and high cost, so the Powers That Be pulled the plug.

Besides, as Grant pointed out, even after you've identified what the per-spec A and B ends of the cable are, odds are 50-50 that what it is connecting to got it backwards... ;-)

Rich Webb Norfolk, VA

Ah well. It would seem a logical product for B&B, and I'm sure their engineers could design it. Perhaps the problem you noted would make it less useful if you couldn't force both ends of the circuit to speak on command.

Mark Borgerson

Setting up an RS-485 network is not that hard as long as each device has some kind of RxData LED and at least one device can be configured with "fail safe termination" i.e. pull up/down resistors.

Power up a device which is configured for "fail safe termination".

Connect the next station to the network. If the RxData LED burns continuously, swap A and B. The RxData LED should be constantly off if no polling is used.

Connect the next station to the network and observe the RxData LED and repeat the procedure above.

The 2 wire RS-485 system is quite easy to set up, but the 4 wire RS-422 is a bit more problematic, with typically 4 or even 5 badly marked conductors, which wire is A/B/A'/B'/C (signal ground) ?

[...]

Correct.

The (common mode) impedance of a RS485 transceiver is rather high, especially the fractional load types. This high impedance isn't sufficient to keep the isolated circuit in the operating region with lots of (CM) noise.

Example: 100pF and 10kOhms yields 160kHz corner frequency...

Isolation _plus_ a reference conductor is the correct solution in this case.

Oliver

Oliver Betz, Munich despammed.com is broken, use Reply-To:

Some RS485 transceivers have pullups inside. Alex

--------------------------------------- Posted through

formatting link

In my experience sometimes it doesn't.

I don't see how that obviates the need for a signal ground.

Grant

It doesn't. Does anyone that is actually interested in the reliability of their RS-

485 network NOT run a GND?

Yes. It's a not uncommon misconception that "RS485 is two-wire differential" and therefore doesn't need a ground. Just look back in this thread a bit. :)

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required