Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

RS485 arbitration process

Status
Not open for further replies.

vinoth14

Junior Member level 1
Joined
Feb 27, 2015
Messages
19
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
184
Hi,

How RS485 arbitration happens?
How RS485 will get to know that other node got the bus access?
 

KlausST

Super Moderator
Staff member
Joined
Apr 17, 2014
Messages
23,045
Helped
4,716
Reputation
9,448
Reaction score
5,092
Trophy points
1,393
Activity points
152,661
Hi,

RS485 is just the electrical specification - it doesn´t specify arbitration.

Arbitration belongs to the protocol.
Often an RS485 related protocol is a "master - slave" protocol.. where the slave just responds to a request of the (single) master.

If you need more help, then you need to give more information about your bus topic and the used protocol.

Klaus
 

vinoth14

Junior Member level 1
Joined
Feb 27, 2015
Messages
19
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
184
Hi,

RS485 is just the electrical specification - it doesn´t specify arbitration.

Arbitration belongs to the protocol.
Often an RS485 related protocol is a "master - slave" protocol.. where the slave just responds to a request of the (single) master.

If you need more help, then you need to give more information about your bus topic and the used protocol.

Klaus

I want to know, suppose five nodes are on the RS485 bus,if node 1 is trying to write a byte on the bus, at the same time node 2 also trying to write a byte, how will the node 2 came to know that there is a node writing a byte on bus.?
 

KlausST

Super Moderator
Staff member
Joined
Apr 17, 2014
Messages
23,045
Helped
4,716
Reputation
9,448
Reaction score
5,092
Trophy points
1,393
Activity points
152,661
Hi,

who knows?
even if the transmitter reads back the bus signals there it is not sure to detect the bus collision.
--> therefore: use a proper protocol to avoid this situation.

Maybe the receiver can detect wrong CRC, maybe the wrong reciever is beeing accessed.

Klaus
 

betwixt

Super Moderator
Staff member
Joined
Jul 4, 2009
Messages
15,731
Helped
5,069
Reputation
10,163
Reaction score
4,924
Trophy points
1,393
Location
Aberdyfi, West Wales, UK
Activity points
133,219
As Klaus states, there is no rule about how to do this. The method I use is to assign one master device which polls each slave in turn asking if it want to send data. The slaves have an address which is transmitted by the master, when they recognize their own address, they momentarily enable their own driver to say if they have anything to send then disconnect again. Something like this:

Master sends "slave 3 do you have anything to send?"
Slave 3 sends "I do not have anything at the moment"
Master sends "slave 4 do you have anything to send?"
Slave 2 sends " I have some data for you, here it is..."
Master sends "slave 5 do you have anything to send?" - or it might be further communication with slave 4.
.
.
.

In reality, it doesn't send text of course, in my case just a single byte address followed by any data as needed.

Brian.
 

FvM

Super Moderator
Staff member
Joined
Jan 22, 2008
Messages
50,808
Helped
14,603
Reputation
29,481
Reaction score
13,688
Trophy points
1,393
Location
Bochum, Germany
Activity points
290,925
RS-485 multi-master systems are possible as well. You can e.g. refer to the PROFIBUS protocol which uses a token passing scheme to transfer the control between masters.

A general problem is that RS485 doesn't provide a reliable detection of collisions. At worst case, two masters can transmit simultaneously and be both under the assumption that they own the bus, at least for a while.

Bus physics with dominant/recessive signal levels like CAN or I2C allow an early collision detection and can work without explicit control scheduling scheme.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top