LPC54628 OM13098 Wakeup from Deep Sleep/Deep Power Down

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

LPC54628 OM13098 Wakeup from Deep Sleep/Deep Power Down

947 Views
santosh1
Contributor III

Hello, 

I am trying to run SDK Example power_manager_lpc on OM13098 dev board. I am attempting to validate whether wakeup works from deep sleep or deep power down on these devices. I am at a loss on how to validate this, and am getting a creeping suspicion that deep sleep does not work on these devices. I would appreciate if this could be confirmed so that i don't need to waste my time trying to figure this out. 

Running power_manager_lpc on OM13098.

IDE - MCU Xpresso 10.3

Project imported with no change. Menu displayed on semi-host console in the IDE.  Sleep mode seems to be working ok. Power management graphing in the IDE is not working.

When i press option 2 - Deep sleep mode debugger connection is lost - as one might expect, but am not sure how i am supposed to validate whether the controller wakes up at all?

Thanks

0 Kudos
4 Replies

784 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, Santosh,

If you want to test the "Deep sleep mode", I suggest you refer to the example utick_wakeup_xip example located at:

C:\Temp\testDel\boards\lpcxpresso54018\demo_apps\utick_wakeup_xip

The example sets up the utick module, so that it can wake up the core after a delay, then have the chip into deep sleep mode. After wake up, route the CLKOUT to a pad, then toggle a LED.

The example is simple and architecture is clear.

Hope it can help you

BR

Xiangjun rong

0 Kudos

784 Views
santosh1
Contributor III

Thanks for the response - i did validate deep sleep on the test board - just used the onboard LED to validate. However i do have a followup - is there a dependency between Deep Sleep and Internal flash. If i use the exact same code on my board deep sleep wakeup does not work. The main difference i can see between the dev board and my board is that we use Internal flash for execution where as the dev board uses external flash. Since the internal flash is put in standby mode when going into deep sleep, will there be an issue when waking back up? 

0 Kudos

784 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, Santosh,

You are right, you have to set up the PDSLEEPCFG0 and PDSLEEPCFG1 so that the modules you have set up can be valid during the deep-sleep mode, after exit from the deep sleep mode, the chip can recover.

For detailed inf, pls refer to section 4.5.82 Sleep configuration register 0.

Hope it can help you

BR

XiangJun Rong

0 Kudos

784 Views
santosh1
Contributor III

Hi,

This the deep sleep exclude mask i am using:

#define EXCLUDE_FROM_DEEPSLEEP (SYSCON_PDRUNCFG_PDEN_SRAMX_MASK|SYSCON_PDRUNCFG_PDEN_SYSOSC_MASK|\
SYSCON_PDRUNCFG_PDEN_SRAM0_MASK|SYSCON_PDRUNCFG_PDEN_SRAM1_2_3_MASK| \
SYSCON_PDRUNCFG_PDEN_WDT_OSC_MASK)

I am using the Power API to test. 

My understanding was i need WDT_OSC to wakeup from utick. I am also enabling starterset registers to wakeup from utick and IO pins. 

This exclude from deepsleep works on the devboard but does not work on my board. The main difference between the two - my board is LPC54606 and runs from internal flash. I understand from the documentation that flash is not configurable in deep sleep - it just goes to standby. Do i need to do any additional configuration to ensure controller wakes up from deep sleep when running from internal flash?

Thanks

0 Kudos