Inquiry Regarding Low Power Mode API for BLE Radio of KW45

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Inquiry Regarding Low Power Mode API for BLE Radio of KW45

1,640 Views
Mohamed-Sofien
Contributor I

Hello all,

I'm writing to inquire about the availability of an API that allows me to enter the BLE radio into a low power mode (Deep SleepPower DownDeep Power Down).

Could you please provide information if your SDK offers such functionality or API? If so, I would greatly appreciate any documentation or guidance on how to utilize this feature effectively within my application.

Additionally, if there are any best practices or recommendations for minimizing power consumption while using the BLE radio, I would be eager to learn more about them.

Thank you for your attention to this matter. I'm looking forward to your prompt response and assistance.

0 Kudos
Reply
12 Replies

1,601 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @Mohamed-Sofien 

Thanks for creating case to us and hope you are doing well.

For low power mode, you can refer to our guide: KW45_K32W1_Low_Power_Connectivity_Refernce_Design_User_guide.pdf 

which is located in our SDK below path:

SDK_2_12_7_KW45B41Z-EVK\docs\wireless\Common\

And you can download our full SDK in below website:

https://mcuxpresso.nxp.com/en/select

Just input "KW45" and choose sdk version then build SDK, then you can download it.

Please do not hesitate to reply me if have any other queries.

 

Best regards,

Christine.

Tags (1)
0 Kudos
Reply

1,542 Views
Mohamed-Sofien
Contributor I

Hello @Christine_Li,

Thaks for your feedback,

I read the guide you mentionned above and i found the API PLATFORM_EnterDeepPowerDown() in the SDK example "Low-power peripheral reference design application". This function enters the radio domain into Deep Power Down mode, but I didn't find an API that sets the radio domain explicitly into Deep Sleep and Power Down modes.

0 Kudos
Reply

1,523 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @Mohamed-Sofien 

Thanks for your reply.

Please see the fwk_platform_lowpower.c:

There are different APIs can be chosen according to your requirements:

void PLATFORM_EnterLowPower(void)

void PLATFORM_EnterPowerDown(void)

void PLATFORM_EnterDeepPowerDown(void)

 

Please do not hesitate to reply me if you still have any other queries.

Have a nice day~

Best regards,

Christine.

Tags (1)
0 Kudos
Reply

1,515 Views
Mohamed-Sofien
Contributor I

Hi @Christine_Li ,

Thank you for your answer,

 

For the function void PLATFORM_EnterPowerDown(void), I assume that it sets only the BLE Host into Power Down mode as mentionned in the comments inside the function.

  1. Could you please confirm or correct me if I'm wrong ?
  2. In case this function sets both the Host and Radio domain into Power Down mode, could you please highlight the instructions that concerns only the Radio domain since our goal is to enter/exit the two domains separately into low power modes ?

  3. Is there any APIs to exit the two domains from low power modes separately ?

 

Thank you for taking the time to answer my questions,

Best regards.

0 Kudos
Reply

1,491 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @Mohamed-Sofien 

Thanks for your reply.

I checked our guide: KW45_K32W1_Low_Power_Connectivity_Refernce_Design_User_guide.pdf 

In Chatper 2.1 on page 5, it mentioned that " The KW45/K32W1 has a dual-core architecture, and has two separate power domains: the main domain for the Cortex M33, and the Radio domain which comprises the Cortex M3 core and the NBU (Narrow Band Unit).The two power domains can enter or exit independently different low power modes."

So, I think KW45 supports the two power domains enter/exit low power modes independently.

But about the API implementations, I need to check internally. And at the same time, can you please also read this guide: KW45_K32W1_Low_Power_Connectivity_Refernce_Design_User_guide.pdf carefully to see whether can get more details about the information you required?

It is also a new experience about separately enter low power modes for host and Radio domain.

Sorry for the inconvenience, once I have any updates from our internal team, I will let you know.

 

Best regards,

Christine.

Tags (1)
0 Kudos
Reply

1,482 Views
Mohamed-Sofien
Contributor I

Hello @Christine_Li,

 

I will review the guide thoroughly to ensure I gather more informations.

Your prompt update about setting host and Radio domain separately into low power mode would be greatly appreciated.

 

Best regards.

0 Kudos
Reply

1,474 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @Mohamed-Sofien 

I found this parameter:  gPLATFORM_DisableNbuLowpower_d to 1: prevents CM3 (Radio CPU) to go to Low Power mode mentioned in the 3.2.3 Application configuration section on page 10 of this guide:

KW45_K32W1_Low_Power_Connectivity_Refernce_Design_User_guide.pdf

It means, you can set main domain to low power mode seperately when you set this parameter to 1.

I will try to find whether we have any special API to set Radio domain to low power mode.

Best regards,

Christine.

Tags (1)
0 Kudos
Reply

1,461 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @Mohamed-Sofien 

I confirmed with our internal team that radio domain is managed by NBU itself, and the NBU part is not visible for customer. So we can not find any API in our current SDK that let radio domain to enter low power mode.

I even searched this parameter: gPLATFORM_DisableNbuLowpower_d mentioned in my previous comment, in both lowpower_central_bm and lowpower_peripheral_bm example, I can not find this parameter. So I think it has been removed in these 2 examples. We need to update this guide according to this. I will report this typo error to our internal team to correct it to avoid more confusion to other customers.

I am so sorry about the inconvenience to you.

 

Best regards,

Christine.

Tags (1)
0 Kudos
Reply

1,425 Views
Mohamed-Sofien
Contributor I

Hi @Christine_Li,

 

Okay thanks four your support, keep me updated of any news,

 

Best regards.

0 Kudos
Reply

1,333 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @Mohamed-Sofien 

Hope below API is helpful for you as a reference to put NBU domain into Deep Power Down mode.

PLATFORM_ShutdownRadio(); //Put NBU domain in Deep Power Down.

If it does help and answered your question, please do not hesitate to accept it as a solution.

If you still have other queries, please do not hesitate to reply me.

Thanks.

Best regards,

Christine.

Tags (1)
0 Kudos
Reply

1,318 Views
Mohamed-Sofien
Contributor I

Hi @Christine_Li,

 

Thank you for your information, I'm aware of this function, it's called inside this API that I mentionned before, 

void PLATFORM_EnterDeepPowerDown(void)
{
    /* Put NBU domain in Deep Power Down */
    PLATFORM_ShutdownRadio();
}

It does solve the problem for the Deep Power Down mode but i'm still looking for APIs that enter/exit BLE radio domain into/from Deep Sleep and Power Down modes.

 

Best regards.

0 Kudos
Reply

1,302 Views
Christine_Li
NXP TechSupport
NXP TechSupport

Hi, @Mohamed-Sofien 

Thanks for your feedback.

Yes, it is inside of this API you mentioned.

And about the separately enter deep sleep and power down mode for Radio Domain, I didn't find any special API in our SDK. I think it must be integrated in our SDK and not visible for customer.

 

Best regards,

Christine.

Tags (1)
0 Kudos
Reply