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

BLE Maximum speed

I am using the nrf52832 with the s132 for a project in which I have a frame with 24 bytes that need to be transmitted through BLE. I have followed the tutorials and I have developed my own_service with its own characteristics transmitting 20 bytes. Is it possible to transmit up to 24bytes? Or would I need to create another characteristic in order to achieve this? Another question is related with how fast can I go for this frame size. Is it possible that the time required for doing a single transmissions is it lower that 1ms? How can I calculate this? What is the time required for doing this transmissions ? Thank you in advanced!

Parents
  • About the time it takes to send data as a peripheral you can check the power profile here for an example using S132 v2. The profile should be similar with the other versions of S132. 20 bytes effective data equals 27 byte link layer data which is used in the profile. If you need to send two packets, the extra time will be time for one packet of 20 bytes + switch + RX + switch + TX 4 bytes.

    Remember that the packet is sent in the connection event, so the time from you call sd_ble_gatts_hvx(..) to the packet is sent will also include the time to the connection event which may be as large as the connection interval.

    Let me know if you rather meant how many of these packets you can send per second. This will depend on how many packets you can send per connection event. Simplified:

    Packets per connection event * bytes per packet / connection interval.
    

    See here for numbers.

Reply
  • About the time it takes to send data as a peripheral you can check the power profile here for an example using S132 v2. The profile should be similar with the other versions of S132. 20 bytes effective data equals 27 byte link layer data which is used in the profile. If you need to send two packets, the extra time will be time for one packet of 20 bytes + switch + RX + switch + TX 4 bytes.

    Remember that the packet is sent in the connection event, so the time from you call sd_ble_gatts_hvx(..) to the packet is sent will also include the time to the connection event which may be as large as the connection interval.

    Let me know if you rather meant how many of these packets you can send per second. This will depend on how many packets you can send per connection event. Simplified:

    Packets per connection event * bytes per packet / connection interval.
    

    See here for numbers.

Children
No Data
Related