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

Recommended configuration for data length extension + multiple connections

Hi

The concept of setting the event_length (the time set aside per connection) was introduced post softdevice v3.0.0. To my understanding, with softdevice v3.0.0, the softdevice dynamically sets the time allocated per connection depending on the number of connections. My questions are:-

  1. Is it possible to replicate this behavior for the current version (v5.0.0) of the softdevice?
  2. What is the relation (if any) between 'event_length' and 'connection interval'?
  3. What is the recommended configuration for achieving both data length extension and 8+ connections?

To give some context, we are currently trying to write an app which is capable of both: data length extension and 8 simultaneous connections+pairings. We are therefore setting our event_length to 320 (i.e. 400ms for data length extension and high throughput) and our conn_count to 8 when enabling the softdevice. Everything works fine and we don't get any errors when enabling the softdevice. However, when we try to pair with the connected devices, the pairing process fails. This looks to be a timing issue because successful pairing is performed over several connection intervals. When we change our event_length to BLE_GAP_EVENT_LENGTH_DEFAULT (3), the process succeeds without an issue. Also, the same process succeeds on v3.0.0 of the softdevice.

We are using softdevice S132 v5.0.0 on an nrf52832 chip.

Thanks

Parents
    1. Not really dynamically with v3.0.0. The amount of time allocated depended on the bandwidth configuration. And then you had connection event extension that kicked in if there was more time.

    2. The event length specifies the length reserved for a connection event, the connection interval specifies the maximum event length.

    3. Have you seen this? With 8 central connections with a connection interval of 400 ms on each, and even distribution of "throughput". I would set the event length to around 50 ms, but this has to be tuned. 400 ms event length and 400 ms connection interval should only be used if you have 1 connection, because then you are giving all radio time to one connection.

  • Yes. They are in us range. And now you have to set the event length units of 1.25 ms. The minimum event length is 2 (2500 us). So that would be be closest to low bandwidth. 3 (3750 us) would be closest to medium bandwidth. 5 (6250 us) or 6 (8750 us) would be closest to high bandwidth.

    You other point seems to be answered by this paragraph in the Suggested intervals and windows section in the S132 v5 SDS:

    When long Link Layer Data Channel PDUs are in use, it is recommended to increase the event length of a connection. For example, Link Layer Data Channel PDUs are by default 27 bytes in size. With an event length of 3.75 ms, it is possible to send three full sized packet pairs on LE 1M PHY in one connection event. Therefore, when increasing the Link Layer Data Channel PDU size to 251 bytes, the event length should be increased to 15 ms. To calculate how much time should be added (in ms), use the following formula: ((size - 27) * 8 * 2 * pairs) / 1000.

Reply
  • Yes. They are in us range. And now you have to set the event length units of 1.25 ms. The minimum event length is 2 (2500 us). So that would be be closest to low bandwidth. 3 (3750 us) would be closest to medium bandwidth. 5 (6250 us) or 6 (8750 us) would be closest to high bandwidth.

    You other point seems to be answered by this paragraph in the Suggested intervals and windows section in the S132 v5 SDS:

    When long Link Layer Data Channel PDUs are in use, it is recommended to increase the event length of a connection. For example, Link Layer Data Channel PDUs are by default 27 bytes in size. With an event length of 3.75 ms, it is possible to send three full sized packet pairs on LE 1M PHY in one connection event. Therefore, when increasing the Link Layer Data Channel PDU size to 251 bytes, the event length should be increased to 15 ms. To calculate how much time should be added (in ms), use the following formula: ((size - 27) * 8 * 2 * pairs) / 1000.

Children
No Data
Related