RS-485 Splitter - Page 1
Forum section: electronics / projects

author: robotix3
author_rank: Regular Contributor
timestamp: June 30, 2016, 10:12:45 pm
content: I am designing a system that consists of a half-duplex RS-485 bus with about 30 slaves and one master. The bus is driven via uart from micro-controllers, and every node transmits and receives.Right now I have the system figured out except for how to split the bus. I need to do this to prevent the system installer from having to route one cable to 30 slaves, instead it would be nice to have a method to split the cable to to allow for lines to branch off.I know you can't just literally put another cable in parallel (since it's a differential pair), right? I can think of a way to do it actively using a micro but it ends up being pretty messy and expensive and seemingly unreliable, mostly due to the bus being half-duplex.What's the best way to build a splitter for this?

author: HackedFridgeMagnet
author_rank: Super Contributor
timestamp: June 30, 2016, 10:19:10 pm
content: Do you have to build it?just buy ithttps://www.google.com.au/search?q=rs485+splitter

author: robotix3
author_rank: Regular Contributor
timestamp: June 30, 2016, 10:31:07 pm
content: QuoteYeah I looked at that option but they seem to be ridiculously expensive

author: HackedFridgeMagnet
author_rank: Super Contributor
timestamp: June 30, 2016, 11:25:02 pm
content: I did work on a job once, (at Sydney airport actually) where we specified RS485. I explained to the cable guys how to run a multidrop line and that this was theonlyway. Even gave them a print out of why it was important.Obviously that directive was ignored and a Star configuration was used, with some of the runs being more than 100m.Down the track they rang me up when it didn't work.Idiots.Did a bad hack by changing the termination resistors at various places which basically worked but was still very wrong.So you might be able to fiddle it so that roughly the appropriate voltages and currents are present at each node like I did.Or maybe use a few transceiver chips to do the split and put it in a case.I think best to do the split in a separate box like a bought one as that way the rest of your project will still adhere to the standard.

author: ludzinc
author_rank: Unknown
timestamp: July 01, 2016, 01:14:14 am
content: What speed are you using?I've worked with many successful star wired installations, covering 100's of meters, un-terminated.All at a bisteringly fast 9600 baud.At 1MBPS there's no hope in hell that that would work, but at 9600 all the reflections died down and the within one or two UART sampling periods.

author: ajb
author_rank: Super Contributor
timestamp: July 01, 2016, 11:47:42 am
content: The splitter would need a basic understanding of whatever protocol you're using so that it could change the direction of the transceivers appropriately, but other than that a splitter is just a handful of transceivers and that's basically it. Maybe some isolation between downstream ports if you wanted to get fancy. You could do it with an 8-pin micro, since the upstream transceiver's RO line can be tied directly to the downstream DI lines, and the downstream RO lines can be ORed into the upstream DI line. Then the micro just needs to manage the upstream and downstream DE/RE. That's only four IO lines, so you still have one or two left over for LEDs. The micro just has to know when to expect a slave-to-master message and flip DE/RE, and then when the message has ended so it can flip them back. Come to think of it, you might want to monitor the upstream and downstream channels between the upstream and downstream transceivers separately, so that either means an MCU with two UARTs, or maybe a soft UART if the bus speed is low enough.Of course that's only suitable for the application you described, where the upstream port talks to all of the downstream ports and the downstream ports only talk to the upstream ports. If you needed to be able to communicate from one downstream port to another things get a little more complicated.

author: C
author_rank: Super Contributor
timestamp: July 01, 2016, 03:39:41 pm
content: Will your network work correctly with 2X cable length?The answer is to have the RS485 buss be a proper linear buss while the wire is routed in a loop or star.If yes then add a new box that has the two terminators for your buss in that box. When you wire this up your long linear buss becomes a loop. Note that the loop is only open in this new box.Step two is replace all the RS485 buss cable with a cable that will support two RS485 buses. Each device is connected by a "Tee" connection.The taps you want then become a "Y" like connection with three connectors.connector 1 pair 1 goes to connector 2 pair 1connector 2 pair 2 goes to connector 3 pair 1connector 3 pair 2 goes to connector 1 pair 1Connector 3 is the new buss for branch.You can put the "Y's" where you want. You can not leave one of the "Y's" connectors UN-connected. If this is needed, then connect a dummy plug with pair 1 connected to pair 2.IBM did this with their Token Ring network. The Token Ring hub was many "Y's" in one box and an automatic dummy plug when a cable was disconnected. You can see an example of this looking at a RJ31X for the phone line. When plug is removed a set of shorting bars restore the connections.

author: robotix3
author_rank: Regular Contributor
timestamp: July 01, 2016, 09:24:53 pm
content: Thanks for all the suggestions guys. I'm going to try and build an active splitter since this seems to be the only reliable/affordable/simple way of doing it. I also do not have the ability to tune each installation.Thanks again!