Project #019: Updating BLE Connection Parameters

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

I'm working on a low power device for which I plan on using the Connection Parameters update functionality.  I tested using Proejct 19 to verify the functionality before implementing into my project, but noticed that the procedure draws a lot more current then I'd expect.  During the 6 or 7 intervals that the BLE spec requires the device to listen prior to the interval switch, the device stays awake for about 100ms each interval.  I'm wondering if anyone knows of a method to reduce the awake time of these periods.

   

A capture of the current draw is attached.

0 Likes
1 Solution
Anonymous
Not applicable

As per AN92584, maintaining an idle connection with a 100-ms interval consumes 148 µA. If the same connection is updated with a slave latency value of 9, the current consumption drops to 17 µA. What is the actual connection interval set and to what interval/slave latency is it being updated?

View solution in original post

0 Likes
2 Replies
Anonymous
Not applicable

As per AN92584, maintaining an idle connection with a 100-ms interval consumes 148 µA. If the same connection is updated with a slave latency value of 9, the current consumption drops to 17 µA. What is the actual connection interval set and to what interval/slave latency is it being updated?

0 Likes
Anonymous
Not applicable

Thank you BMAH for the reply.

   

I apologize if I didn't explain the situation very well.  Its not the normal operation that is drawing a large amount of current.  Things are running as expected before and after the BLE parameter update process.  It is the update process itself that I've identified as drawing current for periods much longer than I would expect.  If you are familiar with the process in question, the BLE spec says the device must listen for at least 6 of the old intervals prior to the switch over to the new interval settings.  My assumption is that these 6+ intevals are meant to synchronize the two devices so they don't loose each other during the switchover.

   

It looks like Cypress has implemented 8 intervals of listening.  During these 8 intervals the processor stays awake for over 100ms.  My question is whether it is necessary for the processor to stay awake that long or if there is a way to go to sleep sooner and improve current draw characteristics.

   

I do have a Tech Support ticket submitted for this and have received a response that the team is looking into this process.

0 Likes