This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

pc_ble_driver: Send multiple packets per connection interval?

Is it possible to _send_ multiple packets per connection interval, using the pc_ble_driver (and a nRF52 or nRF51 DK) in BLE CENTRAL role?

I found some answers on the devzone where the nRF52 is the peripheral role, but I want to do this with the nRF5x DK in CENTRAL role.

My peripheral device can receive multiple packets per connection interface, but I cannot seem to manage to get the pc_ble_driver application to actually send multiple packets per CI.

My goal is to maximize throughput for a firmware upgrade scenario. I am using 7.5 ms connection intervals, and an MTU of 20 (23 - overhead), and write-without-response (write commands, not requests) from the BLE CENTRAL. This all works fine, but my throughput is limited to 20×(1000÷7.5) bytes / sec = 2666 bytes/sec (about 20 kbps), which is a bit limited for a firmware upgrade.

Any suggestions or a code example would be very welcome!

Parents
  • Hi,

    Initially, there are no limitation on how many packets you can send per connection interval for pc-ble-driver. The problem is the transport layer, the communication between pc-ble-driver and the connectivity firmware, are not fast enough to feed enough packets to send multiple packets per connection event when you are using 7.5 ms connection interval. The relay that is happening between the PC, Jlink chip and nRF52 chip will also reduce the speed of the transport layer.

    You will be able to send more packets per connection event if you use a connection interval higher than 7.5 ms, but if your goal is to maximize the throughput it would be best to keep the connection interval at 7.5 ms.

     

Reply
  • Hi,

    Initially, there are no limitation on how many packets you can send per connection interval for pc-ble-driver. The problem is the transport layer, the communication between pc-ble-driver and the connectivity firmware, are not fast enough to feed enough packets to send multiple packets per connection event when you are using 7.5 ms connection interval. The relay that is happening between the PC, Jlink chip and nRF52 chip will also reduce the speed of the transport layer.

    You will be able to send more packets per connection event if you use a connection interval higher than 7.5 ms, but if your goal is to maximize the throughput it would be best to keep the connection interval at 7.5 ms.

     

Children
Related