Any advice on how to network multiple PROPs.
jmbertoncelli@USA
Posts: 48
Hello All,
I am building a rover packed with sensors... I want to use the prop and I have 4 proto boards what is from your point of view the best networking model: client/server, peer to peer,...?· Some picture of my work (still in progress).
jm.
I am building a rover packed with sensors... I want to use the prop and I have 4 proto boards what is from your point of view the best networking model: client/server, peer to peer,...?· Some picture of my work (still in progress).
jm.
Comments
There are a couple of simple answers - serial ports either between all or between a main prop and the others. Another option is I2C, I have used a prop as a I2C slave to another processor. The prop had lots of sensors and was the sensor board to another prop. Heres the link to that project http://forums.parallax.com/forums/default.aspx?f=25&m=355505
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
propmod_us and propmod_1x1 are in stock. Only $30. PCB available for $5
Want to make projects and have Gadget Gangster sell them for you? propmod-us_ps_sd and propmod-1x1 are now available for use in your Gadget Gangster Projects.
Need to upload large images or movies for use in the forum. you can do so at uploader.propmodule.com for free.
If you want fairly high speed and simplicity, check out:
http://forums.parallax.com/forums/default.aspx?f=25&p=1&m=233212
I have been able to get it to communicate reliably over 19.5 feet of the orange/white pair of a cat 5 cable that was taken apart.
I would guess that it would go even farther.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade, RetroBlade,·TwinBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: Micros eg Altair, and Terminals eg VT100 (Index) ZiCog (Z80) , MoCog (6809)
· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
http://forums.parallax.com/forums/default.aspx?f=21&m=376422&g=377275#m377275
And on the other prop
Pretty easy to do and is fast enough for MY use.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Basic Stamp,···· Propeller,·· · SX,·· FUN!
START:·
>Proccessing Data. . . .··
>Task Complete. . .·.
>Saving Data. . . .
>Entering SLEEP Mode. . . .
>Signing OFF
·
Using the multiple-serial connections is probably easiest/best between Propeller Proto-boards or similar hardware. Of course that means you have to carry the cost of all the proto-boards, but they are often on sale like this weekend (stock-up time).
One could try the I2C approach, but that limits you to one connection at a time at fairly low speed determined mostly by how much Propeller (and work) you want to throw at the "device" side of the problem.
I've been working on a "stack of Propellers" ... think I-HOP [noparse]:)[/noparse] ... with a Parallel bus for data transfers and SPI bus for communications startup. It has been difficult (at best) to make it work in the simplest mode. I have 5 Propellers connected and working today ... finally. More in another thread.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propeller Tools
1. Asynchronous serial is probably the simplest for coding and only needs two pins per prop. You can also configure multiple drop but need to handle bus contention or master/slave interaction with a higher protocol layer. Async serial is somewhat bandwidth limited.
2. I2C is a bus configuration designed for interoperability among manufacturers and can do up to 400Kb/s (or more), but is a proprietary protocol (Philips). If you want to market your product you need a license for the slave and a registered address. I think only 100Kb/s is supported with the Propeller I2C object.
3. SPI is designed for inter-chip communications and can theoretically support several Mb/s, but requires three lines for the bus plus a slave select line for each slave if there is more than one slave because addressing is out-of-band. The protocol is almost as simple as Async serial. You can save one line on the bus if you only need half-duplex (3-wire variant).
If you have the lines to spare, SPI might be your best bet for performance. However, nothing says you have to conform to a known standard if you are designing a closed system.
If one propeller is coordinating the activities of the system, then a master/slave configuration will make things the easiest. If each unit needs to be completely autonomous and may or may not become disconnected from the system temporarily, then you need to use a message based protocol with addressing (similar to IP, but can be simpler). Another possibility is a mesh configuration with a dedicated point to point connection between each Prop and all the others. This will give you the best network performance at the cost of increased wiring and pin usage.
List your network throughput expectations and other requirements for the network to help figure out the most optimal configuration.
Post Edited (Ken Peterson) : 9/8/2009 12:50:34 PM GMT
There's a serial driver in OBEX that is faster, up to·3 times·115200 baud = 346 kbps.
If that's still not fast enough, I think Beau has posted some higher speed code somewhere...
I think I would use the same 2 wires to all the boards and use a simple scheme so that the slaves only speak when spoken to...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm