Inquiry Regarding Low Power Mode API for BLE Radio of KW45

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Inquiry Regarding Low Power Mode API for BLE Radio of KW45

1,641 次查看
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 项奖励
回复
12 回复数

1,602 次查看
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.

标记 (1)
0 项奖励
回复

1,543 次查看
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 项奖励
回复

1,524 次查看
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.

标记 (1)
0 项奖励
回复

1,516 次查看
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 项奖励
回复

1,492 次查看
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.

标记 (1)
0 项奖励
回复

1,483 次查看
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 项奖励
回复

1,475 次查看
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.

标记 (1)
0 项奖励
回复

1,462 次查看
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.

标记 (1)
0 项奖励
回复

1,426 次查看
Mohamed-Sofien
Contributor I

Hi @Christine_Li,

 

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

 

Best regards.

0 项奖励
回复

1,334 次查看
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.

标记 (1)
0 项奖励
回复

1,319 次查看
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 项奖励
回复

1,303 次查看
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.

标记 (1)
0 项奖励
回复