+ Post New Thread
Results 1 to 4 of 4
  1. #1
    Advanced Member level 4
    Points: 6,918, Level: 19
    Achievements:
    Created Blog entry Created Album pictures 7 years registered
    alexxx's Avatar
    Join Date
    Apr 2011
    Location
    Greece
    Posts
    1,013
    Helped
    278 / 278
    Points
    6,918
    Level
    19
    Blog Entries
    2

    RS-485 multimaster ring considerations

    Hello.

    I need to implemented an RS-485 network (because at least 400m are required without repeaters at 115200bps) with 100-120 nodes. The network must be open circuit tolerant, so this means that if a single cable cut takes place, the network should continue operating normally. So the obvious way to go is with a ring topology, where every node has two RS-485 ports, one connected to its “left” node and one to its “right” node. If the “left” node sends data that are not intended for my address, I will read it from the “left” RS-485 port and forward (retrasmit) the message to the “right” node through the “right” port, in order for the message to continue its “journey” on the ring. The network must be multi-master, because any node can send data to any node.

    The tricky part is that there will be some alarm messages, so one of those nodes must be a network “manager”, checking that those critical messages will reach all destinations. If not, a fault condition should be indicated to the user, in order to inform that not all nodes took the message.

    I did some digging and most references suggest a token ring topology, but I am not sure because if an alarm is initiated to a node, I need this node to instantly send this alarm to the network and not wait for the token to be cycled back to it. There are also plenty of other scenarios to be concerned about, like if an alarm condition takes place to multiple nodes at the same time, which they start transmitting it almost simultaneously. So this "network manager" issue troubles me even more and gives me doubts on which is the optimum way to go.

    This is the scenario. I continue with my research, but if someone has implemented something similar, it would be great to hear his story or get a reference that I have not yet found, to point me to the right direction.

    Thanks in advance.

    •   AltAdvertisement

        
       

  2. #2
    Super Moderator
    Points: 81,448, Level: 69
    Achievements:
    7 years registered
    Awards:
    2nd Helpful Member
    betwixt's Avatar
    Join Date
    Jul 2009
    Location
    Aberdyfi, West Wales, UK
    Posts
    13,351
    Helped
    4459 / 4459
    Points
    81,448
    Level
    69

    Re: RS-485 multimaster ring considerations

    What you are suggesting is quite complicated to implement and I'm not sure it is a fault tolerant as you say.
    If you can overcome the drive current limitation at the sending device (they are only rated to drive 32 receivers) you could use 9-bit serial protocol where the extra bit is used to indicate whether the data following it is a slave address or data to an already selected slave. It gives you an addressing range of 256 devices wired in parallel.
    If you could use RS422 it would probably be easier because being uni-directional on each path it is far easier to add repeaters and they are cheap and plentiful. You would only need one repeater IC for every 31 nodes.

    Brian.
    PLEASE - no friends requests or private emails, I simply don't have time to reply to them all.
    It's better to share your questions and answers on Edaboard so we can all benefit from each others experiences.



    •   AltAdvertisement

        
       

  3. #3
    Advanced Member level 4
    Points: 6,918, Level: 19
    Achievements:
    Created Blog entry Created Album pictures 7 years registered
    alexxx's Avatar
    Join Date
    Apr 2011
    Location
    Greece
    Posts
    1,013
    Helped
    278 / 278
    Points
    6,918
    Level
    19
    Blog Entries
    2

    Re: RS-485 multimaster ring considerations

    Hello Brian, thanks for the responce.

    There won't be a problem with the number of tranceivers, because every node is actually a repeater. Maybe my explanation wasn't clear enough in the OP, but there is not a central ring where all the nodes connect to it. The ring actually passes through the nodes. Every node has 2 RS-485 ports, it receives from one port and transmits from the other port. Please see the image below. My topology will be the left one.

    Click image for larger version. 

Name:	page175.gif 
Views:	0 
Size:	1.8 KB 
ID:	153048

    Another thought was to actually use the token ring after all. Because in 115200 speed, it would take under 1ms to transmit a token of let's say 10 bytes. I assume three. So for 100 nodes, the token will be cycled every 300ms. It is not so bad, I thing that the alarm messages will not be delayed that long.



    •   AltAdvertisement

        
       

  4. #4
    Super Moderator
    Points: 81,448, Level: 69
    Achievements:
    7 years registered
    Awards:
    2nd Helpful Member
    betwixt's Avatar
    Join Date
    Jul 2009
    Location
    Aberdyfi, West Wales, UK
    Posts
    13,351
    Helped
    4459 / 4459
    Points
    81,448
    Level
    69

    Re: RS-485 multimaster ring considerations

    I understand the concept and provided the 'in' and 'out' are directly linked it will send at full speed and over long distances. However, what happens when one of the nodes wants to write back the master? It would block the passage of 'through traffic'.

    In a true token ring, empty data blocks are passed from one node to the next and if necessary, a node fills it as it passes through. That block is then passed in it's entirety along with other possibly empty blocks right round the loop. There could be quite a of data on the move at once.

    Brian.
    PLEASE - no friends requests or private emails, I simply don't have time to reply to them all.
    It's better to share your questions and answers on Edaboard so we can all benefit from each others experiences.


    1 members found this post helpful.

--[[ ]]--