nRF52840 DK as central (hci uart) : Zephyr : how to get max throughput

Hello,

I'm using nRF52840 DK (Central) and nRF52840 Dongle(Peripheral). Dongle flashed with Simulation program which transmits data. DK flashed with hci uart controller program which receives data. We are seeing throughput value only 48.7KBps (390kbps).
Same simulator used with Broadcom controller where we are seeing more throughput 75.4KBps.

DLE enabled on nRF52840 controller, seeing below event in btmon.
> ACL Data RX: Handle 64 flags 0x02 dlen 251

1. How to identify which PHY is used by controller?

2. How can we achieve high throughput? 

Parents
  • Hi Alaganraj,

    Please know that I have been assigned to support you. However, I would need more time to work on this. Hopefully by end of Monday next week I can return with more information.

    Best regards,

    Hieu

  • Hi Alaganraj,

    Could you please also elaborate how you setup your experiments?

    What is this "simulation program which transmits data?" How can you be sure it is the same when done with Nordic and with Broadcom? Do you mean you use the same Dongle? Or do you mean it is the same Zephyr firmware?

    On the Host end, how are you interacting with the HCI device?

    Best regards,

    Hieu

  • Hi Alaganraj,

    I understood your setup now.

    As a starting point with BLE throughput, I recommend you take a look at the Bluetooth: Throughput sample in NCS.

    The documentation of the samples I linked also describes how to tweak the connection parameters to achieve a higher throughput.

    Regarding the test setup, I will need some time to check with the internal team to see if we publicly share it. As I am partially out of office Mon-Wed, I will reach back to you latest by the end of Thursday.

    If you need the information urgently for some reasons, please let me know.

    Best regards,

    Hieu

  • Hi Hieu,

    we already considered these parameters in our program.

    • PHY

    • LE Data Length 

    • LE Connection interval

    anyhow we'll try from our end once you share setup details.

    We need to share throughput value to management at the earliest. 

    could you please share throughput numbers from your end?

  • Hi Alaganraj,

    Thanks a lot Hieu for looking into this thread. 

    Alaganraj said:

    1. Eagle - using Broadcom controller using UART HCI interface

    2. Panda - using Nordic controller using UART HCI interface

    I do not think that we have officially made any samples/tests for HCI throughput with UART. There are a lot of variables that can be tuned for getting variable throughput. For example, the sottware overhead of UART, packet loss, type of antennas used on the boards, connection parameters etc.

    To be able to make a comparison of apples with apples, we need to know the whole setup you used to configure the Broadcom controller, else we cannot know what variable in your configuration is favorable in which controller. 

    If you can give us the full details on how you tested this including all the parameters that need to be known to replicate the setup you have, then we can compare this at our end aswell. Else we cannot know why you see the differences. Otherwise we are quite confident with the quality of our controller in terms of BLE stack quality.

  • Hi Susheel,

    Lets not directly compare the throughput value with Broadcom now.

    First, We need throughput value for nordic controller(nRF52840 DK) using hci_uart program. 

    Can you please share this value?

  • Not really, I do not see that this is tested internally. That was the reason I was asking you for the setup and variables to be able to do it.

Reply Children
Related