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
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?
 

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
 

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.?
 

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
 

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.
 

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

Back
Top