BLE5 CODED PHY Connection parameters for peripheral if central has 8 peripherals.

Hi,

I am using nrf52840 with nrfSDK-16.0, Ble5 coded PHY( S=8 ). I am using ESP32S3 as central and nrf52840 as peripheral device. I want to connect to 8 peripherals with the central and will send 244 bytes per minute from each peripheral to the central. we are planning to send the data (~74kB) continuously at certain intervals. 

How should I choose the connection parameters so that it supports both. Is there is any formula to find the connection params?. I have tried multiple params but we are receiving disconnection from central with  reason -{ BT_HCI: hcif disc complete: hdl 0x2, rsn 0x8 }. 

Please suggest us the connection parameters to achieve the above state.

Thank you,

Shreya

  • Sorry, I didn't have time for a proper answer today. In general, I would say you want a long connection interval for all the connections. Also, if you struggle to maintain the connections, you can try to limit the DLE (so that each connection gets less air-time). 

    central and will send 244 bytes per minute from each peripheral to the central. we are planning to send the data (~74kB) continuously at certain intervals. 

    Can you explain this in a bit more detial? Are you thinking of 244 bytes one time every minute, or spread over the minute?

    Best regards,

    Edvin

  • Sorry, I didn't have time for a proper answer today. In general, I would say you want a long connection interval for all the connections.

    It's okay, you can suggest to us whenever you get time. If you have any formula to calculate the optimal connection interval, that would be really helpful.

    Can you explain this in a bit more detial? Are you thinking of 244 bytes one time every minute, or spread over the minute?

    It is one time every minute from each peripheral. 

  • Shreya J B said:
    If you have any formula to calculate the optimal connection interval, that would be really helpful.

    I don't have one. I suggest you look into the Online Power Profiler:  Online Power Profiler for Bluetooth LE For checking your data throughput, and how much time it takes to handle each connection. Note that you need to select "Connection (central/peripheral)" in order to be able to select Coded PHY as your selected PHY. Then enter the amount of data you intend to send every connection interval, and use the graph to determine how much time it spends on one single connection. Then, your connection interval needs to be at least N times that, in order to properly and consistently handling N connections.

    I would say that you should just try with some parameters and see if it works. There will be data loss, but that is automatically handled by the softdevice, and retransmitted. Just don't set the supervision timeout for the connections too low. Set it to e.g. 4 seconds, which is the default in most of our examples. If you see random disconnects during the burst mode, try increasing it to 10 seconds. 

    Have you experimented with the burst mode with only one connection? What is the throughput you are looking at?

    Best regards,

    Edvin

Related