BLE connection intervals and events in under 5 minutes

 

Understand BLE connection intervals and events in under 5 minutes

A BLE connection interval is the time between two data transfer events (BLE connection events) between the central and the peripheral device. The theoretical value ranges from 7.5 ms to 4 secs (with increments of 1.25 ms). A few notes regarding BLE connection intervals:

  • The connection is established with the interval parameter value set by the master (central) device. However, the peripheral may suggest/request different values. The master still has the final say in the values and may end up choosing values different than but closer to the requested values. However, this feature allows dynamic changes in the connection interval (and thus the throughput speed) during a connection which may address a need in larger data transfers.
  • The parameter value has to be chosen with a balance of throughput and power consumption in mind. A high connection interval value (e.g. 4 seconds) will decrease power consumption but decrease the throughput of data, and vice versa.
  • Sometimes the BLE stack on peripheral devices allows setting a minimum and maximum connection interval. The maximum connection interval value provided by the peripheral allows the central to choose an accepted value within the range rather than choosing a value different than the minimum and possibly outside the acceptable range for the peripheral device.

It’s important to understand that multiple packets can be transferred during one connection event. Each OS/device (iOS, Android.. And their different versions etc) may have different max numbers of packets that is allowed per connection event. Smartphones also perform many tasks which means the data transfer may not occur at the calculated rate as well (the central device may be busy performing other tasks delaying the packet transfer process).

Throughput is also affected by interference in the 2.4 GHz spectrum, and if a packet (or packets) fails to transfer correctly then a retransmit will occur thus decreasing the calculated throughput.

To learn more about this and specifically the effect of this parameter on BLE data throughput I’ve found a great blog post covering this topic here.

3 Comments

  1. Avatar Kai-Wei Ke on May 22, 2019 at 11:21 pm

    Yes. It does. I will read the reference you provided. Thank you so much.
    Good day.
    Kai-Wei

  2. Avatar Kai-Wei Ke on April 18, 2019 at 6:15 am

    Dear Afaneh,

    I am really appreciated to your sharing. As I learned from Nordic Semiconductor Infocente, GAP event length plays a important role to the BLE throughput. I got a question. What is the meaning (definition) of GAP event length and the relation between the GAP event length and connection interval? Can the GAP event length be greater that connection interval?

    Thanks a lot for your time.
    Kai-Wei

    • Mohammad Afaneh Mohammad Afaneh on April 18, 2019 at 2:52 pm

      Hi Kai-Wei,

      Thanks for your comment.

      The Connection event length (which is what I assume you’re referring to by “GAP event length”) is used primarily to increase the number of packets that can be sent within a single connection event. So, from my understanding, it cannot be greater than the connection interval value.

      Here’s a good discussion on the DevZone that explains it well: https://devzone.nordicsemi.com/f/nordic-q-a/22698/setting-gap-connection-event-length—ble-hrs-c-demo

      Hope this helps.

      -Mohammad

Leave a Comment