CHEAP Serial bus, control 200 devices, 50 meters



I never said it didn't work or wasn't reliable :-))

There are some very space efficient TCP/IP stacks around. I've noticed its quite hard to put a reliable communication protocol together. It takes some serious thought on fault detection, re-transmitting lost packets, time-outs, packet re-alignment, etc. So why try to invent something new if you can use something that already exists?
--
Reply to nico@nctdevpuntnl (punt=.)
Bedrijven en winkels vindt U op www.adresboekje.nl
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Nico Coesel wrote:

Very efficient ? TCP/IP allows to transmit block of 2^32bits in random packet order. To as many as 2^32 devices. It adresses 2^16 different ports per device. This is huge overkill when the packetlength is shorter than 250 bytes, to less than 255 devices.
Rene
--
Ing.Buero R.Tschaggelar - http://www.ibrtses.com
& commercial newsgroups - http://www.talkto.net
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

If you use a standard ethernet chip, it will do most of it for you at high speed using standard cabling, standard hubs / switches, etc. Besides, the more advanced IP stacks will collect a number of packets (nagle algorithm) for a given target and send them as one packet to reduce overhead. If you send a lot of short messages to a target from -let's say a PC- in a short period, the target will receive 1 or more long packets.
--
Reply to nico@nctdevpuntnl (punt=.)
Bedrijven en winkels vindt U op www.adresboekje.nl
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Nico Coesel wrote:

Yes, the ethernet chip does up to the IP level. Meaning 1500 something bytes, no ports, no retransmit, no reassembly. It may depend from which platform you look, from an 8bit micro TCP/IP is a heavy burden. I'd possibly prefer UDP if it had to be. The random transmissions have to be controlled somehow to reduce collisions. But a master- slave setup should do that nicely.
Rene
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

No, not UDP. You'll need something which is acknowledged. This gives you reliability and keeps the master waiting for the target to finish and acknowlegde the operation. This prevents overflowing the target's buffers.
--
Reply to nico@nctdevpuntnl (punt=.)
Bedrijven en winkels vindt U op www.adresboekje.nl
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Nico Coesel wrote:

Why not acknowledge on the application level ? Just an Ack is boring. A real reply would lower the load of the bus.
Rene
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Brook Stevens wrote:

This sounds like a recipe for disaster. You sure you want a system where a single-point failure can take down the whole shop? Can anything bad happen if a machine gets a bad or late or early command?
Sounds like local control at the workcell level, a PC or SBC with ethernet to the mothership, would localize faults, increase flexibility, remove the requirements for 50 meters and 200 machines/controller. Yes, you could do it with a microcontroller, but how much could you really save?
By the time you get the system designed, prototyped, tested, redesigned, built, installed, debugged, etc., you're likely to have exceeded your design budget and schedule by a large margin. Can buy a lot of hardware for those development labor dollars. If this were your tenth similar system, I might have a different suggestion.
mike
--
Return address is VALID.
Wanted, PCMCIA SCSI Card for HP m820 CDRW.
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

I'd suggest either...
RS485 in reasonable local clusters, with a tree structure of repeaters to localize faults and keep the fanout legal.
or
Ethernet, using the Lantronix Xport modules talking serial to a small local uP, or a Rabbit module to do the whole thing on one little board. The Ethernet hubs and cabling are dirt cheap, and it would be fast and very fault tolerant. You could do the whole thing for well under $100 per node.
John
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.