Exit from SNVS mode

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

Exit from SNVS mode

4,861 Views
andrewkinmont
Contributor II

We are having issues with getting our custom i.MX RT1051 board to exit SNVS mode using the wakeup pin, and wondered if this is an issue that might have been seen by others.

To test this, we are using the Power Mode Switch example application from the latest SDK. When we compile it for our board, we are able to exit from SUSPEND, but not from SNVS, using the wakeup pin. We have modified the code to also allow us to test wakeup using an SRTC alarm, and this works fine, which suggests that there is some issue with recognising the wakeup pin interrupt when the board is in SNVS mode.

We have also tested this same example application on our evaluation board, and it works fine (using the wakeup pin), however, our evaluation board is an older one that has the A0 step of the silicon, whereas our custom board has A1 silicon fitted.

Has anyone tested the Power Mode Switch example application on a newer evaluation board (one that has A1 silicon fitted)? This would probably eliminate the silicon revision as a possible source of the issue that we are seeing.

Thanks,

Andrew

Labels (1)
0 Kudos
Reply
24 Replies

995 Views
GeorgeMcArrow
Contributor I

@kerryzhou 
Hello, I was wondering if you were able to resolve this issue, and if so, how did you solve it? We've encountered a very similar situation where MIMIX1051 also fails to wake up from the WAKEUP signal. In our case, the problem occurs intermittently (with a probability of about 1 in 5000). Unfortunately, we only discovered this after releasing a large number of devices. Currently, our customers are forced to travel to deployment sites and manually reboot the devices. Did you find a solution to the WAKEUP signal issue? Any insights you could share on resolving this would be greatly appreciated. Thank you.

0 Kudos
Reply

4,080 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Andrew Kinmont ,

  I have tested the newest SDK on the MIMXRT1050-EVKB board:

SDK_2.6.1_EVKB-IMXRT1050\boards\evkbimxrt1050\demo_apps\power_mode_switch\iar

I also tested the Suspend mode, this is my test result log:

CPU wakeup source 0x1...

***********************************************************
 Power Mode Switch Demo for iMXRT1052
***********************************************************

***********************************************************
CPU:             600000000 Hz
AHB:             600000000 Hz
SEMC:            75000000 Hz
IPG:             150000000 Hz
PER:             75000000 Hz
OSC:             24000000 Hz
RTC:             32768 Hz
ARMPLL:          1200000000 Hz
USB1PLL:         480000000 Hz
USB1PLLPFD0:     261818172 Hz
USB1PLLPFD1:     246857130 Hz
USB1PLLPFD2:     332307684 Hz
USB1PLLPFD3:     576000000 Hz
USB2PLL:         24000000 Hz
SYSPLL:          528000000 Hz
SYSPLLPFD0:      351999990 Hz
SYSPLLPFD1:      594000000 Hz
SYSPLLPFD2:      396000000 Hz
SYSPLLPFD3:      594000000 Hz
ENETPLL0:        24000000 Hz
ENETPLL1:        24000000 Hz
AUDIOPLL:        24000000 Hz
VIDEOPLL:        24000000 Hz
***********************************************************

Task 2 is working now
Task 1 is working now

########## Power Mode Switch Demo (build Aug 27 2019) ###########

    Core Clock = 600000000Hz 
    Power mode: Over RUN

***********************************************************
CPU:             600000000 Hz
AHB:             600000000 Hz
SEMC:            75000000 Hz
IPG:             150000000 Hz
PER:             75000000 Hz
OSC:             24000000 Hz
RTC:             32768 Hz
***********************************************************


Select the desired operation 

Press  A for enter: Over RUN       - System Over Run mode
Press  B for enter: Full RUN       - System Full Run mode
Press  C for enter: Low Speed RUN  - System Low Speed Run mode
Press  D for enter: Low Power RUN  - System Low Power Run mode
Press  E for enter: System Idle    - System Wait mode
Press  F for enter: Low Power Idle - Low Power Idle mode
Press  G for enter: Suspend        - Suspend mode
Press  H for enter: SNVS           - Shutdown the system

Waiting for power mode select...

WorkingTask 2: Transfer from Over RUN to Suspend
WorkingTask 1: Transfer from Over RUN to Suspend
Select the wake up source:
Press T for GPT - GPT Timer
Press S for switch/button SW8. 

Waiting for key press..

Switch SW8 from off to on to wake up.

CPU wakeup source 0x3...

***********************************************************
 Power Mode Switch Demo for iMXRT1052
***********************************************************

***********************************************************
CPU:             600000000 Hz
AHB:             600000000 Hz
SEMC:            75000000 Hz
IPG:             150000000 Hz
PER:             75000000 Hz
OSC:             24000000 Hz
RTC:             32768 Hz
ARMPLL:          1200000000 Hz
USB1PLL:         480000000 Hz
USB1PLLPFD0:     261818172 Hz
USB1PLLPFD1:     246857130 Hz
USB1PLLPFD2:     332307684 Hz
USB1PLLPFD3:     576000000 Hz
USB2PLL:         24000000 Hz
SYSPLL:          528000000 Hz
SYSPLLPFD0:      351999990 Hz
SYSPLLPFD1:      594000000 Hz
SYSPLLPFD2:      396000000 Hz
SYSPLLPFD3:      594000000 Hz
ENETPLL0:        24000000 Hz
ENETPLL1:        24000000 Hz
AUDIOPLL:        24000000 Hz
VIDEOPLL:        24000000 Hz
***********************************************************

Task 2 is working now
Task 1 is working now

########## Power Mode Switch Demo (build Aug 27 2019) ###########

    Core Clock = 600000000Hz 
    Power mode: Over RUN

***********************************************************
CPU:             600000000 Hz
AHB:             600000000 Hz
SEMC:            75000000 Hz
IPG:             150000000 Hz
PER:             75000000 Hz
OSC:             24000000 Hz
RTC:             32768 Hz
***********************************************************


Select the desired operation 

Press  A for enter: Over RUN       - System Over Run mode
Press  B for enter: Full RUN       - System Full Run mode
Press  C for enter: Low Speed RUN  - System Low Speed Run mode
Press  D for enter: Low Power RUN  - System Low Power Run mode
Press  E for enter: System Idle    - System Wait mode
Press  F for enter: Low Power Idle - Low Power Idle mode
Press  G for enter: Suspend        - Suspend mode
Press  H for enter: SNVS           - Shutdown the system

Waiting for power mode select...

YOu can find, when I entered the suspend mode, then press the SW8, I can wake up it successfully.

So, I can sure the MIMXRT1050-EVKB which is the A1 silicon Rev, it is working OK.

Wish it helps you!

If you still have questions about it, please kindly let me know.

Have a great day,
Kerry

 

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos
Reply

4,080 Views
andrewkinmont
Contributor II

Hi Kerry,

Thank you for testing this for me.

Our issue is with SNVS mode (option H). May I trouble you to test this and see if the system restarts when SW8 is pressed?

Thanks, and have a great day yourself!

Andrew

0 Kudos
Reply

4,080 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Andrew,

    SNVS also works on my side, this is my test result log after I input H, and press SW8.

CPU wakeup source 0x1...

***********************************************************
 Power Mode Switch Demo for iMXRT1052
***********************************************************

***********************************************************
CPU:             600000000 Hz
AHB:             600000000 Hz
SEMC:            75000000 Hz
IPG:             150000000 Hz
PER:             75000000 Hz
OSC:             24000000 Hz
RTC:             32768 Hz
ARMPLL:          1200000000 Hz
USB1PLL:         480000000 Hz
USB1PLLPFD0:     261818172 Hz
USB1PLLPFD1:     246857130 Hz
USB1PLLPFD2:     332307684 Hz
USB1PLLPFD3:     576000000 Hz
USB2PLL:         24000000 Hz
SYSPLL:          528000000 Hz
SYSPLLPFD0:      351999990 Hz
SYSPLLPFD1:      594000000 Hz
SYSPLLPFD2:      396000000 Hz
SYSPLLPFD3:      594000000 Hz
ENETPLL0:        24000000 Hz
ENETPLL1:        24000000 Hz
AUDIOPLL:        24000000 Hz
VIDEOPLL:        24000000 Hz
***********************************************************

Task 2 is working now
Task 1 is working now

########## Power Mode Switch Demo (build Aug 27 2019) ###########

    Core Clock = 600000000Hz 
    Power mode: Over RUN

***********************************************************
CPU:             600000000 Hz
AHB:             600000000 Hz
SEMC:            75000000 Hz
IPG:             150000000 Hz
PER:             75000000 Hz
OSC:             24000000 Hz
RTC:             32768 Hz
***********************************************************


Select the desired operation 

Press  A for enter: Over RUN       - System Over Run mode
Press  B for enter: Full RUN       - System Full Run mode
Press  C for enter: Low Speed RUN  - System Low Speed Run mode
Press  D for enter: Low Power RUN  - System Low Power Run mode
Press  E for enter: System Idle    - System Wait mode
Press  F for enter: Low Power Idle - Low Power Idle mode
Press  G for enter: Suspend        - Suspend mode
Press  H for enter: SNVS           - Shutdown the system

Waiting for power mode select...

WorkingTask 2: Transfer from Over RUN to SNVS
WorkingTask 1: Transfer from Over RUN to SNVS
Switch SW8 from off to on to wake up.
Now shutting down the system...

CPU wakeup source 0x1...

***********************************************************
 Power Mode Switch Demo for iMXRT1052
***********************************************************

***********************************************************
CPU:             600000000 Hz
AHB:             600000000 Hz
SEMC:            75000000 Hz
IPG:             150000000 Hz
PER:             75000000 Hz
OSC:             24000000 Hz
RTC:             32768 Hz
ARMPLL:          1200000000 Hz
USB1PLL:         480000000 Hz
USB1PLLPFD0:     261818172 Hz
USB1PLLPFD1:     246857130 Hz
USB1PLLPFD2:     332307684 Hz
USB1PLLPFD3:     576000000 Hz
USB2PLL:         24000000 Hz
SYSPLL:          528000000 Hz
SYSPLLPFD0:      351999990 Hz
SYSPLLPFD1:      594000000 Hz
SYSPLLPFD2:      396000000 Hz
SYSPLLPFD3:      594000000 Hz
ENETPLL0:        24000000 Hz
ENETPLL1:        24000000 Hz
AUDIOPLL:        24000000 Hz
VIDEOPLL:        24000000 Hz
***********************************************************

Task 2 is working now
Task 1 is working now

########## Power Mode Switch Demo (build Aug 27 2019) ###########

    Core Clock = 600000000Hz 
    Power mode: Over RUN

***********************************************************
CPU:             600000000 Hz
AHB:             600000000 Hz
SEMC:            75000000 Hz
IPG:             150000000 Hz
PER:             75000000 Hz
OSC:             24000000 Hz
RTC:             32768 Hz
***********************************************************


Select the desired operation 

Press  A for enter: Over RUN       - System Over Run mode
Press  B for enter: Full RUN       - System Full Run mode
Press  C for enter: Low Speed RUN  - System Low Speed Run mode
Press  D for enter: Low Power RUN  - System Low Power Run mode
Press  E for enter: System Idle    - System Wait mode
Press  F for enter: Low Power Idle - Low Power Idle mode
Press  G for enter: Suspend        - Suspend mode
Press  H for enter: SNVS           - Shutdown the system

Waiting for power mode select...

My test platform is MIMXRT1050-EVKB.

Wish it helps you!

If you still need my help, just let me know.

Have a great day,
Kerry

 

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos
Reply

4,080 Views
andrewkinmont
Contributor II

Hi Kerry,

Thanks for your reply. This is most puzzling, as I can only assume that there is something with our design that is stopping this from working.

Is there anything that you can suggest that would stop the board from restarting when the wakeup pin is taken low? As I mentioned in my initial post, we have been able to successfully restart using an SRTC alarm, so we know that the board can restart from SNVS mode. It just isn't doing so when we use the wakeup pin. We have been using the Power Mode Switch example application, so all of the configuration should be the same between the evaluation board and our own custom board.

One point that I doubt makes a difference, is that our board uses the RT1051 processor, not the RT1052 that is fitted to the evaluation board.

Thanks again for your support.

Andrew

0 Kudos
Reply

4,080 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Andrew Kinmont,

  Sorry for my later reply.

   I just find your updated information.

   Could you tell me your RT1051 full name, then I will help you to check it.


Have a great day,
Kerry

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos
Reply

4,080 Views
andrewkinmont
Contributor II

Hi Kerry,

Thanks for responding so quickly, and there is no apology needed.

The full part number is: MIMXRT1051CVL5B

Hopefully, you will be able to give us some more advice about this.

Have a great day yourself.

Andrew

0 Kudos
Reply

4,080 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Andrew Kinmont,

    Thanks for your updated information.

    I have checked MIMXRT1051CVL5B, I didn't find any special points about the wakeup pin with RT1052.

   Do you also use the SDK code? Because the wakeup pin need to do the pin configuration.

pastedImage_1.png

  Now, even you use the official code, you still can't make the wakeup pin works? Could you try to add an external pull up in the wakeup pin , then test it again?

Any updated information, please kindly let me know.

  

Have a great day,
Kerry

 

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos
Reply

4,080 Views
andrewkinmont
Contributor II

Hi Kerry,

We have tried testing our custom board using the code from the SDK. As I mentioned, we can use the wakeup pin to exit from SUSPEND mode, just not from SNVS mode.

While I don't have a pull-up resistor on the wakeup pin, I have checked this using an oscilloscope, and it is definitely high when we enter SNVS mode, and I can then pull it low to try and exit SNVS mode.

One thing that I have noticed is that if we test using the evaluation board by holding SW closed when we enter SNVS mode, if we release it and press it again, it does not wakeup the processor. I am certain that the wakeup pin is not low when we enter SNVS mode on our custom board, but could there be some other interrupt occurring as the power shuts down that could be stopping the processor from recognising the interrupt when the wakeup pin goes low?

I am grateful for your help so far, and I am hoping we can find some things to look at that will lead us to a solution.

Enjoy your day,

Andrew

0 Kudos
Reply

4,080 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Andrew,

   Do you also have the official MIMXRT1050-EVK or MIMXRT105-EVKB board on your side, whether the wakeup pin can wakeup the SNVS mode on your side with the official board or not?

  I will apply for some MIMXRT1051CVL5B samples, and double test the the wakeup function in SNVS mode, just make sure the chip is no difference with the MIMXRT1052 at first.

  

Have a great day,
Kerry

 

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos
Reply

4,080 Views
andrewkinmont
Contributor II

Hi Kerry,

Yes, we do have a NXP i.MX RT1050 evaluation board, but it is an older one with the A0 step processor fitted. Using the latest version of the Power Mode Switch demo application, we are able to get the processor to wakeup from SNVS mode when we press SW8.

Please note my last comment, where we able to get this to fail when we held SW8 closed as we entered SNVS mode from the console. If we then released SW8 and pressed it again, it would not wake up the processor. As I mentioned, it works fine if we enter SNVS mode without pressing SW8. This makes me wonder if there might be an interrupt already present when the processor on our application board enters SNVS mode, which might be the reason for it not working correctly.

I appreciate your checking to see if there is something with the i.MX RT1051 which is different from the i.MX RT1052 processor.

Have a great day,

Andrew

0 Kudos
Reply

4,080 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Andrew Kinmont,

   Sorry for my later reply.

  Today, I test your held SW8 function on my MIMXRT1050-EVKB board, but I didn't reproduce your problems.

Code: SDK_2.6.1_EVKB-IMXRT1050\boards\evkbimxrt1050\demo_apps\power_mode_switch_bm

 I do it follow the following steps:

1. reset the board, printf the information.

pastedImage_3.png

2. press the SW8 and hold on it.

pastedImage_4.png

3. Input "H", to enter the SNVS mode

pastedImage_5.png

pastedImage_6.png

4. release the SW8 switch

pastedImage_7.png

pastedImage_8.png

You can find when I release the SW8 button, the chip will be waked up automatically, you even don't need to press it again.

I suggest you also test it like me, associated with the power consumption and the printf information to test it.

Even from the power consumption, you also can find when you release the SW8, the chip already be waked up.

I have tested it for a lot of times on my MIMXRT1050-EVKB, it also works.

About the RT1051 chip, I still didn't get the sample, maybe need more time.


Have a great day,
Kerry

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos
Reply

4,080 Views
andrewkinmont
Contributor II

Hi Kerry,

It is my turn to apologise for taking so long to reply...

Thank you for your last response. We have confirmed your results with our own evaluation board.

I have spoken with our software developer, and I now know why we had different results with our early tests. He changed the interrupt setting on the wakeup pin from "rising edge" trigger to "low level" trigger. When the application is changed like this, it will fail to start if SW8 is pressed when we enter SNVS mode. I am sorry for the confusion about this, but I did not realise that the code had been changed.

This is what made me think that it could be some interrupt that occurs before we enter SNVS mode, which then stops the system from waking up again. Would this be a possible explanation?

We did retest the Power Mode Switch application on our custom RT1051 board, and it still does not wake up when we activate the wakeup pin, even with the interrupt set to "rising edge" trigger. As I mentioned earlier, we are able to use the pin to wakeup from SUSPEND mode, so it does appear that the pin is working fine, just not when we are trying to restart from SNVS mode.

I think it would still be good to know that you are able to get the RT1051 processor to work correctly, as this would be one more thing that could be crossed off our list of possible causes for the issue that we are seeing. Please take the time that you need to be able to test this.

Thanks again for your help, and I hope you also have a great day,

Andrew

0 Kudos
Reply

4,080 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Andrew,

   Thanks for your updated information.

    So, do you test the SDK code directly, which is not modified by your software engineer.

    Because I test that code without any modification:

   SDK_2.6.1_EVKB-IMXRT1050\boards\evkbimxrt1050\demo_apps\power_mode_switch_bm

   Please help to confirm it.

   I just get my RT1051 chip today, these days, I will test it and give you the feedback.

Best Regards,

Kerry

0 Kudos
Reply

4,080 Views
andrewkinmont
Contributor II

Hi Kerry,

Yes, we have tested the SDK code directly without modifying it. On the evaluation board, it works exactly as you have reported, but it does not work on our custom RT1051 board.

As I mentioned, we did also try modifying the code to be "active low" triggered for the wakeup pin, rather than "rising edge" triggered. On the evaluation board, this worked, but only if we did not have SW8 pressed when we entered SNVS mode. This is why I wondered whether there was an issue with having an interrupt pending when we enter SNVS mode.

I am looking forward to hearing the results of your testing with the RT1051 processor. This will help us to be sure that there is not some difference with the processor that could be the cause of our issue.

Best regards,

Andrew

0 Kudos
Reply

4,080 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Andrew Kinmont,

   I have tested the MIMXRT1051CVL5B SNVS mode wake up function, totally with the SDK code:

  SDK_2.6.1_EVKB-IMXRT1050\boards\evkbimxrt1050\demo_apps\power_mode_switch_bm

   The same test result with MIMXRT1052, so the chip should doesn't have any difference.

   My test chip is:

        MIMXRT1051CVL5B

        1N04V

        CTAU1849A

This is the test result:

pastedImage_1.png

  So, maybe still need to check the hardware side. I can make sure the RT1051 is the same as RT1052 about the SNVS wakeup module.

 

Best Regards,

Kerry

0 Kudos
Reply

4,080 Views
andrewkinmont
Contributor II

Hi Kerry,

Thank you for these latest test results. I guess we can now discount something that is specific to the RT1051 as the cause of our issue.

I will take a closer look at our hardware to see if anything stands out.

Best regards,

Andrew

0 Kudos
Reply

4,080 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Andrew,

   MIMXRT1050-EVK which on board chip is RT1052, this board SNVS is working on your side right?

   But your own board with RT1051 can't work, if you have the test condition, I think you also can change the official board with your own RT1051 chip, just check whether it is the external circuit difference.

  Do you also check the MIMXRT1050-EVK board schematic, is it the same as your own board, especially the smallest system?

  From now on, your problem should not be caused by the difference between RT1051 and RT1052.

Best regards,

Kerry

0 Kudos
Reply

4,079 Views
andrewkinmont
Contributor II

Hi Kerry,

Yes, we have had the power switch application working correctly on our MIMXRT1050-EVK on the RT1052.

The issue remains with us getting the power switch application to work on our custom board, which is based on the RT1051.

From all of your testing, I agree that there is no difference between the RT1051 and RT1052, so this does not have anything to do with the issue.

It really does appear to be something to do with the design of our custom board, so I will take a very close look at any differences. I will compare the schematics between the EVK and our custom board to see if I can find anything significant that could be the issue. We are running the processor at 3.0Volts, not 3.3Volts, but I would be surprised if that was an issue with the board exiting SNVS mode, since the power supply is not running at that point (just the SNVS power is active).

Thanks again for all of your support.

Best regards,

Andrew

0 Kudos
Reply

4,074 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Andrew Kinmont,

  Today, I also help you to check your issue with our RT hardware expert(he has designed our EVKB board).

  Now, give you these information, please double test it again on your side:

1. Test the power consumption, make sure your chip enters the SNVS mode

2. SNVS can be waked up by WAKEUP pin and ONOFF pin.

  1) WAKEUP pin need to assert for at least two 32KHZ cycles, please use the oscilloscope to test the wakeup pin wave, make sure it meets the demand.

 2) ON/OFF button, MIMXRT1050-EVKB board is SW2, please press it to 2-3 seconds, whether it can wakeup the chip SNVS or not? My side SW2 also works.

3) Please also test the PMIC_REQ_ON, when you enter the SNVS mode, PMIC_REQ_ON pin will be low, after the SNVS mode is exit, PMIC_REQ_ON pin will be high.

3. Another important point

   Please check your 32K oscillator, whether it is oscillating stably or not?

Please check my above hardware points, about the software, still use the official power_mode_switch_bm directly.

Any updated information, please kindly let me know.

Wish it helps you!


Have a great day,
Kerry

 

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

 

0 Kudos
Reply