RS-485 arrangements

Sep 17, 2007 6 Replies

I have long been familiar with RS-485 wired as a single differential pair connected to all the devices and termination at the both ends, however "end" may be defined. I have recently been looking into a 4- wire "full-duplex" implementation. However, it seems to be full- duplex only if there are only two devices attached. Otherwise, there appears to be a need to designate one device as the master (the device to whose receiver all the other drivers are connected) and the rest as slaves.



Unless there is some clever arrangement of which I am ignorant. Any comments?



For reference:



formatting link
formatting link



Full duplex (FDX) RS 485 can be wired as point-to-point (typical use) or as point-to-multipoint (unusual but possible). If you use the point-to-multipoint configuration, you are correct that it looks effectively like the half duplex configuration, because you still need a master and slave(s) relationship. Replies from the various slaves have to be non-overlapping, and their output transceivers need to be controllable just like the 2 wire HDX configuration. So its hard to see any benefit to the extra wire pair in point-to-multipoint.

A point-to-point FDX configuration is usually used when you need high throughput, or when you don't have access to the 485 transmitter enable signal. If you are sending command-reply type messages, FDX doesn't increase throughput because the two devices are alternating their messages anyway. Most FDX 485 configurations with which I am familiar are really FDX hardware with HDX software implementations.

Steve

Basic rule for any kinda bus. Only ONE device can drive the bus at the same time. If two (or more) devices attempt to drive the same bus at the same time it's called a bus fight. The bus may go high or low or halfway inbetween, depending upon the strength of the bus drivers doing the fighting. Does not matter what kinda bus, you cannot allow two bus drivers to drive at the same time. The only common solution to bus sharing is a strict master-slave arrangement. If other solutions exist they ain't common.

David Starr

formatting link

Full duplex fully, overlapped is totally possible, but all the slaves have to have a 'system address'. A tip, design your system for the master to send, say, x bytes per packet, and all slaves to return, x-1 bytes per packet..

formatting link

slave devices don't talk unless spoken to. this means, You need a protocol. MODBUS is a good example.. Look it up.

"I\'m never wrong, once i thought i was, but was mistaken" Real Programmers Do things like this. http://webpages.charter.net/jamie_5

formatting link

Far too complex...... just use for a packet, address/address/command/parameter/parameter/crc. The biggest task is defining the command/parameter set that will satisfy your application..

Re-inventing the master/slave protocol is far more complex.

There are code examples of MODBUS out on the net that that OP can find and use.

Maybe even use whatever MODBUS code thats out there and modify it to make it simpler for his application.

Code reuse is a good thing.

don

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required