Master with many Slaves

Status
Not open for further replies.

premkumar9

Member
Hi,
When I have a Master which to need to communicate with many slaves through the RXD,TXD pins, is it possible for the slaves to communicate with master independently. That is whenever the slave wants to do so. The reason why I asked is if there is an attempt by more than one slave to communicate with the Master at the same time, won't it cause a conflict? If so, how such situations to be handled?
 
Through what? UART? SPI? I2C?

Assuming you mean UART, yep, there's a conflict. You can use open-collector logic but it'll definitely limit the speed if there's lots of pins and wire length involved.
You can also tristate the devices' TX pins which are not in use. But, that assumes you've got some mechanism in place to ensure no 2 devices are talking at the same time. You might have a master put out a specific instruction to slaves with unique addresses to request a specific one to transmit.

Also, at this point you might combine the RX and TX lines into one line out of each part, if it helps.
 
Through what? UART? SPI? I2C?
UART. I mentioned that it is TXD, RXD

You can use open-collector logic but it'll definitely limit the speed if there's lots of pins and wire length involved.
How open collector helps as far as conflict is concerned? Not clear
polling may work. But i liked the slaves communicate independently.

Also, at this point you might combine the RX and TX lines into one line out of each part, if it helps.
can you please elaborate this?
 

Why don't you try using CAN? It handles all that.
 
Some notes.

Most of the time when we talk about slave devices they can only speak when spoken to. The can not start a conversation. If one holds to this then you are talking about a multi master system.

The idea behind using open collector for the bus lines is that any device can pull them low at any time. It does not prevent collisions.

But a device that wants to talk can check to see if the bus is active by watching it for a while. This reduces collisions.

There are several ready made solutions for your need. Which depends on the distances, how many nodes, and the amount of traffic.
 
Understood

There are several ready made solutions for your need. Which depends on the distances, how many nodes, and the amount of traffic.
Can you pls give some idea where to look for such ready made solutions
 
You could keep it simple, use RS485 and poll each slave individually and get the slaves to send back data or a 'null' signal to indicate no data.

See '10 ways to bullet proof RS485 networks' in **broken link removed**
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…