Well, you have asked a lot of questions and I am sure I will only touch on a few of them. I suggest to start with, you should get familiar with the RS485 standard. This is a multi drop 2 wire serial bus. You may want to look at others also. This will allow you to have many devices hooked up to a single serial bus. Now as for most of your other questions, I think they could be answered by thinking through what you want to do. I would suggest a communication plan such that you have 1 master and all other devices are slaves, and the master will pole the slaves. In this manner you can have a large amount of communication on the bus. Or if the amount of data is not critical, but the response time is, you could have all the devices poised to transmit as soon as they know what they need to send, this method will require more collision detection (or simply resend if got a bad packet) As for priorities, and who gets what message, that can all be software and you can set it up.. Many people use the first 1 or 2 bytes to be the device address that you are talking to. I like to use an end of packet code, and mask my data so it will never contain that code. I use a RS485 bus that uses 2 wire from the PIC and I have it talking at 9600 BPS with the pole slave devices method. I use the interrupt to handel all my transmit and receive, while my main program runs and simply monitors my SENDING flag and also the LISTEN_TO_PORT flag. I use the same code in the slave devices. I have checksum error checking and device numbers. included in each packet. I hope this has been of some help to you in your ROBOT project... Let me know how it goes. O'h yea, to get started you can look up the LTC485 chip from L.T., or the ADM485 from Analog Devices. John Piccirillo wrote: > > Seasons Greetings, > > I'm looking for a method to network several micros for real-time response > in a robot. One micro may be looking for obstacles in the robot's path, one > may be counting pulses from the wheel encoders, one may be getting distances > for wall-following, one may be working a manipulator, etc. The point is that > it is necessary for them to talk to one another, but not to all the others, and > that some messages are more important than others (HEY - there's an immovable > object dead ahead!). > > 1. How are the micros hooked together, ie. what is the network topology? > Use a common bus? sequence through each? Wire the micros that talk to each > other together? > > 2. How are messages assigned priorities? Do/can they interrupt one another? > Should a message priority be part of the message? Is a Brook's style > subsumption scheme plausible? > > 3. How does a micro ready to send a message get the attention of the receiving > micro? Are interrupts necessary? How is message contention resolved? > Are interrupts a good idea, particularly when there's lots of messaging > going on? > > I concerned about how many I/O lines are required for each micro-to-micro > connection and the time it takes to pass a message around many micros, if that > topology is used. A message is a simple 24 bit serial transmission. > > Thanks and Merry Christmas, > > John- -- Giles L. Honeycutt gilesami@ix.netcom.com