Higher connection interval with lower throughput

Hi

I am using NCS 2.8 and running one pair of peripheral and central devices using nRF52832.

At first, the default interval is 50 ms, and I can get the throughput around 200 kbps, which is correct.

After updating the connection interval to 625 units, the througphut became lower, around 5kbps. I have even checked the maximum interval 3200 units, the throughput is quite low, with 2 packets sent in one interval inducing 0.98kbps. Seems that every interval only send two packets (my payload is 244 bytes).

[TP] t=28060 ms, bytes=488, tp=0.976 kbps

[TP] t=32060 ms, bytes=488, tp=0.976 kbps

[TP] t=36060 ms, bytes=488, tp=0.976 kbps

[TP] t=40059 ms, bytes=488, tp=0.976 kbps

[TP] t=44059 ms, bytes=488, tp=0.976 kbps

[TP] t=48059 ms, bytes=488, tp=0.976 kbps

[TP] t=52058 ms, bytes=488, tp=0.976 kbps

[TP] t=56058 ms, bytes=488, tp=0.976 kbps

My project config has considered the "high througput config" like this in both peripheral and central:

CONFIG_BT_BUF_ACL_RX_SIZE=502
CONFIG_BT_ATT_PREPARE_COUNT=2
CONFIG_BT_ATT_TX_COUNT=10
CONFIG_BT_L2CAP_TX_MTU=498
CONFIG_BT_L2CAP_DYNAMIC_CHANNEL=y
CONFIG_BT_CONN_TX_MAX=10
CONFIG_BT_BUF_ACL_TX_COUNT=10
CONFIG_BT_BUF_ACL_TX_SIZE=502
 
CONFIG_BT_CTLR_DATA_LENGTH_MAX=251
CONFIG_BT_CTLR_PHY_2M=y
CONFIG_BT_CTLR_SDC_MAX_CONN_EVENT_LEN_DEFAULT_OVERRIDE=y
CONFIG_BT_CTLR_SDC_MAX_CONN_EVENT_LEN_DEFAULT=4000000

But I still cannot get stable througput, why the packets number in the interval has been fixed? Could you give me some advice on that?

My code are:

5417.peripheral.zip

4331.central.zip

Parents Reply Children
No Data
Related