Hi! I want to Know how to connect and program multiple AT89c51 on a common serial bus so that no one can produce conflict with another client AT89C51, how can i ensure the bus conflict in case of multi master system.What would be the maximum number of clients i can handle on this common bus system.can i find some theory/stuff/material regarding this issure. Regards! Ahmad Kamal.
Ahmad, Multi-master serial systems can be a tricky situation. One possible way (although I'm not sure if this retains the multi-master moniker) would be to implement a token-passing scheme. Use some structured method to pass the token from one node to another, and then when that node owns the token, it is free to act as master. When it's finished, it passes the token to the next. Looking up "token passing" will give you some idea what I mean. This is what the old "token ring" ethernet networks did to try to prevent conflicts. Also, depending on how you define conflict, you might implement a physical layer that provides collision detection. This is what 10Base-X implements for Ethernet. If two things try to send a packet at the same time, they each pick a random wait time and try again. This has its own set of worries associated with it as well though.
Thanks Every one who anticipated toward my request ,furthermore how can i code a ring buffer Regards. Ahmad Kamal Nasir
Maybe this helps: http://www.keil.com/download/docs/intsio.zip.asp If not, search the programs in: http://www.keil.com/download Reinhard
Language, language from Arabic (I assume) to English to German a ring buffer becomes a circular buffer :) Erik Anyhow, Ahmad, I would avoid the ring buffer concept, it is a nightmare when one node goes down. Erik
View all questions in Keil forum