EmbeddedRelated.com
Forums

RS485 is bidirectional does it mean it is fullduplex?

Started by Swizi June 15, 2005
I was told by my professor that specification of RS485 is a half duplex
RS485 four wire mode has got four pin Rx+, Rx-, Tx+, Tx-. Where the maste
device Tx+ and Tx- will be connected to the slaves Rx+ and Rx
respectively. Simlarly Master's Rx+ & Rx- will be connected to the slave'
Tx+, Tx- . Other than the master all the device will be in receive mode, s
if only there is the transmission RTS is pulled 1 and they(slaves) ca
transmitt.

The master is always in receive mode and can also transmitt. In this cas
the master is in the fullduplex mode, it is violating the RS48
specification! So could anyone guide me to the right direction regardin
what I have understood.


		
This message was sent using the comp.arch.embedded web interface o
www.EmbeddedRelated.com
In article <oYmdnYKAHs5Bhi3fRVn_vg@giganews.com>, Swizi 
<swizi@rediffmail.com> writes
>I was told by my professor that specification of RS485 is a half >duplex. >RS485 four wire mode has got four pin Rx+, Rx-, Tx+, Tx-. Where the >master >device Tx+ and Tx- will be connected to the slaves Rx+ and Rx- >respectively. Simlarly Master's Rx+ & Rx- will be connected to the >slave's >Tx+, Tx- . Other than the master all the device will be in receive >mode, so >if only there is the transmission RTS is pulled 1 and they(slaves) can >transmitt. > >The master is always in receive mode and can also transmitt. In this >case >the master is in the fullduplex mode, it is violating the RS485 >specification! So could anyone guide me to the right direction >regarding >what I have understood. >
RS485 is a 2-wire half duplex system where there is one transmitter and multiple receivers. RS422 is a 4-wire duplex system which goes between two devices, each of which has a transmitter and receiver. -- Tim Mitchell
If you use a 4 wire connection, that is TxA to RxB in one direction (Wher
A is one unit and B  is another) and TxB to RxA in the other, then you ca
work in full duplex. Of course B can represent a number of "outstations
(32 by the original RS485 spec) and provided only one drives the bus a
any given time you can still have full duplex operation.

RS485 allows you to work with a 2 wire connection between A and B. The T
and RX lines are paralleled. Only one driver can drive the lines at an
given time and hence it can only work in half duplex. As far as I know th
RS485 spec only addresses the electrical specification and not any form o
protocol that deals with half or full duplex operation.

Incidentally some manufacturers produce devices that allow up to 12
"outstations" by reducing the load of the receivers relative to th
standard load of the sepcification.
  
I once wrote an in-house app-note on the subject which you can find here
http://www.weidmuller.ca/downloads/pdfs/ca_applNotes/SIP02_991635_RS-485_Primer.pdf

If you want more detail, check out the references you will find th
subject covered in much greater depth. 


>I was told by my professor that specification of RS485 is a half duplex >RS485 four wire mode has got four pin Rx+, Rx-, Tx+, Tx-. Where th
maste
>device Tx+ and Tx- will be connected to the slaves Rx+ and Rx >respectively. Simlarly Master's Rx+ & Rx- will be connected to th
slave'
>Tx+, Tx- . Other than the master all the device will be in receive mode
s
>if only there is the transmission RTS is pulled 1 and they(slaves) ca >transmitt. > >The master is always in receive mode and can also transmitt. In this cas >the master is in the fullduplex mode, it is violating the RS48 >specification! So could anyone guide me to the right direction regardin >what I have understood. > > > >This message was sent using the comp.arch.embedded web interface o >www.EmbeddedRelated.com >
This message was sent using the comp.arch.embedded web interface o www.EmbeddedRelated.com

Swizi wrote:
> I was told by my professor that specification of RS485 is a half duplex. > RS485 four wire mode has got four pin Rx+, Rx-, Tx+, Tx-. Where the master > device Tx+ and Tx- will be connected to the slaves Rx+ and Rx- > respectively. Simlarly Master's Rx+ & Rx- will be connected to the slave's > Tx+, Tx- . Other than the master all the device will be in receive mode, so > if only there is the transmission RTS is pulled 1 and they(slaves) can > transmitt. > > The master is always in receive mode and can also transmitt. In this case > the master is in the fullduplex mode, it is violating the RS485 > specification! So could anyone guide me to the right direction regarding > what I have understood.
Half duplex means that only one device at a time on the network can transmit. Full duplex is when both (all) devices can transmit simultaneously. Depending on what RS-485 interface you are using you can have half duplex or full duplex RS-485. For half duplex you have a single twisted pair that is connected to the transmitter and to the receiver of each device. The transmitters of the devices that are not transmitting must be in high impedance. For full duplex you have two twisted pairs. The first is connected to the transmitter of the master and to the receivers of the slaves. The second is connected to the receiver of the master and to the transmitters of the slaves. But since you can only have one device transmitting at a given time on the same twisted pair, even in full duplex RS-485, the master must initiate the transfer by selecting a slave. Then both the master and the slave can transmit in full duplex (simultaneously). This is purely a problem of protocol, i.e. software. RS-485 full duplex interface chips allow two devices to transmit simultaneously. You must arbitrate when you have more than one slave.
Swizi wrote:
> I was told by my professor that specification of RS485 is a half duplex. > RS485 four wire mode has got four pin Rx+, Rx-, Tx+, Tx-. Where the master > device Tx+ and Tx- will be connected to the slaves Rx+ and Rx- > respectively. Simlarly Master's Rx+ & Rx- will be connected to the slave's > Tx+, Tx- . Other than the master all the device will be in receive mode, so > if only there is the transmission RTS is pulled 1 and they(slaves) can > transmitt. > > The master is always in receive mode and can also transmitt. In this case > the master is in the fullduplex mode, it is violating the RS485 > specification! So could anyone guide me to the right direction regarding > what I have understood. > > > > This message was sent using the comp.arch.embedded web interface on > www.EmbeddedRelated.com
The 485 spec defines an electrical bus consisting of 2 wires and thats it. It talks about what the loads of each transceiver must be and the amount of ground difference the bus can take without causing an "off" transceiver to turn on unexpectantly. The fun thing was that they never tried to specify connectors or anything handly like that, so the spec was widely excepted and generally different from one machine to the next (though screw terminals, I suppose became the defacto standard). The 4-wire 485 is two 485 buses where one is turned into a unidirectional transmitter bus from master to slaves. The master is generally always transmitting and the slave always receives. The other is receiver bus and is multidrop in the 485 sense (except the master usually doesn't talk in this scenario). This is a scenario I actually saw in the RS-422 spec however true RS-422 didn't have the same electrical spec as 485 (couldn't handle as many drops and had a different differential gound reference I believe, it has been a while since I looked at the spec). The benefit here is that the master should always be able to talk to the slaves, which can be handy if the return bus has a unit that won't be quiet. Though the "RTS" has become the signal line of choice for controling this, I think your instructor is doing you a disservice by specifying it as some kind of 485 signal. It is never mentioned in the spec, just something that was handy when they started to marry these things to Serial controller chips. A lot of 485 is connected to embedded processors, that generally don't have RTS lines, it is just another digital io pin. Tony
"Tim Mitchell" <timng@sabretechnology.co.uk> wrote in message 
news:uAXCZAWeYCsCFAHz@tega.co.uk...
> RS485 is a 2-wire half duplex system where there is one transmitter and > multiple receivers. > > RS422 is a 4-wire duplex system which goes between two devices, each of > which has a transmitter and receiver.
While this is essentially correct, I'd add: - Don't forget ground - i.e. 2-wire is actually 3-wire, and 4-wire is actually 5-wire. - RS-422 is also multidrop (10 max drops, IIRC). - RS-422 is often implemented using a pair of RS-485 devices these days, since the RS-485 spec is superior to the original RS-422 spec. This confuses things slightly, but means that RS-485 tends to be used in both 3-wire and 5-wire configurations. Finally (pedant mode on), the old RS-422/485 appellation is obsolete: strictly speaking it's now EIA-422 and EIA-485. (This may be useful to know for Googling purposes.) HTH, Steve http://www.fivetrees.com
"Steve at fivetrees" <steve@NOSPAMTAfivetrees.com> wrote:
>"Tim Mitchell" <timng@sabretechnology.co.uk> wrote: >> RS485 is a 2-wire half duplex system where there is one transmitter and >> multiple receivers. >> >> RS422 is a 4-wire duplex system which goes between two devices, each of >> which has a transmitter and receiver. > >While this is essentially correct, I'd add: > - Don't forget ground - i.e. 2-wire is actually 3-wire, and 4-wire is >actually 5-wire.
RS-485 is a differential (balanced) system, and there is no signal ground connection. The cable used might well include a frame ground, but that is for noise induction cancellation, not signal ground. Hence it actually is a 2-wire or 4-wire link. Otherwise these are excellent points.
> - RS-422 is also multidrop (10 max drops, IIRC). > - RS-422 is often implemented using a pair of RS-485 devices these days, >since the RS-485 spec is superior to the original RS-422 spec. This confuses >things slightly, but means that RS-485 tends to be used in both 3-wire and >5-wire configurations. > >Finally (pedant mode on), the old RS-422/485 appellation is obsolete: >strictly speaking it's now EIA-422 and EIA-485. (This may be useful to know >for Googling purposes.)
Trivia: Even more insignificant (since nobody uses it) the technically correct appellation apparently is EIA/TIA-485... but I've also seen TIA/EIA-485 and EIA/RS-485 used. These are pretty good: http://www.maxim-ic.com/appnotes.cfm/appnote_number/723 http://www.maxim-ic.com/appnotes.cfm/appnote_number/736 -- Floyd L. Davidson <http://web.newsguy.com/floyd_davidson> Ukpeagvik (Barrow, Alaska) floyd@barrow.com
On Wed, 15 Jun 2005 16:17:56 +0100, "Steve at fivetrees"
<steve@NOSPAMTAfivetrees.com> wrote:

>"Tim Mitchell" <timng@sabretechnology.co.uk> wrote in message >news:uAXCZAWeYCsCFAHz@tega.co.uk... >> RS485 is a 2-wire half duplex system where there is one transmitter and >> multiple receivers. >> >> RS422 is a 4-wire duplex system which goes between two devices, each of >> which has a transmitter and receiver. > >While this is essentially correct, I'd add: > - Don't forget ground - i.e. 2-wire is actually 3-wire, and 4-wire is >actually 5-wire.
This is generally true in practice. However, if you are using floating devices and the "fail safe" termination, the system will work with 2 resp. 4 wires, since the "fail safe" resistors will force the receiver power supply Vcc and Gnd potential close to the line potential and thus, within the common mode range of the receiver (-5..+12 V). Treat the terminated system as a bidirectional current loop (through the terminating resistors) and it should be easy to analyze how this works.
> - RS-422 is also multidrop (10 max drops, IIRC).
The RS-422 impedance levels allows for multiple receivers, but I do not see how a multidrop bidirectional system could be implemented within the RS-422 specification.
> - RS-422 is often implemented using a pair of RS-485 devices these days, >since the RS-485 spec is superior to the original RS-422 spec. This confuses >things slightly, but means that RS-485 tends to be used in both 3-wire and >5-wire configurations.
The 4 wire RS-485 system is a non-standard strange thing, in which the master is (nearly) a standard RS-422 device, while all slaves are eavesdropping the RS-422 downlink but the uplink is a tri-state RS-485 configuration.
>Finally (pedant mode on), the old RS-422/485 appellation is obsolete: >strictly speaking it's now EIA-422 and EIA-485. (This may be useful to know >for Googling purposes.)
Good point. Paul
On Wed, 15 Jun 2005 10:15:51 -0800, floyd@barrow.com (Floyd L.
Davidson) wrote:

>>While this is essentially correct, I'd add: >> - Don't forget ground - i.e. 2-wire is actually 3-wire, and 4-wire is >>actually 5-wire. > >RS-485 is a differential (balanced) system, and there is no >signal ground connection. The cable used might well include a >frame ground, but that is for noise induction cancellation, not >signal ground. > >Hence it actually is a 2-wire or 4-wire link.
The practical problem is that the receiver is made of bipolar transistors and hence require some kind of base current. This current can be supplied through a more or (usually) less clean common ground connection or the differential signal path can be treated as bipolar current loop with the "fail safe" termination resistors supplying the small base current to the transistors. Paul
Paul Keinanen <keinanen@sci.fi> wrote:
>On Wed, 15 Jun 2005 10:15:51 -0800, floyd@barrow.com (Floyd L. >Davidson) wrote: > >>>While this is essentially correct, I'd add: >>> - Don't forget ground - i.e. 2-wire is actually 3-wire, and 4-wire is >>>actually 5-wire. >> >>RS-485 is a differential (balanced) system, and there is no >>signal ground connection. The cable used might well include a >>frame ground, but that is for noise induction cancellation, not >>signal ground. >> >>Hence it actually is a 2-wire or 4-wire link. > >The practical problem is that the receiver is made of bipolar >transistors and hence require some kind of base current. > >This current can be supplied through a more or (usually) less clean >common ground connection or the differential signal path can be >treated as bipolar current loop with the "fail safe" termination >resistors supplying the small base current to the transistors.
The specification includes the maximum ground offset voltage permissable. (I don't recall what it is, or how realistic it is for common 4000 foot runs of twisted pair cable.) But attempting to supply a separate "signal ground", for example via a single separate cable pair, will almost certainly result in a poor frame ground connection instead! That is not a good idea over a 4000 foot loop, but it probably wouldn't make any difference at all if the cable run is relatively short. (Unless it is between two locations on separate power distributions, and one of them has a bad ground.) Telephone cable, which I assume is usually what longer runs of RS-485 would be on, is typically grounded every 3000 or 6000 feet (whatever the spool length is), or less if the cable run is shorter. That is the outer sheath of the cable, not an individual pair. (It isn't done often, but grounding all unused pairs at both ends will also reduce noise induction in the cable.) -- Floyd L. Davidson <http://web.newsguy.com/floyd_davidson> Ukpeagvik (Barrow, Alaska) floyd@barrow.com