problem with entering VLPS deep sleep mode on S32K148 micro

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

problem with entering VLPS deep sleep mode on S32K148 micro

1,087 Views
siva280386
Contributor I

Hello,

We are using S32K148 micro for our application. we are trying to enter VLPS deep-sleep mode and wakeup using GPIO pin interrupt. we believe, we are not able to enter into VLPS mode.

when we measure the current in normal operation , micro draws around 13milliamps. when we keep a breakpoint and stop the code before entering VLPS deepsleep by WFI instruction , we see around 5milli amps drawn. and when we execute the WFI instruction by the debugger single step, we still see the same 5milli amps and the VLPSA bit the PMC registers is set which confirms that the VLPS mode entry is aborted.

Below are the steps followed before giving deepsleep request ,

1. All the application component activity is completed / stopped.

2. All the Micro HW modules Ex: ADC , UART , TIMER are deinitialized by calling the NXP driver Deinit functions

3. All the port pins are moved to PIN disable mode except the on Port pin needed for pin interrupt.

4. All the Interrupt and DMA request pending flags cleared and requests disabled.

5. PMS set mode function called from NXP driver to enter VLPS mode. That takes care of disabling all clocks except SIRC , drive core with SIRC, and setting required PMC and system control bits before giving VLPS mode request.

 

we are using the standard NXP drivers downloaded from S32K DS for S32K14x series.

Based on the description of VLPSA , the mode entry will be aborted and set if any interrupt operations are pending at the time of VLPS mode request.

By stopping the code before giving WFI instruction, we have confirmed the NVIC registers , there are no pending interrupt requests in clear pending register. We have confirmed the DMA HRQ bits , there are no pending Hardware requests to DMA. Systick is also disabled , and we confirmed that there is no pending exceptions / interrupts by looking at IPSR and ICR core registers as well.

We do not understand the reason why the VLPSA is still set and why the Micro is not able to enter to VLPS mode. we are currently connected with IAR IDE and debugger setup. Based on our understanding , the VLPS mode entry still happens with debugger connected. We did try with removing debugger, that didnt help too. we are confirming that by seeing the current drawn still staying at same 5milliamps.

Any thoughts or suggestions ?

Thanks,
Siva

 

 

 

0 Kudos
4 Replies

1,044 Views
danielmartynek
NXP TechSupport
NXP TechSupport

Hi Siva,

Hard to say from this description.

Could you share the project so that I can test it on my side?

If you don't want to share it here, you can create a ticket.

 

Thanks,

Daniel

 

0 Kudos

1,042 Views
siva280386
Contributor I

Hi Daniel, 

 Current SW is integrated with Application which i cant share. May be we will try to have a sample code that simulates the same problem without our application. Meanwhile , i have raised 

  • Case: 00436836
  • Subject: problem with entering VLPS deep sleep mode on S32K148 micro

Thanks,

Siva

 

0 Kudos

1,045 Views
siva280386
Contributor I

Hi Daniel, 

    We did that... As I mentioned, we still see the same 5ms current drawn as similar to before giving VLPS mode entry request after disabling all modules like ADC , UART, SPI and I2C.

    As the description of VLPSA says, the operation is aborted as some pending interrupts at that stage of mode request. we don't see any interrupt flags or DMA requests pending though. We are performing Deinit of all modules before giving the VLPS mode request, to stop all modules operation and reset the modules.

    Is it possible that if the modules are Deinitialized using the NXP driver Deinit functions, one of the module is not acknowledging the VLPS mode request and aborting this process ?  I mean, Is it OK to perform the Deinit's, or Just do only interrupt and DMA requests before calling the VLPS Mode request function.  Clock modules disable is anyways handled by the VLPS mode entry driver function itself.

 

Thanks,
Siva

  

0 Kudos

1,060 Views
danielmartynek
NXP TechSupport
NXP TechSupport

Hello Siva,

Can you please disconnect the debugger and power-cycle the MCU?

 

BR, Daniel

0 Kudos