Go Down

Topic: Few bytes, long distance, fast communication... wanted! (Read 1 time) previous topic - next topic

nicecpu

uhmmm, let's summarize:

(from ardu_n tx) --> rx_ardu_1_tx --> rx_ardu_ 2_tx -->  ... --> rx_ardu_n_tx --> (to ardu_1 rx)

in this chain, if ardu(k) have to communicate to ardu(k-1), data must be
echoed through k+1, ... n, 1, 2, k-1 so all wires must be ok! And time of echoing is ..not so short. I think that a i2c data bus is better if... repeaters or range extenders works. Do You agree?  :~
Before I start with... tests I like to know Your opinion!

Graynomad

#11
Feb 27, 2013, 05:30 pm Last Edit: Feb 27, 2013, 05:46 pm by Graynomad Reason: 1
Quote
so all wires must be ok! 

Also true of the I2C wires is it not?

In a nutshell I think the following is true

Redundant ring - most robust, slower than a bus because of the store-and-forward of the data
Line (daisy-chain) - pretty robust, slower than a bus
Bus (I2C, RS-485, whatever) - least robust, fastest

Why is a bus less robust? Because any single wire fault kills the entire system. With a redundant ring a single fault has almost no affect on the network. With a line a single fault may or may not have a serious affect, it depends on the physical location of generated data but some of the network will almost certainly keep running.

So no I don't think I2C is more robust, using normal bus extenders like the P82B715 doesn't change anything except the distance you can transmit. The whole system will still die if there's a single line fault

You can use an extender like the PCA9600, this changes the I2C signals into two differential pairs for the trip, but AFAIK this is point to point. IE no longer a bus so (electrically at least) you may as well use RS-485 and async comms. However it does allow you to stick with I2C if you are already comfortable using that.

Now all that is the theory, truth is most networks are buses and they work just fine, however I2C is not designed for these distances and I've not seen any real examples of it being used with these extenders so I can't really comment on their suitability.

______
Rob
Rob Gray aka the GRAYnomad www.robgray.com

nicecpu

#12
Feb 28, 2013, 05:14 pm Last Edit: Feb 28, 2013, 05:53 pm by nicecpu Reason: 1

Quote
so all wires must be ok!  

Also true of the I2C wires is it not?
[...]
Now all that is the theory, truth is most networks are buses and they work just fine, however I2C is not designed for these distances and I've not seen any real examples of it being used with these extenders so I can't really comment on their suitability.
______
Rob

You're right! So I've decided that for prototypization (just 5 arduinos) I'll use a trick, with 5 i/o data bus in a "very unusual way"... meanwhile  I'll begin to test RS-485 and long range I2C. I'll post results here... if useful  ;)
( http://www.diakom.com.ru/el/elfirms/appnotes/Philips/an452.pdf )

Graynomad

Rob Gray aka the GRAYnomad www.robgray.com

CarlChow


Hi guys, I have similar solution that had completed. I post a schematic to show it implementing by wireless.

Go Up