Write Response Delay Problem in PAN1026

Hello,

I am working on PAN1026 and want to achieve maximum data rate.

I have set the ble connection interval to 7.5 milliseconds (which is minimum possible).

When I perform a write request from android application, PAN1026 send write response with a delay of 33-50 milliseconds.

In best case, It should send the response within approximate delay ~=

connectionInterval.

Due to this delay i am not able to achieve a good throughput.

I have tested with several android devices ( Hawaii, Samsung, pixels) but results are same.

Can you please help me why PAN1026 is introducing some much delay in write response?

Is it a problem in PAN1026 firmware?

How I can make it better?

I am using SDK version 2.0.

Can you tell If the new SDK can provide higher throughput? Then I will move to new one.

 

Regards

3replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • For your information: There is no PAN1024 module, only PAN1026. So I changed PAN1024 to PAN1026 in your post so that your question can be correctly found when searching for PAN1026.

    In best case, It should send the response within approximate delay ~= connectionInterval.

    Can you please help me why PAN1026 is introducing some much delay in write response?

    As you know PAN1026 requires an external host processor that handles all the application logic with regard to Bluetooth Low Energy. All information between PAN1026 and the host processor are transmitted via UART.

    If your remote device (the mobile phone) does a GATT procedure then this information travels from PAN1026 to the host processor via UART for further processing. This transfer alone takes so long, that at least one connection interval is missed. Then your host processor needs time to processor the request, then the response needs to be send back to PAN1026 via UART again.

    It is not uncommon that a couple of connection intervals are lost in this processing.

    Is it a problem in PAN1026 firmware?

    No. PAN1026 supports Bluetooth Low Energy 4.0 and at that time having a power-aware alternative to Bluetooth Classic was importating. Data throughput was not a focus point.

    How I can make it better?

    The only thing that you can really do is to increase the speed of the UART to minimize the impact of the data transfer via UART. However, this will likely not make much difference, because the required processing is not sped up.

    I am using SDK version 2.0.

    Can you tell If the new SDK can provide higher throughput? Then I will move to new one.

    No, a new SDK version will not make a difference.

    In your case PAN1026, Bluetooth 4.0 plus the need to use a host processor limit the processing speed.

    Like
  • Thanks for your reply.

    It means that the dealy is due to hardware limitation.

    Currently, I am using UART with a baud rate of 115200.
    Does PAN1026 support other higher baud rate?

    Like
  • PAN1026 supports up to 921.6kbps on the UART.

    However, the main limiting factor is the two-chip architecture with the UART communication in between. The additional processing that is necessary for UART processing increased the latency.

    Also PAN1026 is Bluetooth 4.0 only and the internal architecture is not optimized for minimizing the latency and maximizing throughput.

    Increasing the baud rate will not increase the responsiveness of your application dramatically.

    Like
Like Follow
  • Status Answered
  • 1 yr agoLast active
  • 3Replies
  • 37Views
  • 3 Following