Maximum throughput nRF5340

Hi,

As i understand from the docs, the max throughput for BLE in nrf5340 is 1.4mbps. Ideally, we would like to achieve this, however anything near to 1mbps would be great.

We are planning to make a peripheral device based on nrf5340 that sends data to a central device (an nrf5340 board initially, a phone later). Before starting the development I would like to get confirmation on a few points -

1. How can i achieve the maximum possible BLE throughput as shown below for a single connection with 247 byte ATT MTU ?

Bluetooth version & PHY used BLE5, 2M
DLE: Data Length Extensions – enable
ATT MTU data length value 244
Connection interval 7.5ms
Operation (writes without responses or notification) notification
Inter Frame Space (IFS): 150 microseconds
Max packets per connection event - 6

What is the maximum supported value for packets per connection event? If i increase connection interval to 400ms, can i increase packets per interval also accordingly?

2. As we have bulk data transfer of around 64 MB( full day data), i guess "Send notification" method would be the best way to achieve max thoughput ? Is there anything else to take care of to achieve the same?

3. How to calculate the approximate time taken for 64 MB data transfer to a central device assuming ideal conditions? In this case it would be (64MB * 8) /1mbps = 512 seconds ?

regards,

Vinu 

Parents
  • Hello Vinu,

    Have you had a look at the BLE throughput test sample? I think that would be a good starting point.

    What is the maximum supported value for packets per connection event?

    Could you expand a bit on this part?

    If i increase connection interval to 400ms, can i increase packets per interval also accordingly?

    That depends on the host. If using a phone is your end goal, then you should investigate what limitations that is giving you. Some might only allow data tramission for 100ms, even though you have connection interval of 400ms. And some limit the number of packets (There used to be a limitation of 6 packets for iOS/Android a long time ago).
     

    2. As we have bulk data transfer of around 64 MB( full day data), i guess "Send notification" method would be the best way to achieve max thoughput ? Is there anything else to take care of to achieve the same?

    Yes, send notification method should be used.

    3. How to calculate the approximate time taken for 64 MB data transfer to a central device assuming ideal conditions? In this case it would be (64MB * 8) /1mbps = 512 seconds ?

    Unfortunately this isn't that straight forward. You might be right in that you can't really achieve 2M in nRF5340 for some specific reason related to 53 (I haven't really checked/updated myself on this part). But you would typically get something like 700kbps and 1.2-1.3mb in practice (for a 1M and 2M PHY respectively), due to overhead and packetloss.

    For more info, have a look here and here.

    Regards,

    Elfving

  • Thanks Elfving. Please dont close the thread. I will get back to you soon after some testing.

  • Sounds good Vinu.

    Btw, we generally don't close cases here unless you state that you've found a solution or "verify" an answer.

    Regards,

    Elfving

Reply Children
No Data
Related