Connection interval and tx throughput

Hi,

I'm testing maximum tx throughput.

I'm using ble_app_hrs example and mcu is nRF52832(s132). (sdk : 16.0.0)

The goal is transmit data at 96Kbps. 

I read that the throughput is related to connection interval and MTU size. (in this post)

MTU size of ble_app_hrs example is 247. So, i changed connection interval.

I have some question about tx throughput.

1. When i set connection interval (both MIN and MAX) to 400ms, peripheral disconnected (reason:BLE_HCI_CONNECTION_TIMEOUT).

#define MIN_CONN_INTERVAL                   MSEC_TO_UNITS(400, UNIT_1_25_MS) 
#define MAX_CONN_INTERVAL                   MSEC_TO_UNITS(400, UNIT_1_25_MS) 

This is the log.

14:14:09.545	Connecting to device
14:14:12.799	Connected to device EB:6B:7A:0D:87:72: interval: 7.5ms, timeout: 4000ms, latency: 0
14:14:12.829	ATT MTU updated for device EB:6B:7A:0D:87:72, new value is 247
14:14:12.839	Data length updated for device EB:6B:7A:0D:87:72, new value is 251
14:14:13.072	Attribute value read, handle: 0x03, value (0x): 48-45-48-30-30-31-20-38-37-3A-37-32
14:14:17.852	Connection parameters updated for device EB:6B:7A:0D:87:72: interval 400ms, timeout 4000ms, latency: 0
14:14:22.256	Disconnected from device EB:6B:7A:0D:87:72, reason: BLE_HCI_CONNECTION_TIMEOUT

2. About Data length extension.

Is ble_app_hrs example is applied Data length extension?

If not, what code should I modify?

  • Hi, 

    The Central device will set the connection interval that best suits its needs given a requested range from a peripheral device. This means that you are not guaranteed to get the connection interval that you desire. You could use the default setting as the ble_app_hrs example. 

    Data length extension enables the softdevice to overstay the configured event length in sdk_config.h (see NRF_SDH_BLE_GAP_EVENT_LENGTH). Also, see this post

    Regards,
    Amanda

Related