This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How is the connection interval controlled with multiple slaves?

If I have 10 slaves and one master in a bluetooth low energy network, and the connection interval for all 10 slaves are set to 7.5ms, how would the master manage this?

If I want to send a "trigger" signal to all 10 slaves, so they can act at the closest time. how should I do this? For example, all slaves are controlling their own ADCs, and I want the ADCs to start sampling at the same time after received the "trigger" signal from the master.

Parents
  • When the number of slaves increase, and the connection interval is kept low, the connection events will start overlapping at some point. At this stage, the device will have to drop events. I'm not sure what device you are using, but our SoftDevices will try to serve links that are close to supervision timeout. If there is a lot of interference, this particular setup could be very fragile.

    For your second question, it depends on your tolerances for "at the same time". If it's within the same second, simply sending e.g. write commands or notifications could be good enough. You could time this yourself, by looking at the spacing between the TX_COMPLETE events. These signalize that the remote peer has ACKed the packet.

    If you need millisecond precision, you should look into implementing the Current Time Service and synchronize time among the peers. Then you can signal a certain timestamp you want the sampling to start at.

  • Thank you, Ulrich. For the first question, there will be no more than one byte for the master to receive from each slave at every connection interval. I guess this will take the master less than 1ms. Will the master smart enough to spread the connection interval evenly to have more reliable connections? For example, at time 0ms, 7.5ms, 15ms ... to serve slave one; at 1ms, 8.5ms, 16ms ... to serve slave 2; at 2ms, 9.5ms, 17ms... to serve slave 3; ...

    For the second question, I need ms or better precision if possible. I'll look into the Current Time Service . Thanks again!

Reply
  • Thank you, Ulrich. For the first question, there will be no more than one byte for the master to receive from each slave at every connection interval. I guess this will take the master less than 1ms. Will the master smart enough to spread the connection interval evenly to have more reliable connections? For example, at time 0ms, 7.5ms, 15ms ... to serve slave one; at 1ms, 8.5ms, 16ms ... to serve slave 2; at 2ms, 9.5ms, 17ms... to serve slave 3; ...

    For the second question, I need ms or better precision if possible. I'll look into the Current Time Service . Thanks again!

Children
No Data
Related