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

S120 throughput

Hi to all!

I have few questions about throughput when using s120:

  1. What is the max number of packets that could be send/received in one connection interval when using S120? (s120 specification, chapter 13 says 1tx/1rx, Hung Bui in post says 2tx/1rx, other definitions i didn't find...)
  2. A bit more tricky... In my project, my device connects up to 5 devices, some of them are smart devices. Now I'm wondering what is the best way of setting up connection interval?

Considering that smart devices have different limitations e.g. if I set min connection interval to 20 ms and max to 50ms then some of "smart" devices will set connection interval to 37.5ms. There is no problem until some other device can't communicate at such interval (Is this possible?). Who or what gurantee to me that devices will have a common factor? If not probably there will occure some collisions and connections could get dropped if supervision timeout is not realy long long.

If i refer to equation in s120 specs, chapter 11.4 where is written that connection interval should be >= "Number of devices" * Teeo + scanWindow + Tscan_reserved... During testing with 20ms connection interval some of devices get disconnected. Increasing it up to 50ms helps and connections get stable, but now is throughput 400KBps (1 packet per interval * 20 * 1/0.05) and it's to low... Is there something i can do (maybe more sophisticated way to set connection intervals) or this is the max what can i reach with s120?

Thank you!

BR Matej

Parents
  • @Matej:

    1. On S120 we do have 2 buffer for TX but the scheduler limited it to only one packet per connection interval. So in general it's correct to say that it only support 1 packet per conection event both TX and RX. I will update the case. Thanks for reporting.

    2. Could you let me know how many devices have you connected ? and the configuration for scan window you have ? It's pretty strange that you got your devices disconnected. The scheduller is designed so that if the connection going to have timeout, it will have the highest priority and will preempt other connection event. Futhermore, if they all 20ms they should not cause packet drop. As shown in Figure 15 in the S120 spec.

    I would suggest you to record a sniffer trace to see what happens over the air. I suspect high rate of packet drop due to interference.

  • Hung Bui, thank you for additional explanation... Yes, this is true - in section 11.4 in the S120 specs 20ms connection interval is recommended. Everything works just fine with 50ms connection interval... but i would like to optimize my system that i can get the max throughput that is possible - without or at least minimizing the number of retransmitted packets.

    E.g. if I have one device connected - I think that there should not be any problem to have connection interval 7.5ms and scan window 2.5ms as ble core specs defines. Considering to equations in s120 specs is minimal possible configuration 10ms for connection interval and 2.5ms for scan window or am I wrong? If I connect to second device I need to update connection parameters for 1st device and when creating a new connection use new/higher values e.g connection interval: 12.5ms and 2.5ms for scan windows.

    Thank you!

Reply
  • Hung Bui, thank you for additional explanation... Yes, this is true - in section 11.4 in the S120 specs 20ms connection interval is recommended. Everything works just fine with 50ms connection interval... but i would like to optimize my system that i can get the max throughput that is possible - without or at least minimizing the number of retransmitted packets.

    E.g. if I have one device connected - I think that there should not be any problem to have connection interval 7.5ms and scan window 2.5ms as ble core specs defines. Considering to equations in s120 specs is minimal possible configuration 10ms for connection interval and 2.5ms for scan window or am I wrong? If I connect to second device I need to update connection parameters for 1st device and when creating a new connection use new/higher values e.g connection interval: 12.5ms and 2.5ms for scan windows.

    Thank you!

Children
No Data
Related