What is connection parameters?

What are the connection parameters for a Bluetooth low energy link, and how do they affect performance?

Parents
  • The connection parameters for a BLE connection is a set of parameters that determine when and how the Central and a Peripheral in a link transmits data. It is always the Central that actually sets the connection parameters used, but the Peripheral can send a so-called Connection Parameter Update Request, that the Central can then accept or reject.

    There are basically three different parameters:

    • Connection interval: Determines how often the Central will ask for data from the Peripheral. When the Peripheral requests an update, it supplies a maximum and a minimum wanted interval. The connection interval must be between 7.5 ms and 4 s.
    • Slave latency: By setting a non-zero slave latency, the Peripheral can choose to not answer when the Central asks for data up to the slave latency number of times. However, if the Peripheral has data to send, it can choose to send data at any time. This enables a peripheral to stay sleeping for a longer time, if it doesn't have data to send, but still send data fast if needed. The text book example of such device is for example keyboard and mice, which want to be sleeping for as long as possible when there is no data to send, but still have low latency (and for the mouse: low connection interval) when needed.
    • Connection supervision timeout: This timeout determines the timeout from the last data exchange till a link is considered lost. A Central will not start trying to reconnect before the timeout has passed, so if you have a device which goes in and out of range often, and you need to notice when that happens, it might make sense to have a short timeout.

    Depending on which platform you're working with, there can be platform specific recommendations or requirements on these. For iOS, Apple maintains a "Bluetooth Accessory Design Guidelines" document, which among other things includes rules on these parameters.

  • "When the Peripheral requests an update, it supplies a maximum and a minimum wanted interval. " I think the Peripheral tells the Central the max and min connection interval , and the central will respond with a connection interval that may or may not be in this range.

    But what's the real connection interval ,for example , in the project of *\nrf51822\Board\nrf6310\s120\experimental\ble_app_multilink_central? Is the Central determine the connection interval ?And how can I change the connection interval?

    thx a lot!

Reply
  • "When the Peripheral requests an update, it supplies a maximum and a minimum wanted interval. " I think the Peripheral tells the Central the max and min connection interval , and the central will respond with a connection interval that may or may not be in this range.

    But what's the real connection interval ,for example , in the project of *\nrf51822\Board\nrf6310\s120\experimental\ble_app_multilink_central? Is the Central determine the connection interval ?And how can I change the connection interval?

    thx a lot!

Children
No Data
Related