0
\$\begingroup\$

In my project I'll use modbus protocol for serial communication over RS485. There are more than 320 slaves which separated equally in 2 groups. Every 16 slaves are powered from the same supply and isolated from others galvanically (Master will be isolated from all the slaves). I attached a pic to make it clear. see picture My first question is if there is any wrong in this design?

Secondly I want to synchronise all the slaves over 10ms period pulses that are derived from master microcontroller. How can I achieve a precision synchronisation, say that the tolerance is not more than 1 or 2 microseconds(what type of bus, single or differential signal, where to isolate, ...)?

I add another bus type:see picture In second picture suppose each bus length is 150 meters. Which bus is more robust? Does anyone have advice for any improvement?

\$\endgroup\$
4
  • \$\begingroup\$ Do all nodes use similar hardware and software in your control? \$\endgroup\$
    – Jeroen3
    Sep 23, 2017 at 20:12
  • \$\begingroup\$ All slaves are the same. The only difference is their modbus slave numbers. Master is different. \$\endgroup\$
    – Yaman
    Sep 24, 2017 at 10:55
  • \$\begingroup\$ If it's not build yet, maybe you can save a lot of work by simply wiring a clock signal next to the RS485. You can do this differential as well. Just buy 2-pair cable. \$\endgroup\$
    – Jeroen3
    Sep 24, 2017 at 12:03
  • \$\begingroup\$ I havent built it yet. Thanks Jeroen, this is the answer i need. But i need some details too. Suppose i choose to clock a differential signal over 2-pair cable parallel to rs485 bus, the isolations'll be same as rs485 bus. Is it an efficient design(this question is for rs485 bus too) when considering noise and other unwanted problems. \$\endgroup\$
    – Yaman
    Sep 24, 2017 at 13:48

1 Answer 1

1
\$\begingroup\$

You didn't mention distance, did you? For reasonble distance 1-2 microseconds is easy. Use differential line like rs485, you will not even need to compensate for different distance. The question is, what do you do inside the microcontroller. I think, capture or non maskable interrupt, but not sure.

\$\endgroup\$
6
  • \$\begingroup\$ Hello Gregory, the vertical lines are about 9 meters and and horizontal lines are 20 meters. Inside slave microcontrollers i plan to use a high priority nested interrupt. \$\endgroup\$
    – Yaman
    Sep 23, 2017 at 19:37
  • \$\begingroup\$ So delays are up to 100-200 nsec. Nothing to worry with your tolerance \$\endgroup\$
    – user76844
    Sep 23, 2017 at 19:38
  • \$\begingroup\$ I plan to use another signal line other than rs485 bus for synchronisation. So how can be the synch line. A differential signal or not? Combinations of isolated lines or a monoblock line? \$\endgroup\$
    – Yaman
    Sep 23, 2017 at 19:47
  • \$\begingroup\$ Add a second RS-485 transceiver for the sync signal. \$\endgroup\$
    – filo
    Sep 23, 2017 at 19:53
  • \$\begingroup\$ @GregoryKornblum +50 ns of the isolators \$\endgroup\$
    – Jeroen3
    Sep 23, 2017 at 20:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.