How many BLE slaves can communicate to a master and what sort of data rates?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
SaWa_284216
Level 4
Level 4

It is all in the question really, I would like to possibly have up to 100 slaves talking to a master over a network but I am unsure on what kind of data rates we would be talking about per slave. At the moment my solution is using RS485 and Modbus and I can get data rates to each slave of around 115200 Baud.

   

 

   

Has anyone managed to get a large number or even any number of slaves communicating, do you have any information on how speed changes per amount of slaves on a network?

   


Thanks

0 Likes
6 Replies
SaWa_284216
Level 4
Level 4

I should have said this is all within one room, not spead out on a factory floor or anything. Distances should be open air and probably all under 30 metres.

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Unfortunately you can make up only one BLE connection at a time. Only way out could be to connect to one module after the other in a sort of polling. An additional "Whitelist" would help when the devices are static and do not change. In the 100 projects for BLE is an example but it only uses a few connections.

   

 

   

Bob

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Looks doable, primary issue seems to be latency to connection .

   

 

   

BLE connection rates look like -

   

 

   

A single master can address ~231 slaves
~ 2 billion addressable slaves per master

   


Max Connection Interval = 4.0 seconds
Can address a slave every ~ 5 ms (assuming 250 ppm clocks)
~ 800 active slaves per master


0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Some useful references -

   

 

   

http://www.cypress.com/?id=5509 100 Projects in 100 Days with Bluetooth

   

http://www.cypress.com/?rID=102799&source=psoc4ble     FAQs

   

http://www.cypress.com/?rID=102512     AN91445 - Antenna Design Guide

   

http://www.cypress.com/?rID=102505     AN94020 - Getting Started with PRoC™ BLE

   

http://www.cypress.com/?rID=110007     AN92584 - Designing for Low Power and Estimating Battery Life for BLE Applications

   

http://www.cypress.com/?rID=109900     AN91162 - Creating a BLE Custom Profile

   

http://www.cypress.com/?rID=110107     AN91184 - PSoC 4 BLE - Designing BLE Applications

   

http://www.cypress.com/?rID=102504     AN91267 - Getting Started with PSoC® 4 BLE

   

 

   

Regards, Dana.

0 Likes
SaWa_284216
Level 4
Level 4

Hi Dana, Thanks for that invaluable information.

   


So if I understand this right, BLE is capable of sending 0.2Mbps to the slaves, so in bytes 25kBps

   

At ~5ms per connection we can address 200 slaves a second and at 25kBps we are talking a transmission of maximum 125 bytes per slave for 200 slaves.

   

What I don't understand is the 4 seconds figure, does that mean I can't stay connected to one slave for more than 4 seconds?

   

Also as someone with no RF experience whatsoever, is there anything stopping me from having say 4 BLE masters next to each other -each talking to 50 slaves or will the comms interfere with each other and go haywire?

   

Thanks again

   


Sam

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given
    
     
      

Data Throughput

     
    
   
   

The modulation rate of the Bluetooth Low Energy radio is set by the specification at a constant 1Mbps. This sets the theoretical upper limit for the throughput that BLE can provide, but in actual terms, this limit is typically lowered significally by a variety of factors, including but not restricted to bidirectional traffic, protocol overhead, CPU and radio limitations, and artificial software restrictions.

   

To illustrate some of these practical restrictions, consider the following basic preconditions we’ll use for a calculation:

   
    
         
  • A central (master) device has initiated and established a connection with a peripheral (slave) accessory.
  •      
  •  
  •      
  • While in an active connection, the specification defines the connection interval to be the interval between two consecutive connection events (a data exchange before going back to an idle state to save power), and this connection interval can be set to a value between 7.5 ms and 4 s.
  •     
   
   

 

   

According to Bluetooth Low Energy specs, the connection interval determines the time between the start of the data packet exchange sequence called connection events, and it can be from 7.5 ms to 4 seconds. This value is closely linked with the power consumption, being higher the consumption when the value is smaller.

0 Likes