This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

NRF5340 Max throughput

Hello,

I have a nrf5340dk communicating with nrf52840 dongle connected to a pc with UART baud rate of 2M.

Connection parameters are:

  • 7.5ms Conn interval
  • 1ms Slave latency
  • 247 MTU
  • 251 DLE
  • 2M PHY

nrf5340dk is configured as nus peripheral.

In the code, there is a high priority thread that is in an infinite loop calling bt_nus_send with a 244 byte buffer and here are the results I get when profiling the packets:


Although, in here it suggest I should be getting a ~1.3 Mbps throughput with 400 ms connection interval, but instead I get this:


I wanted to ask, is there something that needs to be additionally done to get the ~1.3 Mbps throughput or is this the limitation of the hardware, and if someone knows why I get less throughput when I set connection interval to 400 ms.

Additional info:

  • NRF Connect SDK: v1.8.0 and v1.9.1 were used, there was no difference between them
  • PC is running Windows 10, communicating via Blatann library
  • nrf5340's antenna is a few centimeters away from nrf52840 usb dongle
  • Thank you, that was the reason why the throughput was so slow with 400ms connection interval, this is the result I get after changing the event length:


    There are some weird packet issues for the first 20 seconds of the stream tho.

    I only want to circle back to my previous question, would it be possible to achieve 1.3 Mb/s throughput with the nrf52840 dongle or is this the limit of the hardware/default firmware?

  • Glad to hear that it worked.

    I have not been able to reach 1.3 Mb/s with the pc-ble-driver, and I think it's a combination of overhead of having the serialized softdevice communication and latency introduced by the USB transport. Scheduling of USB events on the PC may be delayed by other OS tasks.

Related