Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Parameters affecting throughput in multilink central

Hi,

I have modified the multilink example to work with NUS and connect to 2 peripherals, but I'm facing issues with data transmission. I suspect really low throughput to be the culprit. 

I would like to know what factors and parameters can help me improve the throughput and also if any scheduling is required.

Thanks

  •  Basically you need to consider 4 parameters to increase throughput. 

    The Maximum Transmission Unit (MTU):

    This is by default 23 bytes, but can be increased to 247 in our Softdevice. The MTU is the packet length on the attribute level in the BLE stack and increasing the length will result in less overhead. 

    Data Packet Length Extension (DLE):

    This is the packet length on the Link Layer, and long MTUs without Long data packets on the link layer won't increase your throughput very much. If you increase both the DLE in addition to the MTU though, you will significantly decrease the overhead and hence increase the throughput.

    Event Length Extension (ELE):

    This will allow you to transmit data for a longer period of time. I.e. it allows you to send more packets per connection interval. 

    PHY:BLE v5 introduced 2Mbps mode, which will instantly almost double your throughput compared to normal 1Mbps mode. You can use this mode if you use nRF52832s in both ends of the links, but only a few phones available on the market support this yet. Note that to use 2Mbps mode you will have to upgrade to S132 v4 or higher. 

    Please refer to the S132 migration documents included in the Softdevice downloads for a short explanation of the APIs and methods you can use to implement the features above (It seems like the S132 v3.1.0 is missing a migration document, but you can use the one for v3.0.0). I believe MTU, DLE, and ELE should be covered in the S132 v3.0 migration document. 

    The maximum theoretical throughput for one link is ~1.4Mbps. If you have three links with optimal configuration it is pretty close to 1.4/3 = ~0.46Mbps per link.

Related